Panzer
Version of the Day
|
#include <Panzer_STKConnManager.hpp>
Public Types | |
typedef panzer::ConnManager::LocalOrdinal | LocalOrdinal |
typedef panzer::ConnManager::GlobalOrdinal | GlobalOrdinal |
Public Types inherited from panzer::ConnManager | |
using | GlobalOrdinal = panzer::GlobalOrdinal |
using | LocalOrdinal = int |
Public Member Functions | |
STKConnManager (const Teuchos::RCP< const STK_Interface > &stkMeshDB) | |
virtual | ~STKConnManager () |
virtual void | buildConnectivity (const panzer::FieldPattern &fp) |
virtual Teuchos::RCP < panzer::ConnManager > | noConnectivityClone () const |
virtual const panzer::GlobalOrdinal * | getConnectivity (LocalOrdinal localElmtId) const |
virtual panzer::GlobalOrdinal * | getConnectivity (LocalOrdinal localElmtId) |
virtual LocalOrdinal | getConnectivitySize (LocalOrdinal localElmtId) const |
virtual std::string | getBlockId (LocalOrdinal localElmtId) const |
virtual std::size_t | numElementBlocks () const |
virtual void | getElementBlockIds (std::vector< std::string > &elementBlockIds) const |
virtual void | getElementBlockTopologies (std::vector< shards::CellTopology > &elementBlockTopologies) const |
virtual const std::vector < LocalOrdinal > & | getElementBlock (const std::string &blockId) const |
virtual const std::vector < LocalOrdinal > & | getNeighborElementBlock (const std::string &blockId) const |
virtual void | getDofCoords (const std::string &blockId, const panzer::Intrepid2FieldPattern &coordProvider, std::vector< std::size_t > &localCellIds, Kokkos::DynRankView< double, PHX::Device > &points) const |
Teuchos::RCP< const STK_Interface > | getSTKInterface () const |
std::size_t | getOwnedElementCount () const |
void | associateElementsInSideset (const std::string sideset_id) |
std::vector< std::string > | checkAssociateElementsInSidesets (const Teuchos::Comm< int > &comm) const |
virtual const std::vector < LocalOrdinal > & | getAssociatedNeighbors (const LocalOrdinal &el) const |
virtual bool | hasAssociatedNeighbors () const |
Public Member Functions inherited from panzer::ConnManager | |
virtual | ~ConnManager () |
Protected Member Functions | |
void | applyPeriodicBCs (const panzer::FieldPattern &fp, GlobalOrdinal nodeOffset, GlobalOrdinal edgeOffset, GlobalOrdinal faceOffset, GlobalOrdinal cellOffset) |
void | applyInterfaceConditions () |
void | buildLocalElementMapping () |
void | clearLocalElementMapping () |
void | buildOffsetsAndIdCounts (const panzer::FieldPattern &fp, LocalOrdinal &nodeIdCnt, LocalOrdinal &edgeIdCnt, LocalOrdinal &faceIdCnt, LocalOrdinal &cellIdCnt, GlobalOrdinal &nodeOffset, GlobalOrdinal &edgeOffset, GlobalOrdinal &faceOffset, GlobalOrdinal &cellOffset) const |
LocalOrdinal | addSubcellConnectivities (stk::mesh::Entity element, unsigned subcellRank, LocalOrdinal idCnt, GlobalOrdinal offset) |
void | modifySubcellConnectivities (const panzer::FieldPattern &fp, stk::mesh::Entity element, unsigned subcellRank, unsigned subcellId, GlobalOrdinal newId, GlobalOrdinal offset) |
Protected Attributes | |
Teuchos::RCP< const STK_Interface > | stkMeshDB_ |
Teuchos::RCP< std::vector < stk::mesh::Entity > > | elements_ |
std::map< std::string, Teuchos::RCP< std::vector < LocalOrdinal > > > | elementBlocks_ |
std::map< std::string, Teuchos::RCP< std::vector < LocalOrdinal > > > | neighborElementBlocks_ |
std::map< std::string, GlobalOrdinal > | blockIdToIndex_ |
std::vector< LocalOrdinal > | elmtLidToConn_ |
std::vector< LocalOrdinal > | connSize_ |
std::vector< GlobalOrdinal > | connectivity_ |
std::size_t | ownedElementCount_ |
std::vector< std::string > | sidesetsToAssociate_ |
std::vector< bool > | sidesetYieldedAssociations_ |
std::vector< std::vector < LocalOrdinal > > | elmtToAssociatedElmts_ |
Definition at line 62 of file Panzer_STKConnManager.hpp.
Definition at line 64 of file Panzer_STKConnManager.hpp.
Definition at line 65 of file Panzer_STKConnManager.hpp.
panzer_stk::STKConnManager::STKConnManager | ( | const Teuchos::RCP< const STK_Interface > & | stkMeshDB | ) |
Definition at line 78 of file Panzer_STKConnManager.cpp.
|
inlinevirtual |
Definition at line 69 of file Panzer_STKConnManager.hpp.
|
virtual |
Tell the connection manager to build the connectivity assuming a particular field pattern.
[in] | fp | Field pattern to build connectivity for |
Implements panzer::ConnManager.
Definition at line 245 of file Panzer_STKConnManager.cpp.
|
virtual |
Build a clone of this connection manager, without any assumptions about the required connectivity (e.g. buildConnectivity
has never been called).
Implements panzer::ConnManager.
Definition at line 84 of file Panzer_STKConnManager.cpp.
|
inlinevirtual |
Get ID connectivity for a particular element
[in] | localElmtId | Local element ID |
getConnectivitySize(localElmtId)
Implements panzer::ConnManager.
Definition at line 91 of file Panzer_STKConnManager.hpp.
|
inlinevirtual |
Get ID connectivity for a particular element
[in] | localElmtId | Local element ID |
getConnectivitySize(localElmtId)
Definition at line 101 of file Panzer_STKConnManager.hpp.
|
inlinevirtual |
How many mesh IDs are associated with this element?
[in] | localElmtId | Local element ID |
Implements panzer::ConnManager.
Definition at line 110 of file Panzer_STKConnManager.hpp.
|
virtual |
Get the block ID for a particular element.
[in] | localElmtId | Local element ID |
Implements panzer::ConnManager.
Definition at line 306 of file Panzer_STKConnManager.cpp.
|
inlinevirtual |
How many element blocks in this mesh?
Implements panzer::ConnManager.
Definition at line 121 of file Panzer_STKConnManager.hpp.
|
inlinevirtual |
Get block IDs from STK mesh object
Implements panzer::ConnManager.
Definition at line 126 of file Panzer_STKConnManager.hpp.
|
inlinevirtual |
What are the cellTopologies linked to element blocks in this connection manager?
Implements panzer::ConnManager.
Definition at line 130 of file Panzer_STKConnManager.hpp.
|
inlinevirtual |
Get the local element IDs for a paricular element block. These are only the owned element ids.
[in] | blockIndex | Block Index |
Implements panzer::ConnManager.
Definition at line 145 of file Panzer_STKConnManager.hpp.
|
inlinevirtual |
Get the local element IDs for a paricular element block. These element ids are not owned, and the element will live on another processor.
[in] | blockIndex | Block Index |
Implements panzer::ConnManager.
Definition at line 156 of file Panzer_STKConnManager.hpp.
|
virtual |
Get the coordinates (with local cell ids) for a specified element block and field pattern.
[in] | blockId | Block containing the cells |
[in] | coordProvider | Field pattern that builds the coordinates |
[out] | localCellIds | Local cell Ids (indices) |
[out] | Resizable | field container that contains the coordinates of the points on exit. |
Get the coordinates for a specified element block and field pattern.
Definition at line 369 of file Panzer_STKConnManager.cpp.
|
inline |
Get STK interface that this connection manager is built on.
Definition at line 174 of file Panzer_STKConnManager.hpp.
|
inline |
How many elements are owned by this processor. Further, the ordering of the local ids is suct that the first getOwnedElementCount()
elements are owned by this processor. This is true only because of the local element ids generated by the STK_Interface
object.
Definition at line 184 of file Panzer_STKConnManager.hpp.
void panzer_stk::STKConnManager::associateElementsInSideset | ( | const std::string | sideset_id | ) |
Before calling buildConnectivity, provide sideset IDs from which to extract associated elements.
Definition at line 391 of file Panzer_STKConnManager.cpp.
std::vector< std::string > panzer_stk::STKConnManager::checkAssociateElementsInSidesets | ( | const Teuchos::Comm< int > & | comm | ) | const |
After calling buildConnectivity
, optionally check which sidesets yielded no element associations in this communicator. This is a parallel operation. In many applications, the outcome indicating correctness is that the returned vector is empty.
Definition at line 434 of file Panzer_STKConnManager.cpp.
|
virtual |
Get elements, if any, associated with el
, excluding el
itself.
Implements panzer::ConnManager.
Definition at line 447 of file Panzer_STKConnManager.cpp.
|
virtual |
Return whether getAssociatedNeighbors will return true for at least one input. Default implementation returns false.
Implements panzer::ConnManager.
Definition at line 386 of file Panzer_STKConnManager.cpp.
|
protected |
Apply periodic boundary conditions associated with the mesh object.
Definition at line 314 of file Panzer_STKConnManager.cpp.
|
protected |
Definition at line 405 of file Panzer_STKConnManager.cpp.
|
protected |
Definition at line 99 of file Panzer_STKConnManager.cpp.
|
protected |
Definition at line 89 of file Panzer_STKConnManager.cpp.
|
protected |
Definition at line 162 of file Panzer_STKConnManager.cpp.
|
protected |
Definition at line 204 of file Panzer_STKConnManager.cpp.
|
protected |
Definition at line 231 of file Panzer_STKConnManager.cpp.
|
protected |
Definition at line 233 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 235 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 238 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 239 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 240 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 242 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 243 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 244 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 246 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 248 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 249 of file Panzer_STKConnManager.hpp.
|
protected |
Definition at line 250 of file Panzer_STKConnManager.hpp.