PanNDE
All Classes Namespaces Functions Pages
Public Member Functions | List of all members
HostData::HexMeshFactory Class Reference

#include "modules/HostData/include/HexMesh.hpp"

Inheritance diagram for HostData::HexMeshFactory:
PanNDE::MeshFactory

Public Member Functions

PanNDE::Mesh::Node makeNode (double coord[3], int64_t global_id, int32_t owner=0) override
 
PanNDE::Mesh::Cell makeCell (int32_t *nodes, int32_t Nnodes, int64_t global_id, int32_t owner=0) override
 
std::shared_ptr< PanNDE::MeshmakeManagedMesh (PanNDE::Mesh::Node *nodes, int64_t Nnodes, PanNDE::Mesh::Cell *cells, int64_t Ncells, int32_t partition=0) override
 
std::shared_ptr< PanNDE::MeshmakeManagedMesh (std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Node >> nodes, std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Cell >> cells, int32_t partition=0) override
 
PanNDE::MeshnewMesh (PanNDE::Mesh::Node *nodes, int64_t Nnodes, PanNDE::Mesh::Cell *cells, int64_t Ncells, int32_t partition=0) override
 
PanNDE::MeshnewMesh (std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Node >> nodes, std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Cell >> cells, int32_t partition=0) override
 
void deleteMesh (PanNDE::Mesh *mesh) override
 
std::shared_ptr< PanNDE::Array< std::shared_ptr< PanNDE::Mesh > > > makeManagedMeshArray () override
 
- Public Member Functions inherited from PanNDE::MeshFactory
virtual std::shared_ptr< PanNDE::MeshmakeManagedMesh (std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Node >> nodes, std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Cell >> cells, int32_t partition=0)=0
 
virtual PanNDE::MeshnewMesh (std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Node >> nodes, std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Cell >> cells, int32_t partition=0)=0
 

Detailed Description

Implements a factory class to create a HexMesh object

Member Function Documentation

◆ deleteMesh()

void HostData::HexMeshFactory::deleteMesh ( PanNDE::Mesh mesh)
inlineoverridevirtual

delete meshes created using newMesh()

Parameters
meshmesh to be deleted

Implements PanNDE::MeshFactory.

◆ makeCell()

PanNDE::Mesh::Cell HostData::HexMeshFactory::makeCell ( int32_t *  nodes,
int32_t  Nnodes,
int64_t  global_id,
int32_t  owner = 0 
)
inlineoverridevirtual

make a cell

Parameters
nodesnodal indicies which form the corners of the cell
Nnodesnumber of nodes which define the cell (e.g. 8 for hexes, 4 for tets)
global_idthe global identifier of the cell
ownerwhich mesh partition the cell belongs to

Implements PanNDE::MeshFactory.

◆ makeManagedMesh() [1/2]

std::shared_ptr<PanNDE::Mesh> HostData::HexMeshFactory::makeManagedMesh ( PanNDE::Mesh::Node nodes,
int64_t  Nnodes,
PanNDE::Mesh::Cell cells,
int64_t  Ncells,
int32_t  partition = 0 
)
inlineoverridevirtual

create a shared mesh

Parameters
nodesa C-style array (not preferred) of Node structs
Nnodesthe length of the nodes array
cellsa C-style array (not preferred) of cell structs
Ncellsthe length of the cells array
partitionthe partition identifier of the mesh to be created

Implements PanNDE::MeshFactory.

◆ makeManagedMesh() [2/2]

std::shared_ptr<PanNDE::Mesh> HostData::HexMeshFactory::makeManagedMesh ( std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Node >>  nodes,
std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Cell >>  cells,
int32_t  partition = 0 
)
inlineoverride

create a shared mesh

Parameters
nodesa PanNDE array of Node structs
cellsa PanNDE array of cell structs
partitionthe partition identifier of the mesh to be created

◆ makeManagedMeshArray()

std::shared_ptr<PanNDE::Array<std::shared_ptr<PanNDE::Mesh> > > HostData::HexMeshFactory::makeManagedMeshArray ( )
inlineoverridevirtual

create a mesh array

Implements PanNDE::MeshFactory.

◆ makeNode()

PanNDE::Mesh::Node HostData::HexMeshFactory::makeNode ( double  coord[3],
int64_t  global_id,
int32_t  owner = 0 
)
inlineoverridevirtual

make a node

Parameters
coord[3]nodal cartesian coordinates
global_idthe global identifier of the node
ownerwhich mesh partition the node belongs to

Implements PanNDE::MeshFactory.

◆ newMesh() [1/2]

PanNDE::Mesh* HostData::HexMeshFactory::newMesh ( PanNDE::Mesh::Node nodes,
int64_t  Nnodes,
PanNDE::Mesh::Cell cells,
int64_t  Ncells,
int32_t  partition = 0 
)
inlineoverridevirtual

create a mesh on a raw pointer. not recommended, call deleteMesh() if used.

Parameters
nodesa C-style array (not preferred) of Node structs
Nnodesthe length of the nodes array
cellsa C-style array (not preferred) of cell structs
Ncellsthe length of the cells array
partitionthe partition identifier of the mesh to be created

Implements PanNDE::MeshFactory.

◆ newMesh() [2/2]

PanNDE::Mesh* HostData::HexMeshFactory::newMesh ( std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Node >>  nodes,
std::shared_ptr< PanNDE::Array< PanNDE::Mesh::Cell >>  cells,
int32_t  partition = 0 
)
inlineoverride

create a mesh on a raw pointer. not recommended, call deleteMesh() if used.

Parameters
nodesa PanNDE array of Node structs
cellsa PanNDE array of cell structs
partitionthe partition identifier of the mesh to be created

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