Panzer Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
panzer_stk::CubeHexMeshFactory Class Reference

#include <Panzer_STK_CubeHexMeshFactory.hpp>

Inheritance diagram for panzer_stk::CubeHexMeshFactory:
Inheritance graph
[legend]

Public Member Functions

 CubeHexMeshFactory ()
 Constructor.
 
virtual ~CubeHexMeshFactory ()
 Destructor.
 
Teuchos::RCP< STK_InterfacebuildMesh (stk::ParallelMachine parallelMach) const
 Build the mesh object.
 
virtual Teuchos::RCP< STK_InterfacebuildUncommitedMesh (stk::ParallelMachine parallelMach) const
 
virtual void completeMeshConstruction (STK_Interface &mesh, stk::ParallelMachine parallelMach) const
 
void setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &paramList)
 From ParameterListAcceptor.
 
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters () const
 From ParameterListAcceptor.
 
Teuchos::Tuple< std::size_t, 3 > procRankToProcTuple (std::size_t procRank) const
 what is the 3D tuple describe this processor distribution
 
- Public Member Functions inherited from panzer_stk::STK_MeshFactory
 STK_MeshFactory ()
 
void enableRebalance (bool enable, const Teuchos::RCP< const Teuchos::ParameterList > &rebalanceList=Teuchos::null)
 
void rebalance (STK_Interface &mesh) const
 
double getMeshCoord (const int nx, const double deltaX, const double x0) const
 

Protected Member Functions

void initializeWithDefaults ()
 
void buildMetaData (stk::ParallelMachine parallelMach, STK_Interface &mesh) const
 
void buildElements (stk::ParallelMachine parallelMach, STK_Interface &mesh) const
 
void buildBlock (stk::ParallelMachine machRank, int xBlock, int yBlock, int zBlock, STK_Interface &mesh) const
 
std::pair< panzer::GlobalOrdinal, panzer::GlobalOrdinal > determineXElemSizeAndStart (int xBlock, unsigned int size, unsigned int rank) const
 
std::pair< panzer::GlobalOrdinal, panzer::GlobalOrdinal > determineYElemSizeAndStart (int yBlock, unsigned int size, unsigned int rank) const
 
std::pair< panzer::GlobalOrdinal, panzer::GlobalOrdinal > determineZElemSizeAndStart (int zBlock, unsigned int size, unsigned int rank) const
 
void addSides (STK_Interface &mesh) const
 
void addSideSets (STK_Interface &mesh) const
 
void addNodeSets (STK_Interface &mesh) const
 
void addEdgeBlocks (STK_Interface &mesh) const
 
void addFaceBlocks (STK_Interface &mesh) const
 

Protected Attributes

double x0_
 
double y0_
 
double z0_
 
double xf_
 
double yf_
 
double zf_
 
int xBlocks_
 
int yBlocks_
 
int zBlocks_
 
panzer::GlobalOrdinal nXElems_
 
panzer::GlobalOrdinal nYElems_
 
panzer::GlobalOrdinal nZElems_
 
int xProcs_
 
int yProcs_
 
int zProcs_
 
unsigned int machRank_
 
unsigned int machSize_
 
bool buildInterfaceSidesets_
 
bool buildSubcells_
 
bool createEdgeBlocks_
 
bool createFaceBlocks_
 
Teuchos::Tuple< std::size_t, 3 > procTuple_
 
std::string edgeBlockName_
 
std::string faceBlockName_
 
- Protected Attributes inherited from panzer_stk::STK_MeshFactory
std::vector< Teuchos::RCP< const PeriodicBC_MatcherBase > > periodicBCVec_
 
bool useBBoxSearch_
 
bool enableRebalance_
 
Teuchos::RCP< const Teuchos::ParameterList > rebalanceList_
 

Additional Inherited Members

- Static Public Member Functions inherited from panzer_stk::STK_MeshFactory
static void parsePeriodicBCList (const Teuchos::RCP< Teuchos::ParameterList > &pl, std::vector< Teuchos::RCP< const PeriodicBC_MatcherBase > > &periodicBC, bool &useBBoxSearch)
 

Detailed Description

This builds a parallel mesh object. Note that the local IDs are ordered by going up the z, then y axis and across the X-axis (in that order). See the SquareQuad mesh factory for more information.

Definition at line 59 of file Panzer_STK_CubeHexMeshFactory.hpp.

Constructor & Destructor Documentation

◆ CubeHexMeshFactory()

panzer_stk::CubeHexMeshFactory::CubeHexMeshFactory ( )

Constructor.

Definition at line 53 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ ~CubeHexMeshFactory()

panzer_stk::CubeHexMeshFactory::~CubeHexMeshFactory ( )
virtual

Destructor.

Definition at line 59 of file Panzer_STK_CubeHexMeshFactory.cpp.

Member Function Documentation

◆ buildMesh()

Teuchos::RCP< STK_Interface > panzer_stk::CubeHexMeshFactory::buildMesh ( stk::ParallelMachine parallelMach) const
virtual

Build the mesh object.

Implements panzer_stk::STK_MeshFactory.

Definition at line 64 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ buildUncommitedMesh()

Teuchos::RCP< STK_Interface > panzer_stk::CubeHexMeshFactory::buildUncommitedMesh ( stk::ParallelMachine parallelMach) const
virtual

This builds all the meta data of the mesh. Does not call metaData->commit. Allows user to add solution fields and other pieces. The mesh can be "completed" by calling completeMeshConstruction.

Implements panzer_stk::STK_MeshFactory.

Definition at line 80 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ completeMeshConstruction()

void panzer_stk::CubeHexMeshFactory::completeMeshConstruction ( STK_Interface & mesh,
stk::ParallelMachine parallelMach ) const
virtual

Finishes building a mesh object started by buildUncommitedMesh.

Implements panzer_stk::STK_MeshFactory.

Definition at line 148 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ setParameterList()

void panzer_stk::CubeHexMeshFactory::setParameterList ( const Teuchos::RCP< Teuchos::ParameterList > & paramList)

From ParameterListAcceptor.

Definition at line 201 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ getValidParameters()

Teuchos::RCP< const Teuchos::ParameterList > panzer_stk::CubeHexMeshFactory::getValidParameters ( ) const

From ParameterListAcceptor.

Definition at line 255 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ procRankToProcTuple()

Teuchos::Tuple< std::size_t, 3 > panzer_stk::CubeHexMeshFactory::procRankToProcTuple ( std::size_t procRank) const

what is the 3D tuple describe this processor distribution

Convert processor rank to a tuple.

Definition at line 798 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ initializeWithDefaults()

void panzer_stk::CubeHexMeshFactory::initializeWithDefaults ( )
protected

Definition at line 298 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ buildMetaData()

void panzer_stk::CubeHexMeshFactory::buildMetaData ( stk::ParallelMachine parallelMach,
STK_Interface & mesh ) const
protected

Definition at line 315 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ buildElements()

void panzer_stk::CubeHexMeshFactory::buildElements ( stk::ParallelMachine parallelMach,
STK_Interface & mesh ) const
protected

Definition at line 379 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ buildBlock()

void panzer_stk::CubeHexMeshFactory::buildBlock ( stk::ParallelMachine machRank,
int xBlock,
int yBlock,
int zBlock,
STK_Interface & mesh ) const
protected

Definition at line 393 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ determineXElemSizeAndStart()

std::pair< panzer::GlobalOrdinal, panzer::GlobalOrdinal > panzer_stk::CubeHexMeshFactory::determineXElemSizeAndStart ( int xBlock,
unsigned int size,
unsigned int rank ) const
protected

Definition at line 456 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ determineYElemSizeAndStart()

std::pair< panzer::GlobalOrdinal, panzer::GlobalOrdinal > panzer_stk::CubeHexMeshFactory::determineYElemSizeAndStart ( int yBlock,
unsigned int size,
unsigned int rank ) const
protected

Definition at line 479 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ determineZElemSizeAndStart()

std::pair< panzer::GlobalOrdinal, panzer::GlobalOrdinal > panzer_stk::CubeHexMeshFactory::determineZElemSizeAndStart ( int zBlock,
unsigned int size,
unsigned int rank ) const
protected

Definition at line 505 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ addSides()

void panzer_stk::CubeHexMeshFactory::addSides ( STK_Interface & mesh) const
protected

Definition at line 531 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ addSideSets()

void panzer_stk::CubeHexMeshFactory::addSideSets ( STK_Interface & mesh) const
protected

Definition at line 599 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ addNodeSets()

void panzer_stk::CubeHexMeshFactory::addNodeSets ( STK_Interface & mesh) const
protected

Definition at line 751 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ addEdgeBlocks()

void panzer_stk::CubeHexMeshFactory::addEdgeBlocks ( STK_Interface & mesh) const
protected

Definition at line 767 of file Panzer_STK_CubeHexMeshFactory.cpp.

◆ addFaceBlocks()

void panzer_stk::CubeHexMeshFactory::addFaceBlocks ( STK_Interface & mesh) const
protected

Definition at line 783 of file Panzer_STK_CubeHexMeshFactory.cpp.

Member Data Documentation

◆ x0_

double panzer_stk::CubeHexMeshFactory::x0_
protected

Definition at line 99 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ y0_

double panzer_stk::CubeHexMeshFactory::y0_
protected

Definition at line 99 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ z0_

double panzer_stk::CubeHexMeshFactory::z0_
protected

Definition at line 99 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ xf_

double panzer_stk::CubeHexMeshFactory::xf_
protected

Definition at line 100 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ yf_

double panzer_stk::CubeHexMeshFactory::yf_
protected

Definition at line 100 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ zf_

double panzer_stk::CubeHexMeshFactory::zf_
protected

Definition at line 100 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ xBlocks_

int panzer_stk::CubeHexMeshFactory::xBlocks_
protected

Definition at line 102 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ yBlocks_

int panzer_stk::CubeHexMeshFactory::yBlocks_
protected

Definition at line 102 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ zBlocks_

int panzer_stk::CubeHexMeshFactory::zBlocks_
protected

Definition at line 102 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ nXElems_

panzer::GlobalOrdinal panzer_stk::CubeHexMeshFactory::nXElems_
protected

Definition at line 104 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ nYElems_

panzer::GlobalOrdinal panzer_stk::CubeHexMeshFactory::nYElems_
protected

Definition at line 104 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ nZElems_

panzer::GlobalOrdinal panzer_stk::CubeHexMeshFactory::nZElems_
protected

Definition at line 104 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ xProcs_

int panzer_stk::CubeHexMeshFactory::xProcs_
mutableprotected

Definition at line 106 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ yProcs_

int panzer_stk::CubeHexMeshFactory::yProcs_
protected

Definition at line 106 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ zProcs_

int panzer_stk::CubeHexMeshFactory::zProcs_
protected

Definition at line 106 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ machRank_

unsigned int panzer_stk::CubeHexMeshFactory::machRank_
mutableprotected

Definition at line 108 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ machSize_

unsigned int panzer_stk::CubeHexMeshFactory::machSize_
protected

Definition at line 108 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ buildInterfaceSidesets_

bool panzer_stk::CubeHexMeshFactory::buildInterfaceSidesets_
protected

Definition at line 110 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ buildSubcells_

bool panzer_stk::CubeHexMeshFactory::buildSubcells_
protected

Definition at line 111 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ createEdgeBlocks_

bool panzer_stk::CubeHexMeshFactory::createEdgeBlocks_
protected

Definition at line 112 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ createFaceBlocks_

bool panzer_stk::CubeHexMeshFactory::createFaceBlocks_
protected

Definition at line 113 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ procTuple_

Teuchos::Tuple<std::size_t,3> panzer_stk::CubeHexMeshFactory::procTuple_
mutableprotected

Definition at line 115 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ edgeBlockName_

std::string panzer_stk::CubeHexMeshFactory::edgeBlockName_
protected

Definition at line 117 of file Panzer_STK_CubeHexMeshFactory.hpp.

◆ faceBlockName_

std::string panzer_stk::CubeHexMeshFactory::faceBlockName_
protected

Definition at line 118 of file Panzer_STK_CubeHexMeshFactory.hpp.


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