Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
panzer_stk::SculptMeshFactory Class Reference

#include <Panzer_STK_SculptMeshFactory.hpp>

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

Public Member Functions

 SculptMeshFactory ()
 Constructor. More...
 
 ~SculptMeshFactory ()
 Destructor. More...
 
Teuchos::RCP< STK_InterfacebuildMesh (stk::ParallelMachine parallelMach) const
 Build the mesh object. More...
 
virtual Teuchos::RCP
< STK_Interface
buildUncommitedMesh (stk::ParallelMachine parallelMach) const
 
virtual void completeMeshConstruction (STK_Interface &mesh, stk::ParallelMachine parallelMach) const
 
void setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &paramList)
 From ParameterListAcceptor. More...
 
Teuchos::RCP< const
Teuchos::ParameterList
getValidParameters () const
 From ParameterListAcceptor. More...
 
Teuchos::Tuple< std::size_t, 2 > procRankToProcTuple (std::size_t procRank) const
 what is the 2D tuple describe this processor distribution More...
 
- 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
 
- Public Member Functions inherited from Teuchos::ParameterListAcceptorDefaultBase
RCP< ParameterListgetNonconstParameterList ()
 
RCP< ParameterListunsetParameterList ()
 
RCP< const ParameterListgetParameterList () const
 

Protected Member Functions

void initializeWithDefaults ()
 
int callSculptor (stk::ParallelMachine parallelMach, char *diatom_file) const
 
int writeDiatomFile (std::string stl_path, std::string stl_filename, char *diatom_file) const
 
void buildNodes (stk::ParallelMachine parallelMach, STK_Interface &mesh) const
 
void buildMetaData (stk::ParallelMachine parallelMach, STK_Interface &mesh) const
 
void buildElements (stk::ParallelMachine parallelMach, STK_Interface &mesh) const
 
void buildBlock (stk::ParallelMachine parallelMach, STK_Interface &mesh, int block_index, int *block_id, int elem_start, int *elements, int *nodes_per_elem, int *elem_attributes, int **elm_node_linkage) const
 
std::pair< int, int > determineXElemSizeAndStart (int xBlock, unsigned int size, unsigned int rank) const
 
void addSideSets (STK_Interface &mesh) const
 
void addNodeSets (STK_Interface &mesh) const
 
const stk::mesh::Relation * getRelationByID (unsigned ID, stk::mesh::PairIterRelation edges) const
 
- Protected Member Functions inherited from Teuchos::ParameterListAcceptorDefaultBase
void setMyParamList (const RCP< ParameterList > &paramList)
 
RCP< ParameterListgetMyNonconstParamList ()
 
RCP< const ParameterListgetMyParamList () const
 

Protected Attributes

std::string stlFileName_
 
std::string stlFileDir_
 
int xInterval_
 
int yInterval_
 
int zInterval_
 
double xMin_
 
double yMin_
 
double zMin_
 
double xMax_
 
double yMax_
 
double zMax_
 
unsigned int machRank_
 
unsigned int machSize_
 
Teuchos::Tuple< std::size_t, 2 > procTuple_
 
- Protected Attributes inherited from panzer_stk::STK_MeshFactory
std::vector< Teuchos::RCP
< const PeriodicBC_MatcherBase > > 
periodicBCVec_
 
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)
 

Detailed Description

This builds a parallel mesh object. Sculpt is an all-hex meshing algorithm to handle general solids. Common geometry formats for general solids include STL, SAT, and Diatom. Major steps in Sculpt include (1) create a overlay grid on the general solid (2) remove the grid cells outside the solid (3) project the stair-step grid nodes on the boundary surface, pillow, and smooth.

Definition at line 60 of file Panzer_STK_SculptMeshFactory.hpp.

Constructor & Destructor Documentation

panzer_stk::SculptMeshFactory::SculptMeshFactory ( )

Constructor.

Definition at line 55 of file Panzer_STK_SculptMeshFactory.cpp.

panzer_stk::SculptMeshFactory::~SculptMeshFactory ( )

Destructor.

Definition at line 61 of file Panzer_STK_SculptMeshFactory.cpp.

Member Function Documentation

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

Build the mesh object.

Implements panzer_stk::STK_MeshFactory.

Definition at line 66 of file Panzer_STK_SculptMeshFactory.cpp.

Teuchos::RCP< STK_Interface > panzer_stk::SculptMeshFactory::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 84 of file Panzer_STK_SculptMeshFactory.cpp.

void panzer_stk::SculptMeshFactory::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 230 of file Panzer_STK_SculptMeshFactory.cpp.

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

From ParameterListAcceptor.

Implements Teuchos::ParameterListAcceptor.

Definition at line 249 of file Panzer_STK_SculptMeshFactory.cpp.

Teuchos::RCP< const Teuchos::ParameterList > panzer_stk::SculptMeshFactory::getValidParameters ( ) const
virtual

From ParameterListAcceptor.

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 276 of file Panzer_STK_SculptMeshFactory.cpp.

Teuchos::Tuple< std::size_t, 2 > panzer_stk::SculptMeshFactory::procRankToProcTuple ( std::size_t  procRank) const

what is the 2D tuple describe this processor distribution

Convert processor rank to a tuple.

Definition at line 606 of file Panzer_STK_SculptMeshFactory.cpp.

void panzer_stk::SculptMeshFactory::initializeWithDefaults ( )
protected

Definition at line 307 of file Panzer_STK_SculptMeshFactory.cpp.

int panzer_stk::SculptMeshFactory::callSculptor ( stk::ParallelMachine  parallelMach,
char *  diatom_file 
) const
protected

Definition at line 147 of file Panzer_STK_SculptMeshFactory.cpp.

int panzer_stk::SculptMeshFactory::writeDiatomFile ( std::string  stl_path,
std::string  stl_filename,
char *  diatom_file 
) const
protected

Definition at line 118 of file Panzer_STK_SculptMeshFactory.cpp.

void panzer_stk::SculptMeshFactory::buildNodes ( stk::ParallelMachine  parallelMach,
STK_Interface mesh 
) const
protected

Definition at line 358 of file Panzer_STK_SculptMeshFactory.cpp.

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

Definition at line 317 of file Panzer_STK_SculptMeshFactory.cpp.

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

Definition at line 384 of file Panzer_STK_SculptMeshFactory.cpp.

void panzer_stk::SculptMeshFactory::buildBlock ( stk::ParallelMachine  parallelMach,
STK_Interface mesh,
int  block_index,
int *  block_id,
int  elem_start,
int *  elements,
int *  nodes_per_elem,
int *  elem_attributes,
int **  elm_node_linkage 
) const
protected

Definition at line 416 of file Panzer_STK_SculptMeshFactory.cpp.

std::pair<int,int> panzer_stk::SculptMeshFactory::determineXElemSizeAndStart ( int  xBlock,
unsigned int  size,
unsigned int  rank 
) const
protected
void panzer_stk::SculptMeshFactory::addSideSets ( STK_Interface mesh) const
protected

Definition at line 467 of file Panzer_STK_SculptMeshFactory.cpp.

void panzer_stk::SculptMeshFactory::addNodeSets ( STK_Interface mesh) const
protected

Definition at line 549 of file Panzer_STK_SculptMeshFactory.cpp.

const stk::mesh::Relation * panzer_stk::SculptMeshFactory::getRelationByID ( unsigned  ID,
stk::mesh::PairIterRelation  edges 
) const
protected

Definition at line 456 of file Panzer_STK_SculptMeshFactory.cpp.

Member Data Documentation

std::string panzer_stk::SculptMeshFactory::stlFileName_
protected

Definition at line 101 of file Panzer_STK_SculptMeshFactory.hpp.

std::string panzer_stk::SculptMeshFactory::stlFileDir_
protected

Definition at line 101 of file Panzer_STK_SculptMeshFactory.hpp.

int panzer_stk::SculptMeshFactory::xInterval_
protected

Definition at line 102 of file Panzer_STK_SculptMeshFactory.hpp.

int panzer_stk::SculptMeshFactory::yInterval_
protected

Definition at line 102 of file Panzer_STK_SculptMeshFactory.hpp.

int panzer_stk::SculptMeshFactory::zInterval_
protected

Definition at line 102 of file Panzer_STK_SculptMeshFactory.hpp.

double panzer_stk::SculptMeshFactory::xMin_
protected

Definition at line 103 of file Panzer_STK_SculptMeshFactory.hpp.

double panzer_stk::SculptMeshFactory::yMin_
protected

Definition at line 103 of file Panzer_STK_SculptMeshFactory.hpp.

double panzer_stk::SculptMeshFactory::zMin_
protected

Definition at line 103 of file Panzer_STK_SculptMeshFactory.hpp.

double panzer_stk::SculptMeshFactory::xMax_
protected

Definition at line 104 of file Panzer_STK_SculptMeshFactory.hpp.

double panzer_stk::SculptMeshFactory::yMax_
protected

Definition at line 104 of file Panzer_STK_SculptMeshFactory.hpp.

double panzer_stk::SculptMeshFactory::zMax_
protected

Definition at line 104 of file Panzer_STK_SculptMeshFactory.hpp.

unsigned int panzer_stk::SculptMeshFactory::machRank_
mutableprotected

Definition at line 106 of file Panzer_STK_SculptMeshFactory.hpp.

unsigned int panzer_stk::SculptMeshFactory::machSize_
mutableprotected

Definition at line 106 of file Panzer_STK_SculptMeshFactory.hpp.

Teuchos::Tuple<std::size_t,2> panzer_stk::SculptMeshFactory::procTuple_
mutableprotected

Definition at line 107 of file Panzer_STK_SculptMeshFactory.hpp.


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