|
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 > | VectorFieldType |
| typedef stk::mesh::Field< ProcIdData > | ProcIdFieldType |
Public Member Functions | |
| STK_Interface () | |
| Construct with no spatial dimension set. addElementBlock() and initialize() must be used to set it up before use. | |
| STK_Interface (unsigned dim) | |
| STK_Interface (Teuchos::RCP< stk::mesh::MetaData > metaData) | |
| Construct from an already-built STK meta data object. | |
| void | addElementBlock (const std::string &name, const CellTopologyData *ctData) |
| void | addEdgeBlock (const std::string &elemBlockName, const std::string &edgeBlockName, const stk::topology &topology) |
| void | addEdgeBlock (const std::string &elemBlockName, const std::string &edgeBlockName, const CellTopologyData *ctData) |
| void | addFaceBlock (const std::string &elemBlockName, const std::string &faceBlockName, const stk::topology &topology) |
| void | addFaceBlock (const std::string &elemBlockName, const std::string &faceBlockName, 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 (const bool find_and_set_shared_nodes_in_stk=true) |
| void | addNode (stk::mesh::EntityId gid, const std::vector< double > &coord) |
| void | addElement (const Teuchos::RCP< ElementDescriptor > &ed, stk::mesh::Part *block) |
| Adds an element (described by its global ID and node IDs) into the given element block part. | |
| void | addEdges () |
| Builds edge entities for the mesh from its existing elements. | |
| void | addFaces () |
| Builds face entities for the mesh from its existing elements. | |
| 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. | |
| 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. | |
| void | setupExodusFile (const std::string &filename, const std::vector< Ioss::Property > &ioss_properties, 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. | |
| void | writeToExodus (double timestep) |
Write this mesh and associated fields at the given timestep. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| Teuchos::RCP< const Teuchos::Comm< int > > | getComm () const |
| get the comm associated with this mesh | |
| Teuchos::RCP< stk::mesh::BulkData > | getBulkData () const |
| Returns the underlying STK bulk data object. | |
| Teuchos::RCP< stk::mesh::MetaData > | getMetaData () const |
| Returns the underlying STK meta data object. | |
| bool | isWritable () const |
| Returns true if the mesh can be written out to Exodus (i.e. is IOSS/output set up)? | |
| bool | isModifiable () const |
| Returns true if the bulk data manager is currently in modification mode (i.e. between beginModification() and endModification()) | |
| unsigned | getDimension () const |
| get the dimension | |
| std::size_t | getNumElementBlocks () const |
| get the block count | |
| 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. | |
| stk::mesh::Part * | getElementBlockPart (const std::string &name) const |
| get the block part | |
| stk::mesh::Part * | getEdgeBlock (const std::string &name) const |
| get the block part | |
| stk::mesh::Part * | getFaceBlock (const std::string &name) const |
| get the block part | |
| std::size_t | getNumSidesets () const |
| get the side set count | |
| stk::mesh::Part * | getSideset (const std::string &name) const |
| std::size_t | getNumNodesets () const |
| get the side set count | |
| 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 | |
| stk::mesh::EntityId | getMaxEntityId (unsigned entityRank) const |
| get max entity ID of type entityRank | |
| void | getElementsSharingNode (stk::mesh::EntityId nodeId, std::vector< stk::mesh::Entity > &elements) const |
| get a set of elements sharing a single node | |
| 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 | |
| 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 | |
| void | buildSubcells () |
| force the mesh to build subcells: edges and faces | |
| 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 () |
| Get the field holding each entity's owning processor rank. | |
| bool | isInitialized () const |
Returns true if initialize been called on this mesh object. | |
| 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 |
| template<typename ArrayT > | |
| void | getElementNodes (const std::vector< std::size_t > &localIds, ArrayT &nodes) const |
| template<typename ArrayT > | |
| void | getElementNodes (const std::vector< stk::mesh::Entity > &elements, ArrayT &nodes) const |
| template<typename ArrayT > | |
| void | getElementNodes (const std::vector< std::size_t > &localIds, const std::string &eBlock, ArrayT &nodes) const |
| template<typename ArrayT > | |
| void | getElementNodes (const std::vector< stk::mesh::Entity > &elements, const std::string &eBlock, ArrayT &nodes) const |
| template<typename ArrayT > | |
| void | getElementNodesNoResize (const std::vector< std::size_t > &localIds, ArrayT &nodes) const |
| template<typename ArrayT > | |
| void | getElementNodesNoResize (const std::vector< stk::mesh::Entity > &elements, ArrayT &nodes) const |
| template<typename ArrayT > | |
| void | getElementNodesNoResize (const std::vector< std::size_t > &localIds, const std::string &eBlock, ArrayT &nodes) const |
| template<typename ArrayT > | |
| void | getElementNodesNoResize (const std::vector< stk::mesh::Entity > &elements, const std::string &eBlock, ArrayT &nodes) const |
| stk::mesh::EntityRank | getElementRank () const |
| Get the STK entity rank corresponding to elements. | |
| stk::mesh::EntityRank | getSideRank () const |
| Get the STK entity rank corresponding to sides (dimension one lower than element rank). | |
| stk::mesh::EntityRank | getFaceRank () const |
| Get the STK entity rank corresponding to faces. | |
| stk::mesh::EntityRank | getEdgeRank () const |
| Get the STK entity rank corresponding to edges. | |
| stk::mesh::EntityRank | getNodeRank () const |
| Get the STK entity rank corresponding to nodes. | |
| 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 () |
| const bool & | useBoundingBoxSearch () const |
| void | setBoundingBoxSearchFlag (const bool &searchFlag) |
| 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 |
| but the vertex array will not be resized. | |
| 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 |
| but the vertex array will not be resized. | |
| template<typename ArrayT > | |
| void | getElementNodes_FromField (const std::vector< stk::mesh::Entity > &elements, const std::string &eBlock, ArrayT &nodes) const |
| template<typename ArrayT > | |
| void | getElementNodes_FromFieldNoResize (const std::vector< stk::mesh::Entity > &elements, const std::string &eBlock, ArrayT &nodes) const |
| but the node array will not be resized. | |
| template<typename ArrayT > | |
| void | getElementNodes_FromCoords (const std::vector< stk::mesh::Entity > &elements, ArrayT &nodes) const |
| template<typename ArrayT > | |
| void | getElementNodes_FromCoordsNoResize (const std::vector< stk::mesh::Entity > &elements, ArrayT &nodes) const |
| but the node array will not be resized. | |
| 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_ |
| bool | useBBoxSearch_ = true |
| 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_ |
| 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 73 of file Panzer_STK_Interface.hpp.
| typedef double panzer_stk::STK_Interface::ProcIdData |
Definition at line 75 of file Panzer_STK_Interface.hpp.
| typedef stk::mesh::Field<double> panzer_stk::STK_Interface::SolutionFieldType |
Definition at line 76 of file Panzer_STK_Interface.hpp.
| typedef stk::mesh::Field<double> panzer_stk::STK_Interface::VectorFieldType |
Definition at line 77 of file Panzer_STK_Interface.hpp.
| typedef stk::mesh::Field<ProcIdData> panzer_stk::STK_Interface::ProcIdFieldType |
Definition at line 78 of file Panzer_STK_Interface.hpp.
| panzer_stk::STK_Interface::STK_Interface | ( | ) |
Construct with no spatial dimension set. addElementBlock() and initialize() must be used to set it up before use.
Definition at line 77 of file Panzer_STK_Interface.cpp.
| panzer_stk::STK_Interface::STK_Interface | ( | unsigned | dim | ) |
Default constructor
Definition at line 91 of file Panzer_STK_Interface.cpp.
| panzer_stk::STK_Interface::STK_Interface | ( | Teuchos::RCP< stk::mesh::MetaData > | metaData | ) |
Construct from an already-built STK meta data object.
Definition at line 84 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 1567 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::addEdgeBlock | ( | const std::string & | elemBlockName, |
| const std::string & | edgeBlockName, | ||
| const stk::topology & | topology | ||
| ) |
Add an edge block with a string name
Definition at line 1598 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::addEdgeBlock | ( | const std::string & | elemBlockName, |
| const std::string & | edgeBlockName, | ||
| const CellTopologyData * | ctData | ||
| ) |
Definition at line 1619 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::addFaceBlock | ( | const std::string & | elemBlockName, |
| const std::string & | faceBlockName, | ||
| const stk::topology & | topology | ||
| ) |
Add a face block with a string name
Definition at line 1643 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::addFaceBlock | ( | const std::string & | elemBlockName, |
| const std::string & | faceBlockName, | ||
| const CellTopologyData * | ctData | ||
| ) |
Definition at line 1664 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 103 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 115 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 129 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 148 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 168 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 189 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 210 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 254 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 259 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 391 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::beginModification | ( | ) |
Put the bulk data manager in modification mode.
Definition at line 401 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::endModification | ( | const bool | find_and_set_shared_nodes_in_stk = true | ) |
Take the bulk data manager out of modification mode.
| find_and_set_shared_nodes_in_stk | (bool) If set to true, this performs a geometric search to figure out which nodes are shared entities and marks them as shared in stk. This is very inefficient and communication intensive. Set this to false for exodus as the sharing is already known. Must be true for inline meshes. We should fix the inline mesh factories to mark sharing at node construction time to eliminate the need for searching for shared nodes. Defaults to true to maintain backwards compatibility. |
Definition at line 409 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 432 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::addElement | ( | const Teuchos::RCP< ElementDescriptor > & | ed, |
| stk::mesh::Part * | block | ||
| ) |
Adds an element (described by its global ID and node IDs) into the given element block part.
Definition at line 500 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::addEdges | ( | ) |
Builds edge entities for the mesh from its existing elements.
Definition at line 523 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::addFaces | ( | ) |
Builds face entities for the mesh from its existing elements.
Definition at line 551 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 450 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 458 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 466 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 473 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 483 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 490 of file Panzer_STK_Interface.cpp.
|
inline |
Grab the coordinates field
Definition at line 258 of file Panzer_STK_Interface.hpp.
|
inline |
Grab the edges field
Definition at line 263 of file Panzer_STK_Interface.hpp.
|
inline |
Return the faces field
Definition at line 267 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 1071 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 1077 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
| [in] | entityRank | rank of the subcells to look up (e.g. node, edge, face). |
| [in] | elementId | global ID of the element whose subcells to look up. |
| [out] | subcellIds | populated with the global IDs of the element's subcells of the given rank. |
Definition at line 1082 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 1103 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 1113 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 1128 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 1138 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 1152 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 1161 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 1174 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 1191 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 1203 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 1220 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 1230 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 1243 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 1260 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 1272 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 1289 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 1302 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 1319 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 1331 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 1348 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 581 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 601 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. |
| `std::logic_error` | If the STK_Interface does not yet have a MPI communicator. |
Definition at line 615 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::setupExodusFile | ( | const std::string & | filename, |
| const std::vector< Ioss::Property > & | ioss_properties, | ||
| 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] | ioss_properties | A vector of ioss properties to set on the STK mesh ioss reader/writer. |
| [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. |
| `std::logic_error` | If the STK_Interface does not yet have a MPI communicator. |
Definition at line 630 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 694 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 845 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 859 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 873 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 888 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 2018 of file Panzer_STK_Interface.cpp.
|
inline |
Returns the underlying STK bulk data object.
Definition at line 629 of file Panzer_STK_Interface.hpp.
|
inline |
Returns the underlying STK meta data object.
Definition at line 631 of file Panzer_STK_Interface.hpp.
| bool panzer_stk::STK_Interface::isWritable | ( | ) | const |
Returns true if the mesh can be written out to Exodus (i.e. is IOSS/output set up)?
Definition at line 897 of file Panzer_STK_Interface.cpp.
|
inline |
Returns true if the bulk data manager is currently in modification mode (i.e. between beginModification() and endModification())
Definition at line 643 of file Panzer_STK_Interface.hpp.
|
inline |
get the dimension
Definition at line 648 of file Panzer_STK_Interface.hpp.
|
inline |
get the block count
Definition at line 652 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 1365 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 1377 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 1389 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 1399 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 1409 of file Panzer_STK_Interface.cpp.
|
inline |
Get a pointer to the locally owned part.
Definition at line 701 of file Panzer_STK_Interface.hpp.
|
inline |
get the block part
Definition at line 705 of file Panzer_STK_Interface.hpp.
|
inline |
get the block part
Definition at line 713 of file Panzer_STK_Interface.hpp.
|
inline |
get the block part
Definition at line 721 of file Panzer_STK_Interface.hpp.
|
inline |
get the side set count
Definition at line 729 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 732 of file Panzer_STK_Interface.hpp.
|
inline |
get the side set count
Definition at line 739 of file Panzer_STK_Interface.hpp.
|
inline |
Definition at line 742 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 1042 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 1050 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 906 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 989 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 owned elements sharing a single node and its local node id.
| [in] | node | the node to find owned elements sharing. |
| [out] | elements | populated with the owned elements that share the node. |
| [out] | relIds | populated with the node's local (relation) ID within each corresponding element in elements. |
Definition at line 919 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 owned elements sharing a single node and its local node id.
| [in] | nodeId | global ID of the node to find owned elements sharing. |
| [out] | elements | populated with the owned elements that share the node. |
| [out] | relIds | populated with the node's local (relation) ID within each corresponding element in elements. |
| [in] | matchType | entity rank to match on (e.g. node, edge, face) when locating shared relations. |
Definition at line 939 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 957 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::buildSubcells | ( | ) |
force the mesh to build subcells: edges and faces
Definition at line 1058 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 1419 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 1426 of file Panzer_STK_Interface.cpp.
|
inline |
Get an elements global index
Definition at line 799 of file Panzer_STK_Interface.hpp.
|
inline |
Get an elements global index
Definition at line 804 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 1437 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 1442 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 1451 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 1456 of file Panzer_STK_Interface.cpp.
|
inline |
Get an edge's global index
Definition at line 825 of file Panzer_STK_Interface.hpp.
|
inline |
Get an edge's global index
Definition at line 830 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 1463 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 1468 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 1477 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 1482 of file Panzer_STK_Interface.cpp.
|
inline |
Get a face's global index
Definition at line 851 of file Panzer_STK_Interface.hpp.
|
inline |
Get a face's global index
Definition at line 856 of file Panzer_STK_Interface.hpp.
|
inline |
Get an Entity's parallel owner (process rank)
Definition at line 861 of file Panzer_STK_Interface.hpp.
|
inline |
Check if entity handle is valid
Definition at line 866 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 1490 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 1498 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 1512 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 1526 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 1540 of file Panzer_STK_Interface.cpp.
|
inline |
Get the field holding each entity's owning processor rank.
Definition at line 902 of file Panzer_STK_Interface.hpp.
|
inline |
Returns true if initialize been called on this mesh object.
Definition at line 905 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 1554 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 1628 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 1690 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 1720 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 1585 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 1630 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 1741 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 1762 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 1785 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 1809 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 1833 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 1822 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 1851 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 1875 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 1899 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 1888 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodes | ( | const std::vector< std::size_t > & | localIds, |
| ArrayT & | nodes | ||
| ) | const |
Get nodes associated with a number of elements of the same geometry.
| [in] | localIds | Element local IDs to construct nodes |
| [out] | nodes | Output array that will be sized (localIds.size(),#Nodes,#Dim) |
localIds is 0, the function will silently return Definition at line 2114 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodes | ( | const std::vector< stk::mesh::Entity > & | elements, |
| ArrayT & | nodes | ||
| ) | const |
Get nodes associated with a number of elements of the same geometry.
| [in] | elements | Element entities to construct nodes |
| [out] | nodes | Output array that will be sized (localIds.size(),#Nodes,#Dim) |
localIds is 0, the function will silently return Definition at line 2138 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodes | ( | const std::vector< std::size_t > & | localIds, |
| const std::string & | eBlock, | ||
| ArrayT & | nodes | ||
| ) | const |
Get nodes associated with a number of elements of the same geometry.
| [in] | localIds | Element local IDs to construct nodes |
| [in] | eBlock | Element block the elements are in |
| [out] | nodes | Output array that will be sized (localIds.size(),#Nodes,#Dim) |
localIds is 0, the function will silently return Definition at line 2162 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodes | ( | const std::vector< stk::mesh::Entity > & | elements, |
| const std::string & | eBlock, | ||
| ArrayT & | nodes | ||
| ) | const |
Get nodes associated with a number of elements of the same geometry.
| [in] | elements | Element entities to construct nodes |
| [in] | eBlock | Element block the elements are in |
| [out] | nodes | Output array that will be sized (localIds.size(),#Nodes,#Dim) |
localIds is 0, the function will silently return Definition at line 2151 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodesNoResize | ( | const std::vector< std::size_t > & | localIds, |
| ArrayT & | nodes | ||
| ) | const |
Get nodes associated with a number of elements of the same geometry. The node array will not be resized.
| [in] | localIds | Element local IDs to construct nodes |
| [out] | nodes | Output array that will be sized (localIds.size(),#Nodes,#Dim) |
localIds is 0, the function will silently return Definition at line 2180 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodesNoResize | ( | const std::vector< stk::mesh::Entity > & | elements, |
| ArrayT & | nodes | ||
| ) | const |
Get nodes associated with a number of elements of the same geometry. The node array will not be resized.
| [in] | elements | Element entities to construct nodes |
| [out] | nodes | Output array that will be sized (localIds.size(),#Nodes,#Dim) |
localIds is 0, the function will silently return Definition at line 2204 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodesNoResize | ( | const std::vector< std::size_t > & | localIds, |
| const std::string & | eBlock, | ||
| ArrayT & | nodes | ||
| ) | const |
Get nodes associated with a number of elements of the same geometry. The node array will not be resized.
| [in] | localIds | Element local IDs to construct nodes |
| [in] | eBlock | Element block the elements are in |
| [out] | nodes | Output array that will be sized (localIds.size(),#Nodes,#Dim) |
localIds is 0, the function will silently return Definition at line 2228 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodesNoResize | ( | const std::vector< stk::mesh::Entity > & | elements, |
| const std::string & | eBlock, | ||
| ArrayT & | nodes | ||
| ) | const |
Get nodes associated with a number of elements of the same geometry. The node array will not be resized.
| [in] | elements | Element entities to construct nodes |
| [in] | eBlock | Element block the elements are in |
| [out] | nodes | Output array that will be sized (localIds.size(),#Nodes,#Dim) |
localIds is 0, the function will silently return Definition at line 2217 of file Panzer_STK_Interface.hpp.
|
inline |
Get the STK entity rank corresponding to elements.
Definition at line 1205 of file Panzer_STK_Interface.hpp.
|
inline |
Get the STK entity rank corresponding to sides (dimension one lower than element rank).
Definition at line 1207 of file Panzer_STK_Interface.hpp.
|
inline |
Get the STK entity rank corresponding to faces.
Definition at line 1209 of file Panzer_STK_Interface.hpp.
|
inline |
Get the STK entity rank corresponding to edges.
Definition at line 1211 of file Panzer_STK_Interface.hpp.
|
inline |
Get the STK entity rank corresponding to nodes.
Definition at line 1213 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::initializeFromMetaData | ( | ) |
Build fields and parts from the meta data
Definition at line 1675 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::buildLocalElementIDs | ( | ) |
Setup local element IDs
Definition at line 1699 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::buildLocalEdgeIDs | ( | ) |
Setup local edge IDs
Definition at line 1763 of file Panzer_STK_Interface.cpp.
| void panzer_stk::STK_Interface::buildLocalFaceIDs | ( | ) |
Setup local face IDs
Definition at line 1783 of file Panzer_STK_Interface.cpp.
|
inline |
Return a vector containing all the periodic boundary conditions.
Definition at line 1234 of file Panzer_STK_Interface.hpp.
|
inline |
Return a vector containing all the periodic boundary conditions.
Definition at line 1240 of file Panzer_STK_Interface.hpp.
|
inline |
Return a flag indicating if the bounding box search is used when matching periodic Ids.
Definition at line 1245 of file Panzer_STK_Interface.hpp.
|
inline |
Set the periodic search flag. Indicates if the bounding box search is used
Definition at line 1249 of file Panzer_STK_Interface.hpp.
|
inline |
Add a periodic boundary condition.
Definition at line 1257 of file Panzer_STK_Interface.hpp.
|
inline |
Add a set of periodic boundary conditions.
Definition at line 1265 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 |
Pairs DOFs on periodic entities
Definition at line 1826 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 1865 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 1872 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 1922 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 1962 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 1293 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 1300 of file Panzer_STK_Interface.hpp.
|
inline |
Set the value of the initial time-stamp
Definition at line 1306 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 1989 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 1315 of file Panzer_STK_Interface.hpp.
|
inline |
When coordinates are returned in the getElementNodes 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 1324 of file Panzer_STK_Interface.hpp.
|
inline |
Return the use field coordinates flag
Definition at line 1328 of file Panzer_STK_Interface.hpp.
|
inline |
Use lower case (or not) for I/O
Definition at line 1332 of file Panzer_STK_Interface.hpp.
|
inline |
Use lower case (or not) for I/O
Definition at line 1336 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 2014 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 |
but the vertex array will not be resized.
but the vertex array will not be resized.
Definition at line 2067 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 1917 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementVertices_FromCoordsNoResize | ( | const std::vector< stk::mesh::Entity > & | elements, |
| ArrayT & | vertices | ||
| ) | const |
but the vertex array will not be resized.
but the vertex array will not be resized.
Definition at line 1968 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodes_FromField | ( | const std::vector< stk::mesh::Entity > & | elements, |
| const std::string & | eBlock, | ||
| ArrayT & | nodes | ||
| ) | const |
Get nodes 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 nodes |
| [in] | eBlock | Element block the elements are in |
| [out] | nodes | Output array that will be sized (localIds.size(),#Nodes,#Dim) |
localIds is 0, the function will silently return Definition at line 2343 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodes_FromFieldNoResize | ( | const std::vector< stk::mesh::Entity > & | elements, |
| const std::string & | eBlock, | ||
| ArrayT & | nodes | ||
| ) | const |
but the node array will not be resized.
but the node array will not be resized.
Definition at line 2397 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodes_FromCoords | ( | const std::vector< stk::mesh::Entity > & | elements, |
| ArrayT & | nodes | ||
| ) | const |
Get nodes associated with a number of elements of the same geometry. This access the true mesh coordinates array.
| [in] | elements | Element entities to construct nodes |
| [out] | nodes | Output array that will be sized (localIds.size(),#Nodes,#Dim) |
localIds is 0, the function will silently return Definition at line 2246 of file Panzer_STK_Interface.hpp.
| void panzer_stk::STK_Interface::getElementNodes_FromCoordsNoResize | ( | const std::vector< stk::mesh::Entity > & | elements, |
| ArrayT & | nodes | ||
| ) | const |
but the node array will not be resized.
but the node array will not be resized.
Definition at line 2297 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 2024 of file Panzer_STK_Interface.cpp.
|
protected |
Compute global entity counts.
Definition at line 1000 of file Panzer_STK_Interface.cpp.
|
protected |
Compute global entity counts.
Definition at line 1006 of file Panzer_STK_Interface.cpp.
|
protected |
Initialize STK fields using a map (allocate space for storage and writing) to a specific entity rank.
| [in] | nameToField | fields to initialize, keyed by (field name, element block ID). |
| [in] | setupIO | if true, also registers the fields for Exodus output. |
Definition at line 367 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 1978 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 1742 of file Panzer_STK_Interface.cpp.
|
protected |
Determine if a particular field in an element block is a displacement (mesh coordinate) field. If so, returns which spatial axis it displaces in the requested argument.
| [in] | eBlock | element block to check. |
| [in] | fieldName | name of the field to check. |
| [out] | axis | if the field is a displacement field, set to its spatial axis index (0=x, 1=y, 2=z); otherwise unspecified. |
Definition at line 1804 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 1661 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1419 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1420 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1421 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1422 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1423 of file Panzer_STK_Interface.hpp.
|
static |
Definition at line 1424 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1486 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1487 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1489 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1490 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1496 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1497 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1498 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1499 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1500 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1502 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1505 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1506 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1507 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1508 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1509 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1510 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1512 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1513 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1514 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1515 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1516 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1519 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1520 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1521 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1522 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1525 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1527 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1529 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1532 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1535 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1537 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1538 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1540 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1542 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1543 of file Panzer_STK_Interface.hpp.
|
mutableprotected |
Definition at line 1587 of file Panzer_STK_Interface.hpp.
|
mutableprotected |
Definition at line 1590 of file Panzer_STK_Interface.hpp.
|
mutableprotected |
Definition at line 1593 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1596 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1598 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1599 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1600 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1605 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1606 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1608 of file Panzer_STK_Interface.hpp.
|
protected |
Definition at line 1610 of file Panzer_STK_Interface.hpp.