#include <Panzer_STKConnManager.hpp>
|
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, const unsigned maxIds=0) |
| Loops over relations of a given rank for a specified element and adds a unique ID to the connectivity vector. More...
|
|
void | modifySubcellConnectivities (const panzer::FieldPattern &fp, stk::mesh::Entity element, unsigned subcellRank, unsigned subcellId, GlobalOrdinal newId, GlobalOrdinal offset) |
|
Definition at line 30 of file Panzer_STKConnManager.hpp.
virtual panzer_stk::STKConnManager::~STKConnManager |
( |
| ) |
|
|
inlinevirtual |
Tell the connection manager to build the connectivity assuming a particular field pattern.
- Parameters
-
[in] | fp | Field pattern to build connectivity for |
Implements panzer::ConnManager.
Definition at line 222 of file Panzer_STKConnManager.cpp.
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 52 of file Panzer_STKConnManager.cpp.
virtual const panzer::GlobalOrdinal* panzer_stk::STKConnManager::getConnectivity |
( |
LocalOrdinal |
localElmtId | ) |
const |
|
inlinevirtual |
Get ID connectivity for a particular element
- Parameters
-
[in] | localElmtId | Local element ID |
- Returns
- Pointer to beginning of indices, with total size equal to
getConnectivitySize(localElmtId)
Implements panzer::ConnManager.
Definition at line 61 of file Panzer_STKConnManager.hpp.
virtual panzer::GlobalOrdinal* panzer_stk::STKConnManager::getConnectivity |
( |
LocalOrdinal |
localElmtId | ) |
|
|
inlinevirtual |
Get ID connectivity for a particular element
- Parameters
-
[in] | localElmtId | Local element ID |
- Returns
- Pointer to beginning of indices, with total size equal to
getConnectivitySize(localElmtId)
Definition at line 71 of file Panzer_STKConnManager.hpp.
How many mesh IDs are associated with this element?
- Parameters
-
[in] | localElmtId | Local element ID |
- Returns
- Number of mesh IDs that are associated with this element.
Implements panzer::ConnManager.
Definition at line 80 of file Panzer_STKConnManager.hpp.
virtual std::size_t panzer_stk::STKConnManager::numElementBlocks |
( |
| ) |
const |
|
inlinevirtual |
virtual void panzer_stk::STKConnManager::getElementBlockIds |
( |
std::vector< std::string > & |
elementBlockIds | ) |
const |
|
inlinevirtual |
virtual void panzer_stk::STKConnManager::getElementBlockTopologies |
( |
std::vector< shards::CellTopology > & |
elementBlockTopologies | ) |
const |
|
inlinevirtual |
virtual const std::vector<LocalOrdinal>& panzer_stk::STKConnManager::getElementBlock |
( |
const std::string & |
blockId | ) |
const |
|
inlinevirtual |
Get the local element IDs for a paricular element block. These are only the owned element ids.
- Parameters
-
[in] | blockIndex | Block Index |
- Returns
- Vector of local element IDs.
Implements panzer::ConnManager.
Definition at line 124 of file Panzer_STKConnManager.hpp.
virtual const std::vector<LocalOrdinal>& panzer_stk::STKConnManager::getNeighborElementBlock |
( |
const std::string & |
blockId | ) |
const |
|
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.
- Parameters
-
[in] | blockIndex | Block Index |
- Returns
- Vector of local element IDs.
Implements panzer::ConnManager.
Definition at line 135 of file Panzer_STKConnManager.hpp.
void panzer_stk::STKConnManager::getDofCoords |
( |
const std::string & |
blockId, |
|
|
const panzer::Intrepid2FieldPattern & |
coordProvider, |
|
|
std::vector< std::size_t > & |
localCellIds, |
|
|
Kokkos::DynRankView< double, PHX::Device > & |
points |
|
) |
| const |
|
virtual |
Get the coordinates (with local cell ids) for a specified element block and field pattern.
- Parameters
-
[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 354 of file Panzer_STKConnManager.cpp.
std::size_t panzer_stk::STKConnManager::getOwnedElementCount |
( |
| ) |
const |
|
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 163 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 376 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 419 of file Panzer_STKConnManager.cpp.
bool panzer_stk::STKConnManager::hasAssociatedNeighbors |
( |
| ) |
const |
|
virtual |
Apply periodic boundary conditions associated with the mesh object.
- Note
- This function requires global All-2-All communication IFF periodic boundary conditions are required.
Definition at line 299 of file Panzer_STKConnManager.cpp.
void panzer_stk::STKConnManager::applyInterfaceConditions |
( |
| ) |
|
|
protected |
void panzer_stk::STKConnManager::buildLocalElementMapping |
( |
| ) |
|
|
protected |
void panzer_stk::STKConnManager::clearLocalElementMapping |
( |
| ) |
|
|
protected |
Loops over relations of a given rank for a specified element and adds a unique ID to the connectivity vector.
- Parameters
-
[in] | element | Mesh element |
[in] | subcellRank | Rank of the subcell entities to identify |
[in] | idCnt | Number of IDs on the requested subcell type |
[in] | offset | Offset for requested subcell type |
| in,optional] | maxIds If positive, maximum number of IDs to connect to this element. If 0 (default), add all IDs. |
- Precondition
- Should call buildOffsetsAndIdCounts() to obtain
idCnt
and offset
.
- Note
- The connectivity manager needs only the lowest order nodal information. Hence, maxIds should be set appropriately if the STK mesh is second order or higher.
Definition at line 172 of file Panzer_STKConnManager.cpp.
Teuchos::RCP<std::vector<stk::mesh::Entity> > panzer_stk::STKConnManager::elements_ |
|
protected |
std::map<std::string,GlobalOrdinal> panzer_stk::STKConnManager::blockIdToIndex_ |
|
protected |
std::vector<LocalOrdinal> panzer_stk::STKConnManager::elmtLidToConn_ |
|
protected |
std::vector<LocalOrdinal> panzer_stk::STKConnManager::connSize_ |
|
protected |
std::vector<GlobalOrdinal> panzer_stk::STKConnManager::connectivity_ |
|
protected |
std::size_t panzer_stk::STKConnManager::ownedElementCount_ |
|
protected |
std::vector<std::string> panzer_stk::STKConnManager::sidesetsToAssociate_ |
|
protected |
std::vector<bool> panzer_stk::STKConnManager::sidesetYieldedAssociations_ |
|
protected |
std::vector<std::vector<LocalOrdinal> > panzer_stk::STKConnManager::elmtToAssociatedElmts_ |
|
protected |
The documentation for this class was generated from the following files: