PanNDE
All Classes Namespaces Functions Pages
Classes | Public Member Functions | List of all members
PanNDE::Mesh Class Referenceabstract

#include "modules/PanNDE/include/Mesh.hpp"

Inheritance diagram for PanNDE::Mesh:
HostData::HexMesh Stubs::PrePartitionedStubHexMesh

Classes

struct  Cell
 
struct  Node
 

Public Member Functions

virtual int32_t nodeCount ()=0
 
virtual int32_t cellCount ()=0
 
virtual int32_t partitionId ()=0
 
virtual void nodeCoordinate (int32_t node_id, double coord[3])=0
 
virtual std::shared_ptr< PanNDE::Array< double > > nodeCoordinate (int32_t node_id)=0
 
virtual void cell (int32_t cell_id, int32_t *nodes)=0
 
virtual std::shared_ptr< PanNDE::Array< int32_t > > cell (int32_t cell_id)=0
 
virtual void connectedCells (int32_t node_id, int32_t *cells)=0
 
virtual std::shared_ptr< PanNDE::Array< int32_t > > connectedCells (int32_t node_id)=0
 
virtual int64_t globalNodeId (int32_t node_id)=0
 
virtual int32_t nodeHomePartition (int32_t node_id)=0
 
virtual int64_t globalCellId (int32_t cell_id)=0
 
virtual int32_t cellHomePartition (int32_t cell_id)=0
 
virtual void copy (PanNDE::Mesh *other)=0
 
virtual void copy (std::shared_ptr< PanNDE::Mesh > other)=0
 

Detailed Description

Defines the methods required to interact with a Mesh

Member Function Documentation

◆ cell() [1/2]

virtual std::shared_ptr<PanNDE::Array<int32_t> > PanNDE::Mesh::cell ( int32_t  cell_id)
pure virtual

get the nodes which define the corners of the cell. A well constructed mesh implementation should return the node indices in a CGNS compliant winding scheme

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ cell() [2/2]

virtual void PanNDE::Mesh::cell ( int32_t  cell_id,
int32_t *  nodes 
)
pure virtual

get the nodes which define the corners of the cell. A well constructed mesh implementation should return the nodes in a CGNS compliant winding scheme

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ cellCount()

virtual int32_t PanNDE::Mesh::cellCount ( )
pure virtual

get the number of cells in the mesh

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ cellHomePartition()

virtual int32_t PanNDE::Mesh::cellHomePartition ( int32_t  cell_id)
pure virtual

get the partition which owns the cell (i.e., updates values at this cell)

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ connectedCells() [1/2]

virtual std::shared_ptr<PanNDE::Array<int32_t> > PanNDE::Mesh::connectedCells ( int32_t  node_id)
pure virtual

get the cells to which the node serves as corners. A well constructed mesh implementation should return the cell indices in a CGNS compliant winding scheme

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ connectedCells() [2/2]

virtual void PanNDE::Mesh::connectedCells ( int32_t  node_id,
int32_t *  cells 
)
pure virtual

get the cells to which the node serves as corners. A well constructed mesh implementation should return the cell indices in a CGNS compliant winding scheme

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ copy() [1/2]

virtual void PanNDE::Mesh::copy ( PanNDE::Mesh other)
pure virtual

create a copy of another mesh

Parameters
otherthe source mesh for the copy

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ copy() [2/2]

virtual void PanNDE::Mesh::copy ( std::shared_ptr< PanNDE::Mesh other)
pure virtual

create a copy of another mesh

Parameters
otherthe source mesh for the copy

◆ globalCellId()

virtual int64_t PanNDE::Mesh::globalCellId ( int32_t  cell_id)
pure virtual

get the global cell index for a given local index (for a partitioned mesh)

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ globalNodeId()

virtual int64_t PanNDE::Mesh::globalNodeId ( int32_t  node_id)
pure virtual

get the global node index for a given local index (for a partitioned mesh)

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ nodeCoordinate() [1/2]

virtual std::shared_ptr<PanNDE::Array<double> > PanNDE::Mesh::nodeCoordinate ( int32_t  node_id)
pure virtual

get the nodal coordinates

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ nodeCoordinate() [2/2]

virtual void PanNDE::Mesh::nodeCoordinate ( int32_t  node_id,
double  coord[3] 
)
pure virtual

get the nodal coordinates

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ nodeCount()

virtual int32_t PanNDE::Mesh::nodeCount ( )
pure virtual

get the number of nodes in the mesh

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ nodeHomePartition()

virtual int32_t PanNDE::Mesh::nodeHomePartition ( int32_t  node_id)
pure virtual

get the partition which owns the node (i.e., updates values at this node)

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.

◆ partitionId()

virtual int32_t PanNDE::Mesh::partitionId ( )
pure virtual

get the partition identifier for this mesh

Implemented in Stubs::PrePartitionedStubHexMesh, and HostData::HexMesh.


The documentation for this class was generated from the following file: