Panzer
Version of the Day
|
#include <Panzer_STK_Interface.hpp>
Classes | |
struct | EdgeBlockException |
struct | ElementBlockException |
struct | FaceBlockException |
class | LocalIdCompare |
struct | SidesetException |
Public Types | |
typedef double | ProcIdData |
typedef stk::mesh::Field< double > | SolutionFieldType |
typedef stk::mesh::Field< double, stk::mesh::Cartesian > | VectorFieldType |
typedef stk::mesh::Field< ProcIdData > | ProcIdFieldType |
Public Member Functions | |
STK_Interface () | |
STK_Interface (unsigned dim) | |
STK_Interface (Teuchos::RCP< stk::mesh::MetaData > metaData) | |
void | addElementBlock (const std::string &name, const CellTopologyData *ctData) |
void | addEdgeBlock (const std::string &name, const CellTopologyData *ctData) |
void | addFaceBlock (const std::string &name, const CellTopologyData *ctData) |
void | addSideset (const std::string &name, const CellTopologyData *ctData) |
void | addNodeset (const std::string &name) |
void | addSolutionField (const std::string &fieldName, const std::string &blockId) |
void | addCellField (const std::string &fieldName, const std::string &blockId) |
void | addEdgeField (const std::string &fieldName, const std::string &blockId) |
void | addFaceField (const std::string &fieldName, const std::string &blockId) |
void | addMeshCoordFields (const std::string &blockId, const std::vector< std::string > &coordField, const std::string &dispPrefix) |
void | addInformationRecords (const std::vector< std::string > &info_records) |
void | initialize (stk::ParallelMachine parallelMach, bool setupIO=true, const bool buildRefinementSupport=false) |
void | instantiateBulkData (stk::ParallelMachine parallelMach) |
void | beginModification () |
void | endModification () |
void | addNode (stk::mesh::EntityId gid, const std::vector< double > &coord) |
void | addElement (const Teuchos::RCP< ElementDescriptor > &ed, stk::mesh::Part *block) |
void | addEdges () |
void | addFaces () |
void | addEntityToSideset (stk::mesh::Entity entity, stk::mesh::Part *sideset) |
void | addEntityToNodeset (stk::mesh::Entity entity, stk::mesh::Part *nodeset) |
void | addEntityToEdgeBlock (stk::mesh::Entity entity, stk::mesh::Part *edgeblock) |
void | addEntitiesToEdgeBlock (std::vector< stk::mesh::Entity > entities, stk::mesh::Part *edgeblock) |
void | addEntityToFaceBlock (stk::mesh::Entity entity, stk::mesh::Part *faceblock) |
void | addEntitiesToFaceBlock (std::vector< stk::mesh::Entity > entities, stk::mesh::Part *faceblock) |
const VectorFieldType & | getCoordinatesField () const |
const VectorFieldType & | getEdgesField () const |
const VectorFieldType & | getFacesField () const |
const double * | getNodeCoordinates (stk::mesh::EntityId nodeId) const |
const double * | getNodeCoordinates (stk::mesh::Entity node) const |
void | getSubcellIndices (unsigned entityRank, stk::mesh::EntityId elementId, std::vector< stk::mesh::EntityId > &subcellIds) const |
void | getMyElements (std::vector< stk::mesh::Entity > &elements) const |
void | getMyElements (const std::string &blockID, std::vector< stk::mesh::Entity > &elements) const |
void | getNeighborElements (std::vector< stk::mesh::Entity > &elements) const |
void | getNeighborElements (const std::string &blockID, std::vector< stk::mesh::Entity > &elements) const |
void | getMyEdges (std::vector< stk::mesh::Entity > &edges) const |
void | getMyEdges (const std::string &edgeBlockName, std::vector< stk::mesh::Entity > &edges) const |
void | getMyEdges (const std::string &edgeBlockName, const std::string &blockName, std::vector< stk::mesh::Entity > &edges) const |
void | getAllEdges (const std::string &edgeBlockName, std::vector< stk::mesh::Entity > &edges) const |
void | getAllEdges (const std::string &edgeBlockName, const std::string &blockName, std::vector< stk::mesh::Entity > &edges) const |
void | getMyFaces (std::vector< stk::mesh::Entity > &faces) const |
void | getMyFaces (const std::string &faceBlockName, std::vector< stk::mesh::Entity > &faces) const |
void | getMyFaces (const std::string &faceBlockName, const std::string &blockName, std::vector< stk::mesh::Entity > &faces) const |
void | getAllFaces (const std::string &faceBlockName, std::vector< stk::mesh::Entity > &faces) const |
void | getAllFaces (const std::string &faceBlockName, const std::string &blockName, std::vector< stk::mesh::Entity > &faces) const |
void | getMySides (const std::string &sideName, std::vector< stk::mesh::Entity > &sides) const |
void | getMySides (const std::string &sideName, const std::string &blockName, std::vector< stk::mesh::Entity > &sides) const |
void | getAllSides (const std::string &sideName, std::vector< stk::mesh::Entity > &sides) const |
void | getAllSides (const std::string &sideName, const std::string &blockName, std::vector< stk::mesh::Entity > &sides) const |
void | getMyNodes (const std::string &sideName, const std::string &blockName, std::vector< stk::mesh::Entity > &nodes) const |
stk::mesh::Entity | findConnectivityById (stk::mesh::Entity src, stk::mesh::EntityRank tgt_rank, unsigned rel_id) const |
void | writeToExodus (const std::string &filename, const bool append=false) |
Write this mesh and associated fields to the given output file. More... | |
void | setupExodusFile (const std::string &filename, const bool append=false, const bool append_after_restart_time=false, const double restart_time=0.0) |
Set up an output Exodus file for writing results. More... | |
void | writeToExodus (double timestep) |
Write this mesh and associated fields at the given timestep . More... | |
void | addGlobalToExodus (const std::string &key, const int &value) |
Add an int global variable to the information to be written to the Exodus output file. More... | |
void | addGlobalToExodus (const std::string &key, const double &value) |
Add a double global variable to the information to be written to the Exodus output file. More... | |
void | addGlobalToExodus (const std::string &key, const std::vector< int > &value) |
Add a std::vector<int> global variable to the information to be written to the Exodus output file. More... | |
void | addGlobalToExodus (const std::string &key, const std::vector< double > &value) |
Add a std::vector<double> global variable to the information to be written to the Exodus output file. More... | |
Teuchos::RCP< const Teuchos::Comm< int > > | getComm () const |
get the comm associated with this mesh More... | |
Teuchos::RCP< stk::mesh::BulkData > | getBulkData () const |
Teuchos::RCP< stk::mesh::MetaData > | getMetaData () const |
bool | isWritable () const |
bool | isModifiable () const |
unsigned | getDimension () const |
get the dimension More... | |
std::size_t | getNumElementBlocks () const |
get the block count More... | |
void | getElementBlockNames (std::vector< std::string > &names) const |
void | getSidesetNames (std::vector< std::string > &name) const |
void | getNodesetNames (std::vector< std::string > &name) const |
void | getEdgeBlockNames (std::vector< std::string > &names) const |
void | getFaceBlockNames (std::vector< std::string > &names) const |
stk::mesh::Part * | getOwnedPart () const |
Get a pointer to the locally owned part. More... | |
stk::mesh::Part * | getElementBlockPart (const std::string &name) const |
get the block part More... | |
stk::mesh::Part * | getEdgeBlock (const std::string &name) const |
get the block part More... | |
stk::mesh::Part * | getFaceBlock (const std::string &name) const |
get the block part More... | |
std::size_t | getNumSidesets () const |
get the side set count More... | |
stk::mesh::Part * | getSideset (const std::string &name) const |
std::size_t | getNumNodesets () const |
get the side set count More... | |
stk::mesh::Part * | getNodeset (const std::string &name) const |
std::size_t | getEntityCounts (unsigned entityRank) const |
get the global counts for the entity of specified rank More... | |
stk::mesh::EntityId | getMaxEntityId (unsigned entityRank) const |
get max entity ID of type entityRank More... | |
void | getElementsSharingNode (stk::mesh::EntityId nodeId, std::vector< stk::mesh::Entity > &elements) const |
get a set of elements sharing a single node More... | |
void | getNodeIdsForElement (stk::mesh::Entity element, std::vector< stk::mesh::EntityId > &nodeIds) const |
get a list of node ids for nodes connected to an element More... | |
void | getOwnedElementsSharingNode (stk::mesh::Entity node, std::vector< stk::mesh::Entity > &elements, std::vector< int > &relIds) const |
void | getOwnedElementsSharingNode (stk::mesh::EntityId nodeId, std::vector< stk::mesh::Entity > &elements, std::vector< int > &relIds, unsigned int matchType) const |
void | getElementsSharingNodes (const std::vector< stk::mesh::EntityId > nodeId, std::vector< stk::mesh::Entity > &elements) const |
get a set of elements sharing multiple nodes More... | |
void | buildSubcells () |
force the mesh to build subcells: edges and faces More... | |
std::size_t | elementLocalId (stk::mesh::Entity elmt) const |
std::size_t | elementLocalId (stk::mesh::EntityId gid) const |
stk::mesh::EntityId | elementGlobalId (std::size_t lid) const |
stk::mesh::EntityId | elementGlobalId (stk::mesh::Entity elmt) const |
bool | isEdgeLocal (stk::mesh::Entity edge) const |
bool | isEdgeLocal (stk::mesh::EntityId gid) const |
std::size_t | edgeLocalId (stk::mesh::Entity elmt) const |
std::size_t | edgeLocalId (stk::mesh::EntityId gid) const |
stk::mesh::EntityId | edgeGlobalId (std::size_t lid) const |
stk::mesh::EntityId | edgeGlobalId (stk::mesh::Entity edge) const |
bool | isFaceLocal (stk::mesh::Entity face) const |
bool | isFaceLocal (stk::mesh::EntityId gid) const |
std::size_t | faceLocalId (stk::mesh::Entity elmt) const |
std::size_t | faceLocalId (stk::mesh::EntityId gid) const |
stk::mesh::EntityId | faceGlobalId (std::size_t lid) const |
stk::mesh::EntityId | faceGlobalId (stk::mesh::Entity face) const |
unsigned | entityOwnerRank (stk::mesh::Entity entity) const |
bool | isValid (stk::mesh::Entity entity) const |
std::string | containingBlockId (stk::mesh::Entity elmt) const |
stk::mesh::Field< double > * | getSolutionField (const std::string &fieldName, const std::string &blockId) const |
stk::mesh::Field< double > * | getCellField (const std::string &fieldName, const std::string &blockId) const |
stk::mesh::Field< double > * | getEdgeField (const std::string &fieldName, const std::string &blockId) const |
stk::mesh::Field< double > * | getFaceField (const std::string &fieldName, const std::string &blockId) const |
ProcIdFieldType * | getProcessorIdField () |
bool | isInitialized () const |
Has initialize been called on this mesh object? More... | |
Teuchos::RCP< const std::vector< stk::mesh::Entity > > | getElementsOrderedByLID () const |
template<typename ArrayT > | |
void | setSolutionFieldData (const std::string &fieldName, const std::string &blockId, const std::vector< std::size_t > &localElementIds, const ArrayT &solutionValues, double scaleValue=1.0) |
template<typename ArrayT > | |
void | getSolutionFieldData (const std::string &fieldName, const std::string &blockId, const std::vector< std::size_t > &localElementIds, ArrayT &solutionValues) const |
template<typename ArrayT > | |
void | setCellFieldData (const std::string &fieldName, const std::string &blockId, const std::vector< std::size_t > &localElementIds, const ArrayT &solutionValues, double scaleValue=1.0) |
Teuchos::RCP< const std::vector< stk::mesh::Entity > > | getEdgesOrderedByLID () const |
Teuchos::RCP< const std::vector< stk::mesh::Entity > > | getFacesOrderedByLID () const |
template<typename ArrayT > | |
void | setEdgeFieldData (const std::string &fieldName, const std::string &blockId, const std::vector< std::size_t > &localEdgeIds, const ArrayT &edgeValues, double scaleValue=1.0) |
template<typename ArrayT > | |
void | setFaceFieldData (const std::string &fieldName, const std::string &blockId, const std::vector< std::size_t > &localFaceIds, const ArrayT &faceValues, double scaleValue=1.0) |
template<typename ArrayT > | |
void | getElementVertices (const std::vector< std::size_t > &localIds, ArrayT &vertices) const |
template<typename ArrayT > | |
void | getElementVertices (const std::vector< stk::mesh::Entity > &elements, ArrayT &vertices) const |
template<typename ArrayT > | |
void | getElementVertices (const std::vector< std::size_t > &localIds, const std::string &eBlock, ArrayT &vertices) const |
template<typename ArrayT > | |
void | getElementVertices (const std::vector< stk::mesh::Entity > &elements, const std::string &eBlock, ArrayT &vertices) const |
template<typename ArrayT > | |
void | getElementVerticesNoResize (const std::vector< std::size_t > &localIds, ArrayT &vertices) const |
template<typename ArrayT > | |
void | getElementVerticesNoResize (const std::vector< stk::mesh::Entity > &elements, ArrayT &vertices) const |
template<typename ArrayT > | |
void | getElementVerticesNoResize (const std::vector< std::size_t > &localIds, const std::string &eBlock, ArrayT &vertices) const |
template<typename ArrayT > | |
void | getElementVerticesNoResize (const std::vector< stk::mesh::Entity > &elements, const std::string &eBlock, ArrayT &vertices) const |
stk::mesh::EntityRank | getElementRank () const |
stk::mesh::EntityRank | getSideRank () const |
stk::mesh::EntityRank | getFaceRank () const |
stk::mesh::EntityRank | getEdgeRank () const |
stk::mesh::EntityRank | getNodeRank () const |
void | initializeFromMetaData () |
void | buildLocalElementIDs () |
void | buildLocalEdgeIDs () |
void | buildLocalFaceIDs () |
const std::vector< Teuchos::RCP< const PeriodicBC_MatcherBase > > & | getPeriodicBCVector () const |
std::vector< Teuchos::RCP< const PeriodicBC_MatcherBase > > & | getPeriodicBCVector () |
void | addPeriodicBC (const Teuchos::RCP< const PeriodicBC_MatcherBase > &bc) |
void | addPeriodicBCs (const std::vector< Teuchos::RCP< const PeriodicBC_MatcherBase > > &bc_vec) |
std::pair< Teuchos::RCP< std::vector< std::pair< std::size_t, std::size_t > > >, Teuchos::RCP< std::vector< unsigned int > > > | getPeriodicNodePairing () const |
bool | validBlockId (const std::string &blockId) const |
void | print (std::ostream &os) const |
void | printMetaData (std::ostream &os) const |
Teuchos::RCP< const shards::CellTopology > | getCellTopology (const std::string &eBlock) const |
double | getCurrentStateTime () const |
double | getInitialStateTime () const |
void | setInitialStateTime (double value) |
void | rebalance (const Teuchos::ParameterList ¶ms) |
void | setBlockWeight (const std::string &blockId, double weight) |
void | setUseFieldCoordinates (bool useFieldCoordinates) |
bool | getUseFieldCoordinates () const |
void | setUseLowerCaseForIO (bool useLowerCase) |
bool | getUseLowerCaseForIO () const |
template<typename ArrayT > | |
void | getElementVertices_FromField (const std::vector< stk::mesh::Entity > &elements, const std::string &eBlock, ArrayT &vertices) const |
template<typename ArrayT > | |
void | getElementVertices_FromFieldNoResize (const std::vector< stk::mesh::Entity > &elements, const std::string &eBlock, ArrayT &vertices) const |
template<typename ArrayT > | |
void | getElementVertices_FromCoords (const std::vector< stk::mesh::Entity > &elements, ArrayT &vertices) const |
template<typename ArrayT > | |
void | getElementVertices_FromCoordsNoResize (const std::vector< stk::mesh::Entity > &elements, ArrayT &vertices) const |
void | refineMesh (const int numberOfLevels, const bool deleteParentElements) |
Static Public Attributes | |
static const std::string | coordsString = "coordinates" |
static const std::string | nodesString = "nodes" |
static const std::string | edgesString = "edges" |
static const std::string | edgeBlockString = "edge_block" |
static const std::string | faceBlockString = "face_block" |
static const std::string | facesString = "faces" |
Protected Member Functions | |
void | buildEntityCounts () |
void | buildMaxEntityIds () |
void | initializeFieldsInSTK (const std::map< std::pair< std::string, std::string >, SolutionFieldType *> &nameToField, bool setupIO) |
Teuchos::RCP< Teuchos::MpiComm< int > > | getSafeCommunicator (stk::ParallelMachine parallelMach) const |
void | applyElementLoadBalanceWeights () |
bool | isMeshCoordField (const std::string &eBlock, const std::string &fieldName, int &axis) const |
template<typename ArrayT > | |
void | setDispFieldData (const std::string &fieldName, const std::string &blockId, int axis, const std::vector< std::size_t > &localElementIds, const ArrayT &solutionValues) |
Protected Attributes | |
std::vector< Teuchos::RCP< const PeriodicBC_MatcherBase > > | periodicBCs_ |
Teuchos::RCP< stk::mesh::MetaData > | metaData_ |
Teuchos::RCP< stk::mesh::BulkData > | bulkData_ |
std::map< std::string, stk::mesh::Part * > | elementBlocks_ |
std::map< std::string, stk::mesh::Part * > | sidesets_ |
std::map< std::string, stk::mesh::Part * > | nodesets_ |
std::map< std::string, stk::mesh::Part * > | edgeBlocks_ |
std::map< std::string, stk::mesh::Part * > | faceBlocks_ |
std::map< std::string, Teuchos::RCP< shards::CellTopology > > | elementBlockCT_ |
std::map< std::string, Teuchos::RCP< shards::CellTopology > > | edgeBlockCT_ |
std::map< std::string, Teuchos::RCP< shards::CellTopology > > | faceBlockCT_ |
stk::mesh::Part * | nodesPart_ |
std::vector< stk::mesh::Part * > | nodesPartVec_ |
stk::mesh::Part * | edgesPart_ |
std::vector< stk::mesh::Part * > | edgesPartVec_ |
stk::mesh::Part * | facesPart_ |
std::vector< stk::mesh::Part * > | facesPartVec_ |
VectorFieldType * | coordinatesField_ |
VectorFieldType * | edgesField_ |
VectorFieldType * | facesField_ |
ProcIdFieldType * | processorIdField_ |
SolutionFieldType * | loadBalField_ |
std::map< std::pair< std::string, std::string >, SolutionFieldType * > | fieldNameToSolution_ |
std::map< std::pair< std::string, std::string >, SolutionFieldType * > | fieldNameToCellField_ |
std::map< std::pair< std::string, std::string >, SolutionFieldType * > | fieldNameToEdgeField_ |
std::map< std::pair< std::string, std::string >, SolutionFieldType * > | fieldNameToFaceField_ |
std::set< std::string > | informationRecords_ |
unsigned | dimension_ |
bool | initialized_ |
std::vector< std::size_t > | entityCounts_ |
std::vector< stk::mesh::EntityId > | maxEntityId_ |
unsigned | procRank_ |
std::size_t | currentLocalId_ |
Teuchos::RCP< Teuchos::MpiComm< int > > | mpiComm_ |
double | initialStateTime_ |
double | currentStateTime_ |
Teuchos::RCP< std::vector< stk::mesh::Entity > > | orderedElementVector_ |
Teuchos::RCP< std::vector< stk::mesh::Entity > > | orderedEdgeVector_ |
Teuchos::RCP< std::vector< stk::mesh::Entity > > | orderedFaceVector_ |
std::map< std::string, double > | blockWeights_ |
std::unordered_map< stk::mesh::EntityId, std::size_t > | localIDHash_ |
std::unordered_map< stk::mesh::EntityId, std::size_t > | localEdgeIDHash_ |
std::unordered_map< stk::mesh::EntityId, std::size_t > | localFaceIDHash_ |
std::map< std::string, std::vector< std::string > > | meshCoordFields_ |
std::map< std::string, std::vector< std::string > > | meshDispFields_ |
bool | useFieldCoordinates_ |
bool | useLowerCase_ |
Definition at line 104 of file Panzer_STK_Interface.hpp.
typedef double panzer_stk::STK_Interface::ProcIdData |
Definition at line 106 of file Panzer_STK_Interface.hpp.
typedef stk::mesh::Field<double> panzer_stk::STK_Interface::SolutionFieldType |
Definition at line 107 of file Panzer_STK_Interface.hpp.
typedef stk::mesh::Field<double,stk::mesh::Cartesian> panzer_stk::STK_Interface::VectorFieldType |
Definition at line 108 of file Panzer_STK_Interface.hpp.
typedef stk::mesh::Field<ProcIdData> panzer_stk::STK_Interface::ProcIdFieldType |
Definition at line 109 of file Panzer_STK_Interface.hpp.
panzer_stk::STK_Interface::STK_Interface | ( | ) |
Definition at line 106 of file Panzer_STK_Interface.cpp.
panzer_stk::STK_Interface::STK_Interface | ( | unsigned | dim | ) |
Default constructor
Definition at line 118 of file Panzer_STK_Interface.cpp.
panzer_stk::STK_Interface::STK_Interface | ( | Teuchos::RCP< stk::mesh::MetaData > | metaData | ) |
Definition at line 112 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addElementBlock | ( | const std::string & | name, |
const CellTopologyData * | ctData | ||
) |
Add an element block with a string name
Definition at line 1608 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addEdgeBlock | ( | const std::string & | name, |
const CellTopologyData * | ctData | ||
) |
Add an edge block with a string name
Definition at line 1639 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addFaceBlock | ( | const std::string & | name, |
const CellTopologyData * | ctData | ||
) |
Add a face block with a string name
Definition at line 1670 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addSideset | ( | const std::string & | name, |
const CellTopologyData * | ctData | ||
) |
Add a side set with a string name
Definition at line 129 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addNodeset | ( | const std::string & | name | ) |
Add a node set with a string name
Definition at line 141 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addSolutionField | ( | const std::string & | fieldName, |
const std::string & | blockId | ||
) |
Add a solution field
Definition at line 155 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addCellField | ( | const std::string & | fieldName, |
const std::string & | blockId | ||
) |
Add a solution field
Definition at line 175 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addEdgeField | ( | const std::string & | fieldName, |
const std::string & | blockId | ||
) |
Add an edge field
Definition at line 196 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addFaceField | ( | const std::string & | fieldName, |
const std::string & | blockId | ||
) |
Add a face field
Definition at line 218 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addMeshCoordFields | ( | const std::string & | blockId, |
const std::vector< std::string > & | coordField, | ||
const std::string & | dispPrefix | ||
) |
Add a solution field for coordinates with a particular prefix, force it to be outputed as a to be mesh displacement field. This is really only relevant for I/O and how the field is stored internally in the mesh.
[in] | blockId | Element block to use |
[in] | coordPrefix | Prefix for solution coordinate field (assumes using "X","Y","Z" as postfix) |
[in] | dispPrefix | Prefix for displacment (output) field |
Definition at line 240 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addInformationRecords | ( | const std::vector< std::string > & | info_records | ) |
Add a vector of strings to the Information Records block. Each string will be it's own record. The info records will be deduped before they are added to IOSS.
Definition at line 284 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::initialize | ( | stk::ParallelMachine | parallelMach, |
bool | setupIO = true , |
||
const bool | buildRefinementSupport = false |
||
) |
Initialize the mesh with the current dimension This also calls commit on the meta data causing it to be frozen. Information about elements blocks has to be commited before this. If parallel machine has already been specified through instantiateBulkData
that communicator is used. Otherwise a new copy is constructed and will be used through out this mesh object's lifetime.
[in] | parallelMach | Communicator |
[in] | setupIO | If set to true and IOSS is enabled, the output mesh will be initialized. |
[in] | buildRefinementSupport | If true, build percept uniform refinement objects. |
Definition at line 289 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::instantiateBulkData | ( | stk::ParallelMachine | parallelMach | ) |
Build a bulk data object but don't do anything with it. If parallel machine has already been specified through initialize
that communicator is used. Otherwise a new copy is constructed and will be used by default throughout the lifetime of this object.
Definition at line 422 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::beginModification | ( | ) |
Put the bulk data manager in modification mode.
Definition at line 431 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::endModification | ( | ) |
Take the bulk data manager out of modification mode.
Definition at line 439 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addNode | ( | stk::mesh::EntityId | gid, |
const std::vector< double > & | coord | ||
) |
Add a node to the mesh with a specific set of coordinates to the mesh.
coord.size()==getDimension()
isModifiable()==true
Definition at line 495 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addElement | ( | const Teuchos::RCP< ElementDescriptor > & | ed, |
stk::mesh::Part * | block | ||
) |
Definition at line 559 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addEdges | ( | ) |
Definition at line 582 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addFaces | ( | ) |
Definition at line 610 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addEntityToSideset | ( | stk::mesh::Entity | entity, |
stk::mesh::Part * | sideset | ||
) |
Adds an entity to a specified side set.
Definition at line 513 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addEntityToNodeset | ( | stk::mesh::Entity | entity, |
stk::mesh::Part * | nodeset | ||
) |
Adds an entity to a specified node set.
Definition at line 521 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addEntityToEdgeBlock | ( | stk::mesh::Entity | entity, |
stk::mesh::Part * | edgeblock | ||
) |
Adds an entity to a specified edge block.
Definition at line 529 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addEntitiesToEdgeBlock | ( | std::vector< stk::mesh::Entity > | entities, |
stk::mesh::Part * | edgeblock | ||
) |
Adds a vector of entities to a specified edge block.
Definition at line 536 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addEntityToFaceBlock | ( | stk::mesh::Entity | entity, |
stk::mesh::Part * | faceblock | ||
) |
Adds an entity to a specified face block.
Definition at line 544 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addEntitiesToFaceBlock | ( | std::vector< stk::mesh::Entity > | entities, |
stk::mesh::Part * | faceblock | ||
) |
Adds a vector of entities to a specified face block.
Definition at line 551 of file Panzer_STK_Interface.cpp.
|
inline |
Grab the coordinates field
Definition at line 263 of file Panzer_STK_Interface.hpp.
|
inline |
Grab the edges field
Definition at line 268 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 271 of file Panzer_STK_Interface.hpp.
const double * panzer_stk::STK_Interface::getNodeCoordinates | ( | stk::mesh::EntityId | nodeId | ) | const |
Look up a global node and get the coordinate.
Definition at line 1111 of file Panzer_STK_Interface.cpp.
const double * panzer_stk::STK_Interface::getNodeCoordinates | ( | stk::mesh::Entity | node | ) | const |
Look up a global node and get the coordinate.
Definition at line 1117 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getSubcellIndices | ( | unsigned | entityRank, |
stk::mesh::EntityId | elementId, | ||
std::vector< stk::mesh::EntityId > & | subcellIds | ||
) | const |
Get subcell global IDs
Definition at line 1122 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMyElements | ( | std::vector< stk::mesh::Entity > & | elements | ) | const |
Get a vector of elements owned by this processor
Definition at line 1143 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMyElements | ( | const std::string & | blockID, |
std::vector< stk::mesh::Entity > & | elements | ||
) | const |
Get a vector of elements owned by this processor on a particular block ID
Definition at line 1153 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getNeighborElements | ( | std::vector< stk::mesh::Entity > & | elements | ) | const |
Get a vector of elements that share an edge/face with an owned element. Note that these elements are not owned.
Definition at line 1168 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getNeighborElements | ( | const std::string & | blockID, |
std::vector< stk::mesh::Entity > & | elements | ||
) | const |
Get a vector of elements not owned by this processor but in a particular block
Definition at line 1178 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMyEdges | ( | std::vector< stk::mesh::Entity > & | edges | ) | const |
Get a vector of edges owned by this processor
Definition at line 1192 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMyEdges | ( | const std::string & | edgeBlockName, |
std::vector< stk::mesh::Entity > & | edges | ||
) | const |
Get Entities corresponding to the edge block requested. The Entites in the vector should be a dimension lower than getDimension()
.
[in] | edgeBlockName | Name of edge block |
[in,out] | edges | Vector of entities containing the requested edges. |
Definition at line 1202 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMyEdges | ( | const std::string & | edgeBlockName, |
const std::string & | blockName, | ||
std::vector< stk::mesh::Entity > & | edges | ||
) | const |
Get Entities corresponding to the locally owned part of the edge block requested. This also limits the entities to be in a particular element block. The Entites in the vector should be a dimension lower than getDimension()
.
[in] | edgeBlockName | Name of edge block |
[in] | blockName | Name of block |
[in,out] | edges | Vector of entities containing the requested edges. |
Definition at line 1215 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getAllEdges | ( | const std::string & | edgeBlockName, |
std::vector< stk::mesh::Entity > & | edges | ||
) | const |
Get Entities corresponding to the locally owned part of the edge block requested. The Entites in the vector should be a dimension lower than getDimension()
.
[in] | edgeBlockName | Name of edge block |
[in,out] | edges | Vector of entities containing the requested edges. |
Definition at line 1232 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getAllEdges | ( | const std::string & | edgeBlockName, |
const std::string & | blockName, | ||
std::vector< stk::mesh::Entity > & | edges | ||
) | const |
Get Entities corresponding to the edge block requested. This also limits the entities to be in a particular element block. The Entites in the vector should be a dimension lower than getDimension()
.
[in] | edgeBlockName | Name of edge block |
[in] | blockName | Name of block |
[in,out] | edges | Vector of entities containing the requested edges. |
Definition at line 1244 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMyFaces | ( | std::vector< stk::mesh::Entity > & | faces | ) | const |
Get a vector of faces owned by this processor
Definition at line 1261 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMyFaces | ( | const std::string & | faceBlockName, |
std::vector< stk::mesh::Entity > & | faces | ||
) | const |
Get Entities corresponding to the face block requested. The Entites in the vector should be a dimension lower than getDimension()
.
[in] | faceBlockName | Name of face block |
[in,out] | faces | Vector of entities containing the requested faces. |
Definition at line 1271 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMyFaces | ( | const std::string & | faceBlockName, |
const std::string & | blockName, | ||
std::vector< stk::mesh::Entity > & | faces | ||
) | const |
Get Entities corresponding to the locally owned part of the face block requested. This also limits the entities to be in a particular element block. The Entites in the vector should be a dimension lower than getDimension()
.
[in] | faceBlockName | Name of face block |
[in] | blockName | Name of block |
[in,out] | faces | Vector of entities containing the requested faces. |
Definition at line 1284 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getAllFaces | ( | const std::string & | faceBlockName, |
std::vector< stk::mesh::Entity > & | faces | ||
) | const |
Get Entities corresponding to the locally owned part of the face block requested. The Entites in the vector should be a dimension lower than getDimension()
.
[in] | faceBlockName | Name of face block |
[in,out] | faces | Vector of entities containing the requested faces. |
Definition at line 1301 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getAllFaces | ( | const std::string & | faceBlockName, |
const std::string & | blockName, | ||
std::vector< stk::mesh::Entity > & | faces | ||
) | const |
Get Entities corresponding to the face block requested. This also limits the entities to be in a particular element block. The Entites in the vector should be a dimension lower than getDimension()
.
[in] | faceBlockName | Name of face block |
[in] | blockName | Name of block |
[in,out] | faces | Vector of entities containing the requested faces. |
Definition at line 1313 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMySides | ( | const std::string & | sideName, |
std::vector< stk::mesh::Entity > & | sides | ||
) | const |
Get Entities corresponding to the side set requested. The Entites in the vector should be a dimension lower then getDimension()
.
[in] | sideName | Name of side set |
[in,out] | sides | Vector of entities containing the requested sides. |
Definition at line 1330 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMySides | ( | const std::string & | sideName, |
const std::string & | blockName, | ||
std::vector< stk::mesh::Entity > & | sides | ||
) | const |
Get Entities corresponding to the locally owned part of the side set requested. This also limits the entities to be in a particular element block. The Entites in the vector should be a dimension lower then getDimension()
.
[in] | sideName | Name of side set |
[in] | blockName | Name of block |
[in,out] | sides | Vector of entities containing the requested sides. |
Definition at line 1343 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getAllSides | ( | const std::string & | sideName, |
std::vector< stk::mesh::Entity > & | sides | ||
) | const |
Get Entities corresponding to the locally owned part of the side set requested. The Entites in the vector should be a dimension lower then getDimension()
.
[in] | sideName | Name of side set |
[in,out] | sides | Vector of entities containing the requested sides. |
Definition at line 1360 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getAllSides | ( | const std::string & | sideName, |
const std::string & | blockName, | ||
std::vector< stk::mesh::Entity > & | sides | ||
) | const |
Get Entities corresponding to the side set requested. This also limits the entities to be in a particular element block. The Entites in the vector should be a dimension lower then getDimension()
.
[in] | sideName | Name of side set |
[in] | blockName | Name of block |
[in,out] | sides | Vector of entities containing the requested sides. |
Definition at line 1372 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getMyNodes | ( | const std::string & | sideName, |
const std::string & | blockName, | ||
std::vector< stk::mesh::Entity > & | nodes | ||
) | const |
Get Entities corresponding to the node set requested. This also limits the entities to be in a particular element block. The Entites in the vector should be of dimension 0
.
[in] | sideName | Name of side set |
[in] | blockName | Name of block |
[in,out] | nodes | Vector of entities containing the requested nodes. |
Definition at line 1389 of file Panzer_STK_Interface.cpp.
stk::mesh::Entity panzer_stk::STK_Interface::findConnectivityById | ( | stk::mesh::Entity | src, |
stk::mesh::EntityRank | tgt_rank, | ||
unsigned | rel_id | ||
) | const |
Searches for connected entity by rank and relation id. Returns invalid entity on failure.
[in] | src | The handle to the source entity (the 'from' part of the relation) |
[in] | tgt_rank | The entity rank of relations to search |
[in] | rel_id | The id of the relation to search for |
Definition at line 640 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::writeToExodus | ( | const std::string & | filename, |
const bool | append = false |
||
) |
Write this mesh and associated fields to the given output file.
[in] | filename | The name of the output Exodus file. |
[in] | append | If set to true, the output will be appended to the output Exodus file. If set to false, output file will be overwritten. Default is false. |
Definition at line 661 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::setupExodusFile | ( | const std::string & | filename, |
const bool | append = false , |
||
const bool | append_after_restart_time = false , |
||
const double | restart_time = 0.0 |
||
) |
Set up an output Exodus file for writing results.
Create an output mesh associated with the given filename
and add the fields to it.
writeToExodus(double timestep)
.[in] | filename | The name of the output Exodus file. |
[in] | append | If set to true, the output will be appended to the output Exodus file. If set to false, output file will be overwritten. Default is false. |
[in] | append_after_restart_time | If set to true, instead of appending to the end of the Exodus file, this option will append new writes after a specified time and overwrite subsequent time steps that were in the file. Allows users to restart anywhere in the exodus file and write consistently. If set to false, the next write will append to the end of the file. Default is false. |
[in] | restart_time | If append_after_restart_time is true, this is the time value to append after. Otherwise this value is ignored. |
<tt>std::logic_error</tt> | If the STK_Interface does not yet have a MPI communicator. |
Definition at line 675 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::writeToExodus | ( | double | timestep | ) |
Write this mesh and associated fields at the given timestep
.
Write this mesh and the current state of the associated fields for time = timestep
to the output Exodus file created via setupExodusFile()
.
setupExodusFile(const std::string& filename)
must be called before any invocations of this routine.[in] | timestep | The simulation time at which you're writing the results. |
Definition at line 735 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addGlobalToExodus | ( | const std::string & | key, |
const int & | value | ||
) |
Add an int
global variable to the information to be written to the Exodus output file.
This allows you to add any arbitrary global data (that is, data not associated with nodes, elements, etc.) to the Exodus output file tagged with a string
key.
writeToExodus()
is called.[in] | key | The name of the global variable you'll be adding. Note that keys should be unique if you're adding multiple global variables with repeated calls to addGlobalToExodus() . Repeated calls with identical keys will result in the value associated with the key simply being overwritten. |
[in] | value | The value of the global variable you'll be adding. |
Definition at line 886 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addGlobalToExodus | ( | const std::string & | key, |
const double & | value | ||
) |
Add a double
global variable to the information to be written to the Exodus output file.
This allows you to add any arbitrary global data (that is, data not associated with nodes, elements, etc.) to the Exodus output file tagged with a string
key.
writeToExodus()
is called.[in] | key | The name of the global variable you'll be adding. Note that keys should be unique if you're adding multiple global variables with repeated calls to addGlobalToExodus() . Repeated calls with identical keys will result in the value associated with the key simply being overwritten. |
[in] | value | The value of the global variable you'll be adding. |
Definition at line 900 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addGlobalToExodus | ( | const std::string & | key, |
const std::vector< int > & | value | ||
) |
Add a std::vector<int>
global variable to the information to be written to the Exodus output file.
This allows you to add any arbitrary global data (that is, data not associated with nodes, elements, etc.) to the Exodus output file tagged with a string
key.
writeToExodus()
is called.[in] | key | The name of the global variable you'll be adding. Note that keys should be unique if you're adding multiple global variables with repeated calls to addGlobalToExodus() . Repeated calls with identical keys will result in the value associated with the key simply being overwritten. |
[in] | value | The value of the global variable you'll be adding. |
Definition at line 914 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::addGlobalToExodus | ( | const std::string & | key, |
const std::vector< double > & | value | ||
) |
Add a std::vector<double>
global variable to the information to be written to the Exodus output file.
This allows you to add any arbitrary global data (that is, data not associated with nodes, elements, etc.) to the Exodus output file tagged with a string
key.
writeToExodus()
is called.[in] | key | The name of the global variable you'll be adding. Note that keys should be unique if you're adding multiple global variables with repeated calls to addGlobalToExodus() . Repeated calls with identical keys will result in the value associated with the key simply being overwritten. |
[in] | value | The value of the global variable you'll be adding. |
Definition at line 929 of file Panzer_STK_Interface.cpp.
Teuchos::RCP< const Teuchos::Comm< int > > panzer_stk::STK_Interface::getComm | ( | ) | const |
get the comm associated with this mesh
Definition at line 2016 of file Panzer_STK_Interface.cpp.
|
inline |
Definition at line 603 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 604 of file Panzer_STK_Interface.hpp.
bool panzer_stk::STK_Interface::isWritable | ( | ) | const |
Definition at line 937 of file Panzer_STK_Interface.cpp.
|
inline |
Definition at line 614 of file Panzer_STK_Interface.hpp.
|
inline |
get the dimension
Definition at line 619 of file Panzer_STK_Interface.hpp.
|
inline |
get the block count
Definition at line 623 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementBlockNames | ( | std::vector< std::string > & | names | ) | const |
Get a vector containing the names of the element blocks. This function always returns the current set of element blocks in lexiographic order (uses the sorting built into the std::map). This method can only be called after initialize
.
[in,out] | names | Vector of names of the element blocks. |
Definition at line 1406 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getSidesetNames | ( | std::vector< std::string > & | name | ) | const |
Get a vector containing the names of the side sets. This function always returns the current set of side sets in lexiographic order (uses the sorting built into the std::map). This method can only be called after initialize
.
[in,out] | names | Vector of names of the side sets |
Definition at line 1418 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getNodesetNames | ( | std::vector< std::string > & | name | ) | const |
Get a vector containing the names of the node sets. This function always returns the current set of node sets in lexiographic order (uses the sorting built into the std::map). This method can only be called after initialize
.
[in,out] | names | Vector of names of the node sets. |
Definition at line 1430 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getEdgeBlockNames | ( | std::vector< std::string > & | names | ) | const |
Get a vector containing the names of the edge blocks. This function always returns the current set of edge blocks in lexiographic order (uses the sorting built into the std::map). This method can only be called after initialize
.
[in,out] | names | Vector of names of the edge blocks. |
Definition at line 1440 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getFaceBlockNames | ( | std::vector< std::string > & | names | ) | const |
Get a vector containing the names of the face blocks. This function always returns the current set of face blocks in lexiographic order (uses the sorting built into the std::map). This method can only be called after initialize
.
[in,out] | names | Vector of names of the face blocks. |
Definition at line 1450 of file Panzer_STK_Interface.cpp.
|
inline |
Get a pointer to the locally owned part.
Definition at line 672 of file Panzer_STK_Interface.hpp.
|
inline |
get the block part
Definition at line 676 of file Panzer_STK_Interface.hpp.
|
inline |
get the block part
Definition at line 684 of file Panzer_STK_Interface.hpp.
|
inline |
get the block part
Definition at line 692 of file Panzer_STK_Interface.hpp.
|
inline |
get the side set count
Definition at line 700 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 703 of file Panzer_STK_Interface.hpp.
|
inline |
get the side set count
Definition at line 710 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 713 of file Panzer_STK_Interface.hpp.
std::size_t panzer_stk::STK_Interface::getEntityCounts | ( | unsigned | entityRank | ) | const |
get the global counts for the entity of specified rank
Definition at line 1082 of file Panzer_STK_Interface.cpp.
stk::mesh::EntityId panzer_stk::STK_Interface::getMaxEntityId | ( | unsigned | entityRank | ) | const |
get max entity ID of type entityRank
Definition at line 1090 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getElementsSharingNode | ( | stk::mesh::EntityId | nodeId, |
std::vector< stk::mesh::Entity > & | elements | ||
) | const |
get a set of elements sharing a single node
Definition at line 946 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getNodeIdsForElement | ( | stk::mesh::Entity | element, |
std::vector< stk::mesh::EntityId > & | nodeIds | ||
) | const |
get a list of node ids for nodes connected to an element
Definition at line 1029 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getOwnedElementsSharingNode | ( | stk::mesh::Entity | node, |
std::vector< stk::mesh::Entity > & | elements, | ||
std::vector< int > & | relIds | ||
) | const |
Get set of element sharing a single node and its local node id.
Definition at line 959 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getOwnedElementsSharingNode | ( | stk::mesh::EntityId | nodeId, |
std::vector< stk::mesh::Entity > & | elements, | ||
std::vector< int > & | relIds, | ||
unsigned int | matchType | ||
) | const |
Get set of element sharing a single node and its local node id.
Definition at line 979 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::getElementsSharingNodes | ( | const std::vector< stk::mesh::EntityId > | nodeId, |
std::vector< stk::mesh::Entity > & | elements | ||
) | const |
get a set of elements sharing multiple nodes
Definition at line 997 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::buildSubcells | ( | ) |
force the mesh to build subcells: edges and faces
Definition at line 1098 of file Panzer_STK_Interface.cpp.
std::size_t panzer_stk::STK_Interface::elementLocalId | ( | stk::mesh::Entity | elmt | ) | const |
Get an elements local index
Definition at line 1460 of file Panzer_STK_Interface.cpp.
std::size_t panzer_stk::STK_Interface::elementLocalId | ( | stk::mesh::EntityId | gid | ) | const |
Get an elements local index
Definition at line 1467 of file Panzer_STK_Interface.cpp.
|
inline |
Get an elements global index
Definition at line 761 of file Panzer_STK_Interface.hpp.
|
inline |
Get an elements global index
Definition at line 766 of file Panzer_STK_Interface.hpp.
bool panzer_stk::STK_Interface::isEdgeLocal | ( | stk::mesh::Entity | edge | ) | const |
Is an edge local to this processor?
Definition at line 1478 of file Panzer_STK_Interface.cpp.
bool panzer_stk::STK_Interface::isEdgeLocal | ( | stk::mesh::EntityId | gid | ) | const |
Is an edge local to this processor?
Definition at line 1483 of file Panzer_STK_Interface.cpp.
std::size_t panzer_stk::STK_Interface::edgeLocalId | ( | stk::mesh::Entity | elmt | ) | const |
Get an edge's local index
Definition at line 1492 of file Panzer_STK_Interface.cpp.
std::size_t panzer_stk::STK_Interface::edgeLocalId | ( | stk::mesh::EntityId | gid | ) | const |
Get an edge's local index
Definition at line 1497 of file Panzer_STK_Interface.cpp.
|
inline |
Get an edge's global index
Definition at line 787 of file Panzer_STK_Interface.hpp.
|
inline |
Get an edge's global index
Definition at line 792 of file Panzer_STK_Interface.hpp.
bool panzer_stk::STK_Interface::isFaceLocal | ( | stk::mesh::Entity | face | ) | const |
Is a face local to this processor?
Definition at line 1504 of file Panzer_STK_Interface.cpp.
bool panzer_stk::STK_Interface::isFaceLocal | ( | stk::mesh::EntityId | gid | ) | const |
Is a face local to this processor?
Definition at line 1509 of file Panzer_STK_Interface.cpp.
std::size_t panzer_stk::STK_Interface::faceLocalId | ( | stk::mesh::Entity | elmt | ) | const |
Get a face's local index
Definition at line 1518 of file Panzer_STK_Interface.cpp.
std::size_t panzer_stk::STK_Interface::faceLocalId | ( | stk::mesh::EntityId | gid | ) | const |
Get a face's local index
Definition at line 1523 of file Panzer_STK_Interface.cpp.
|
inline |
Get a face's global index
Definition at line 813 of file Panzer_STK_Interface.hpp.
|
inline |
Get a face's global index
Definition at line 818 of file Panzer_STK_Interface.hpp.
|
inline |
Get an Entity's parallel owner (process rank)
Definition at line 823 of file Panzer_STK_Interface.hpp.
|
inline |
Check if entity handle is valid
Definition at line 828 of file Panzer_STK_Interface.hpp.
std::string panzer_stk::STK_Interface::containingBlockId | ( | stk::mesh::Entity | elmt | ) | const |
Get the containing block ID of this element.
Definition at line 1531 of file Panzer_STK_Interface.cpp.
stk::mesh::Field< double > * panzer_stk::STK_Interface::getSolutionField | ( | const std::string & | fieldName, |
const std::string & | blockId | ||
) | const |
Get the stk mesh field pointer associated with a particular solution value Assumes there is a field associated with "fieldName,blockId" pair. If none is found an exception (std::runtime_error) is raised.
Definition at line 1539 of file Panzer_STK_Interface.cpp.
stk::mesh::Field< double > * panzer_stk::STK_Interface::getCellField | ( | const std::string & | fieldName, |
const std::string & | blockId | ||
) | const |
Get the stk mesh field pointer associated with a particular value Assumes there is a field associated with "fieldName,blockId" pair. If none is found an exception (std::runtime_error) is raised.
Definition at line 1553 of file Panzer_STK_Interface.cpp.
stk::mesh::Field< double > * panzer_stk::STK_Interface::getEdgeField | ( | const std::string & | fieldName, |
const std::string & | blockId | ||
) | const |
Get the stk mesh field pointer associated with a particular value Assumes there is a field associated with "fieldName,blockId" pair. If none is found an exception (std::runtime_error) is raised.
Definition at line 1567 of file Panzer_STK_Interface.cpp.
stk::mesh::Field< double > * panzer_stk::STK_Interface::getFaceField | ( | const std::string & | fieldName, |
const std::string & | blockId | ||
) | const |
Get the stk mesh field pointer associated with a particular value Assumes there is a field associated with "fieldName,blockId" pair. If none is found an exception (std::runtime_error) is raised.
Definition at line 1581 of file Panzer_STK_Interface.cpp.
|
inline |
Definition at line 863 of file Panzer_STK_Interface.hpp.
|
inline |
Has initialize
been called on this mesh object?
Definition at line 866 of file Panzer_STK_Interface.hpp.
Teuchos::RCP< const std::vector< stk::mesh::Entity > > panzer_stk::STK_Interface::getElementsOrderedByLID | ( | ) | const |
Get Vector of element entities ordered by their LID, returns an RCP so that it is easily stored by the caller.
Definition at line 1595 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::setSolutionFieldData | ( | const std::string & | fieldName, |
const std::string & | blockId, | ||
const std::vector< std::size_t > & | localElementIds, | ||
const ArrayT & | solutionValues, | ||
double | scaleValue = 1.0 |
||
) |
Writes a particular field to an array. Notice this is setup to work with the worksets associated with Panzer.
[in] | fieldName | Name of field to be filled |
[in] | blockId | Name of block this set of elements belongs to |
[in] | localElementIds | Local element IDs for this set of solution values |
[in] | solutionValues | An two dimensional array object sized by (Cells,Basis Count) |
Definition at line 1430 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getSolutionFieldData | ( | const std::string & | fieldName, |
const std::string & | blockId, | ||
const std::vector< std::size_t > & | localElementIds, | ||
ArrayT & | solutionValues | ||
) | const |
Reads a particular field into an array. Notice this is setup to work with the worksets associated with Panzer.
[in] | fieldName | Name of field to be filled |
[in] | blockId | Name of block this set of elements belongs to |
[in] | localElementIds | Local element IDs for this set of solution values |
[in] | solutionValues | An two dimensional array object sized by (Cells,Basis Count) |
Definition at line 1492 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::setCellFieldData | ( | const std::string & | fieldName, |
const std::string & | blockId, | ||
const std::vector< std::size_t > & | localElementIds, | ||
const ArrayT & | solutionValues, | ||
double | scaleValue = 1.0 |
||
) |
Writes a particular field to a cell array. Notice this is setup to work with the worksets associated with Panzer.
[in] | fieldName | Name of field to be filled |
[in] | blockId | Name of block this set of elements belongs to |
[in] | localElementIds | Local element IDs for this set of solution values |
[in] | solutionValues | A one dimensional array object sized by (Cells) |
Definition at line 1522 of file Panzer_STK_Interface.hpp.
Teuchos::RCP< const std::vector< stk::mesh::Entity > > panzer_stk::STK_Interface::getEdgesOrderedByLID | ( | ) | const |
Get Vector of edge entities ordered by their LID, returns an RCP so that it is easily stored by the caller.
Definition at line 1626 of file Panzer_STK_Interface.cpp.
Teuchos::RCP< const std::vector< stk::mesh::Entity > > panzer_stk::STK_Interface::getFacesOrderedByLID | ( | ) | const |
Get Vector of face entities ordered by their LID, returns an RCP so that it is easily stored by the caller.
Definition at line 1657 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::setEdgeFieldData | ( | const std::string & | fieldName, |
const std::string & | blockId, | ||
const std::vector< std::size_t > & | localEdgeIds, | ||
const ArrayT & | edgeValues, | ||
double | scaleValue = 1.0 |
||
) |
Writes a particular field to an edge array. Notice this is setup to work with the worksets associated with Panzer.
[in] | fieldName | Name of field to be filled |
[in] | blockId | Name of block this set of elements belongs to |
[in] | localEdgeIds | Local edge IDs for this set of solution values |
[in] | edgeValues | A one dimensional array object sized by (edges) |
Definition at line 1543 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::setFaceFieldData | ( | const std::string & | fieldName, |
const std::string & | blockId, | ||
const std::vector< std::size_t > & | localFaceIds, | ||
const ArrayT & | faceValues, | ||
double | scaleValue = 1.0 |
||
) |
Writes a particular field to a face array. Notice this is setup to work with the worksets associated with Panzer.
[in] | fieldName | Name of field to be filled |
[in] | blockId | Name of block this set of elements belongs to |
[in] | localFaceIds | Local face IDs for this set of solution values |
[in] | faceValues | A one dimensional array object sized by (faces) |
Definition at line 1564 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVertices | ( | const std::vector< std::size_t > & | localIds, |
ArrayT & | vertices | ||
) | const |
Get vertices associated with a number of elements of the same geometry.
[in] | localIds | Element local IDs to construct vertices |
[out] | vertices | Output array that will be sized (localIds.size() ,#Vertices,#Dim) |
localIds
is 0, the function will silently return Definition at line 1585 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVertices | ( | const std::vector< stk::mesh::Entity > & | elements, |
ArrayT & | vertices | ||
) | const |
Get vertices associated with a number of elements of the same geometry.
[in] | elements | Element entities to construct vertices |
[out] | vertices | Output array that will be sized (localIds.size() ,#Vertices,#Dim) |
localIds
is 0, the function will silently return Definition at line 1609 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVertices | ( | const std::vector< std::size_t > & | localIds, |
const std::string & | eBlock, | ||
ArrayT & | vertices | ||
) | const |
Get vertices associated with a number of elements of the same geometry.
[in] | localIds | Element local IDs to construct vertices |
[in] | eBlock | Element block the elements are in |
[out] | vertices | Output array that will be sized (localIds.size() ,#Vertices,#Dim) |
localIds
is 0, the function will silently return Definition at line 1633 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVertices | ( | const std::vector< stk::mesh::Entity > & | elements, |
const std::string & | eBlock, | ||
ArrayT & | vertices | ||
) | const |
Get vertices associated with a number of elements of the same geometry.
[in] | elements | Element entities to construct vertices |
[in] | eBlock | Element block the elements are in |
[out] | vertices | Output array that will be sized (localIds.size() ,#Vertices,#Dim) |
localIds
is 0, the function will silently return Definition at line 1622 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVerticesNoResize | ( | const std::vector< std::size_t > & | localIds, |
ArrayT & | vertices | ||
) | const |
Get vertices associated with a number of elements of the same geometry. The vertex array will not be resized.
[in] | localIds | Element local IDs to construct vertices |
[out] | vertices | Output array that will be sized (localIds.size() ,#Vertices,#Dim) |
localIds
is 0, the function will silently return Definition at line 1651 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVerticesNoResize | ( | const std::vector< stk::mesh::Entity > & | elements, |
ArrayT & | vertices | ||
) | const |
Get vertices associated with a number of elements of the same geometry. The vertex array will not be resized.
[in] | elements | Element entities to construct vertices |
[out] | vertices | Output array that will be sized (localIds.size() ,#Vertices,#Dim) |
localIds
is 0, the function will silently return Definition at line 1675 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVerticesNoResize | ( | const std::vector< std::size_t > & | localIds, |
const std::string & | eBlock, | ||
ArrayT & | vertices | ||
) | const |
Get vertices associated with a number of elements of the same geometry. The vertex array will not be resized.
[in] | localIds | Element local IDs to construct vertices |
[in] | eBlock | Element block the elements are in |
[out] | vertices | Output array that will be sized (localIds.size() ,#Vertices,#Dim) |
localIds
is 0, the function will silently return Definition at line 1699 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVerticesNoResize | ( | const std::vector< stk::mesh::Entity > & | elements, |
const std::string & | eBlock, | ||
ArrayT & | vertices | ||
) | const |
Get vertices associated with a number of elements of the same geometry. The vertex array will not be resized.
[in] | elements | Element entities to construct vertices |
[in] | eBlock | Element block the elements are in |
[out] | vertices | Output array that will be sized (localIds.size() ,#Vertices,#Dim) |
localIds
is 0, the function will silently return Definition at line 1688 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 1068 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 1069 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 1070 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 1071 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 1072 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::initializeFromMetaData | ( | ) |
Build fields and parts from the meta data
Definition at line 1688 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::buildLocalElementIDs | ( | ) |
Setup local element IDs
Definition at line 1712 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::buildLocalEdgeIDs | ( | ) |
Setup local edge IDs
Definition at line 1776 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::buildLocalFaceIDs | ( | ) |
Setup local face IDs
Definition at line 1796 of file Panzer_STK_Interface.cpp.
|
inline |
Return a vector containing all the periodic boundary conditions.
Definition at line 1093 of file Panzer_STK_Interface.hpp.
|
inline |
Return a vector containing all the periodic boundary conditions.
Definition at line 1099 of file Panzer_STK_Interface.hpp.
|
inline |
Add a periodic boundary condition.
Definition at line 1107 of file Panzer_STK_Interface.hpp.
|
inline |
Add a set of periodic boundary conditions.
Definition at line 1115 of file Panzer_STK_Interface.hpp.
std::pair< Teuchos::RCP< std::vector< std::pair< std::size_t, std::size_t > > >, Teuchos::RCP< std::vector< unsigned int > > > panzer_stk::STK_Interface::getPeriodicNodePairing | ( | ) | const |
Definition at line 1839 of file Panzer_STK_Interface.cpp.
bool panzer_stk::STK_Interface::validBlockId | ( | const std::string & | blockId | ) | const |
check for a valid block id
Definition at line 1863 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::print | ( | std::ostream & | os | ) | const |
Print a brief description of the STK mesh to a stream.
Definition at line 1870 of file Panzer_STK_Interface.cpp.
void panzer_stk::STK_Interface::printMetaData | ( | std::ostream & | os | ) | const |
Print a brief description of the STK mesh to a stream.
Definition at line 1920 of file Panzer_STK_Interface.cpp.
Teuchos::RCP< const shards::CellTopology > panzer_stk::STK_Interface::getCellTopology | ( | const std::string & | eBlock | ) | const |
Get the cell topology from the element block.
Definition at line 1960 of file Panzer_STK_Interface.cpp.
|
inline |
Get the value of the time-stamp the last time this object was written to Exodus (default 0.0)
Definition at line 1141 of file Panzer_STK_Interface.hpp.
|
inline |
Get the value of the time-stamp when this object was created (default 0.0) or when setInitialStateTime was called.
Definition at line 1148 of file Panzer_STK_Interface.hpp.
|
inline |
Set the value of the initial time-stamp
Definition at line 1154 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::rebalance | ( | const Teuchos::ParameterList & | params | ) |
Rebalance using zoltan. Note that this will void the local element ids.
Definition at line 1987 of file Panzer_STK_Interface.cpp.
|
inline |
Set the weight for a particular element block. Larger means more costly to assemble and evaluate.
Definition at line 1163 of file Panzer_STK_Interface.hpp.
|
inline |
When coordinates are returned in the getElementVertices method, extract coordinates using a specified field (not the intrinsic coordinates) where available (where unavailable the intrinsic coordinates are used. Note that this does not change the behavior of getNodeCoordinates. This is set to false by default.
Definition at line 1172 of file Panzer_STK_Interface.hpp.
|
inline |
Return the use field coordinates flag
Definition at line 1176 of file Panzer_STK_Interface.hpp.
|
inline |
Use lower case (or not) for I/O
Definition at line 1180 of file Panzer_STK_Interface.hpp.
|
inline |
Use lower case (or not) for I/O
Definition at line 1184 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVertices_FromField | ( | const std::vector< stk::mesh::Entity > & | elements, |
const std::string & | eBlock, | ||
ArrayT & | vertices | ||
) | const |
Get vertices associated with a number of elements of the same geometry, note that a coordinate field will be used (if not is available an exception will be thrown).
[in] | elements | Element entities to construct vertices |
[in] | eBlock | Element block the elements are in |
[out] | vertices | Output array that will be sized (localIds.size() ,#Vertices,#Dim) |
localIds
is 0, the function will silently return Definition at line 1814 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVertices_FromFieldNoResize | ( | const std::vector< stk::mesh::Entity > & | elements, |
const std::string & | eBlock, | ||
ArrayT & | vertices | ||
) | const |
Definition at line 1867 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVertices_FromCoords | ( | const std::vector< stk::mesh::Entity > & | elements, |
ArrayT & | vertices | ||
) | const |
Get vertices associated with a number of elements of the same geometry. This access the true mesh coordinates array.
[in] | elements | Element entities to construct vertices |
[out] | vertices | Output array that will be sized (localIds.size() ,#Vertices,#Dim) |
localIds
is 0, the function will silently return Definition at line 1717 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::getElementVertices_FromCoordsNoResize | ( | const std::vector< stk::mesh::Entity > & | elements, |
ArrayT & | vertices | ||
) | const |
Definition at line 1768 of file Panzer_STK_Interface.hpp.
void panzer_stk::STK_Interface::refineMesh | ( | const int | numberOfLevels, |
const bool | deleteParentElements | ||
) |
Uniformly refine the mesh using Percept
[in] | numberOfLevels | Number of uniform refinement levels to apply. Must be >=1. |
[in] | deleteParentElements | If true, deletes the parent elements from the mesh to save memory. |
Definition at line 2022 of file Panzer_STK_Interface.cpp.
|
protected |
Compute global entity counts.
Definition at line 1040 of file Panzer_STK_Interface.cpp.
|
protected |
Compute global entity counts.
Definition at line 1046 of file Panzer_STK_Interface.cpp.
|
protected |
Initialize STK fields using a map (allocate space for storage and writing) to a specific entity rank.
Definition at line 397 of file Panzer_STK_Interface.cpp.
|
protected |
Build a safely handled Teuchos MPI communicator from a parallel machine. This object asserts ownership of the communicator so that we can gurantee existence so the outer user can do whatever they'd like with the original.
Definition at line 1976 of file Panzer_STK_Interface.cpp.
|
protected |
In a pure local operation apply the user specified block weights for each element block to the field that defines the load balance weighting. This uses the blockWeights_ member to determine the user value that has been set for a particular element block.
Definition at line 1755 of file Panzer_STK_Interface.cpp.
|
protected |
Determine if a particular field in an element block is a displacement field. Return the displacement field name in the requested argument if so.
Definition at line 1817 of file Panzer_STK_Interface.cpp.
|
protected |
Writes a particular field to an array as a coordinate diplacement. Notice this is setup to work with the worksets associated with Panzer.
[in] | fieldName | Name of field to be filled |
[in] | blockId | Name of block this set of elements belongs to |
[in] | dimension | What coordinate axis to write to |
[in] | localElementIds | Local element IDs for this set of solution values |
[in] | solutionValues | An two dimensional array object sized by (Cells,Basis Count) |
Definition at line 1463 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1227 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1228 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1229 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1230 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1231 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1232 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1287 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1289 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1290 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1296 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1297 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1298 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1299 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1300 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1302 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1303 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1304 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1307 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1308 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1309 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1310 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1311 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1312 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1314 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1315 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1316 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1317 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1318 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1321 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1322 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1323 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1324 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1327 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1329 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1331 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1334 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1337 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1339 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1340 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1342 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1344 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1345 of file Panzer_STK_Interface.hpp.
|
mutableprotected |
Definition at line 1389 of file Panzer_STK_Interface.hpp.
|
mutableprotected |
Definition at line 1392 of file Panzer_STK_Interface.hpp.
|
mutableprotected |
Definition at line 1395 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1398 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1400 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1401 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1402 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1407 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1408 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1410 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1412 of file Panzer_STK_Interface.hpp.