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

#include <Panzer_STK_ModelEvaluatorFactory.hpp>

Inheritance diagram for panzer_stk::STKConnManager< GO >:
Inheritance graph
[legend]

Public Types

typedef panzer::ConnManager
< int, GO >::LocalOrdinal 
LocalOrdinal
 
typedef panzer::ConnManager
< int, GO >::GlobalOrdinal 
GlobalOrdinal
 
- Public Types inherited from panzer::ConnManager< int, GO >
typedef GlobalOrdinalT GlobalOrdinal
 
typedef LocalOrdinalT LocalOrdinal
 
- Public Types inherited from panzer::ConnManagerBase< LocalOrdinalT >
typedef LocalOrdinalT LocalOrdinal
 

Public Member Functions

 STKConnManager (const Teuchos::RCP< const STK_Interface > &stkMeshDB)
 
virtual ~STKConnManager ()
 
virtual void buildConnectivity (const panzer::FieldPattern &fp)
 
virtual Teuchos::RCP
< panzer::ConnManagerBase< int > > 
noConnectivityClone () const
 
virtual const GlobalOrdinalgetConnectivity (LocalOrdinal localElmtId) const
 
virtual GlobalOrdinalgetConnectivity (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_InterfacegetSTKInterface () 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< int, GO >
virtual ~ConnManager ()
 
- Public Member Functions inherited from panzer::ConnManagerBase< LocalOrdinalT >
virtual ~ConnManagerBase ()
 

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_InterfacestkMeshDB_
 
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< LocalOrdinalelmtLidToConn_
 
std::vector< LocalOrdinalconnSize_
 
std::vector< GlobalOrdinalconnectivity_
 
std::size_t ownedElementCount_
 
std::vector< std::string > sidesetsToAssociate_
 
std::vector< bool > sidesetYieldedAssociations_
 
std::vector< std::vector
< LocalOrdinal > > 
elmtToAssociatedElmts_
 

Detailed Description

template<typename GO>
class panzer_stk::STKConnManager< GO >

Definition at line 98 of file Panzer_STK_ModelEvaluatorFactory.hpp.

Member Typedef Documentation

template<typename GO>
typedef panzer::ConnManager<int, GO>::LocalOrdinal panzer_stk::STKConnManager< GO >::LocalOrdinal

Definition at line 65 of file Panzer_STKConnManager.hpp.

template<typename GO>
typedef panzer::ConnManager<int, GO>::GlobalOrdinal panzer_stk::STKConnManager< GO >::GlobalOrdinal

Definition at line 66 of file Panzer_STKConnManager.hpp.

Constructor & Destructor Documentation

template<typename GO >
panzer_stk::STKConnManager< GO >::STKConnManager ( const Teuchos::RCP< const STK_Interface > &  stkMeshDB)

Definition at line 79 of file Panzer_STKConnManager_impl.hpp.

template<typename GO>
virtual panzer_stk::STKConnManager< GO >::~STKConnManager ( )
inlinevirtual

Definition at line 70 of file Panzer_STKConnManager.hpp.

Member Function Documentation

template<typename GO >
void panzer_stk::STKConnManager< GO >::buildConnectivity ( const panzer::FieldPattern fp)
virtual

Tell the connection manager to build the connectivity assuming a particular field pattern.

Parameters
[in]fpField pattern to build connectivity for

Implements panzer::ConnManager< int, GO >.

Definition at line 249 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
Teuchos::RCP< panzer::ConnManagerBase< int > > panzer_stk::STKConnManager< GO >::noConnectivityClone ( ) const
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< int, GO >.

Definition at line 87 of file Panzer_STKConnManager_impl.hpp.

template<typename GO>
virtual const GlobalOrdinal* panzer_stk::STKConnManager< GO >::getConnectivity ( LocalOrdinal  localElmtId) const
inlinevirtual

Get ID connectivity for a particular element

Parameters
[in]localElmtIdLocal element ID
Returns
Pointer to beginning of indices, with total size equal to getConnectivitySize(localElmtId)

Implements panzer::ConnManager< int, GO >.

Definition at line 92 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual GlobalOrdinal* panzer_stk::STKConnManager< GO >::getConnectivity ( LocalOrdinal  localElmtId)
inlinevirtual

Get ID connectivity for a particular element

Parameters
[in]localElmtIdLocal element ID
Returns
Pointer to beginning of indices, with total size equal to getConnectivitySize(localElmtId)

Definition at line 102 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual LocalOrdinal panzer_stk::STKConnManager< GO >::getConnectivitySize ( LocalOrdinal  localElmtId) const
inlinevirtual

How many mesh IDs are associated with this element?

Parameters
[in]localElmtIdLocal element ID
Returns
Number of mesh IDs that are associated with this element.

Implements panzer::ConnManager< int, GO >.

Definition at line 111 of file Panzer_STKConnManager.hpp.

template<typename GO >
std::string panzer_stk::STKConnManager< GO >::getBlockId ( STKConnManager< GO >::LocalOrdinal  localElmtId) const
virtual

Get the block ID for a particular element.

Parameters
[in]localElmtIdLocal element ID

Implements panzer::ConnManager< int, GO >.

Definition at line 311 of file Panzer_STKConnManager_impl.hpp.

template<typename GO>
virtual std::size_t panzer_stk::STKConnManager< GO >::numElementBlocks ( ) const
inlinevirtual

How many element blocks in this mesh?

Implements panzer::ConnManager< int, GO >.

Definition at line 122 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual void panzer_stk::STKConnManager< GO >::getElementBlockIds ( std::vector< std::string > &  elementBlockIds) const
inlinevirtual

Get block IDs from STK mesh object

Implements panzer::ConnManager< int, GO >.

Definition at line 127 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual void panzer_stk::STKConnManager< GO >::getElementBlockTopologies ( std::vector< shards::CellTopology > &  elementBlockTopologies) const
inlinevirtual

What are the cellTopologies linked to element blocks in this connection manager?

Implements panzer::ConnManagerBase< LocalOrdinalT >.

Definition at line 131 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual const std::vector<LocalOrdinal>& panzer_stk::STKConnManager< GO >::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]blockIndexBlock Index
Returns
Vector of local element IDs.

Implements panzer::ConnManager< int, GO >.

Definition at line 146 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual const std::vector<LocalOrdinal>& panzer_stk::STKConnManager< GO >::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]blockIndexBlock Index
Returns
Vector of local element IDs.

Implements panzer::ConnManager< int, GO >.

Definition at line 157 of file Panzer_STKConnManager.hpp.

template<typename GO >
void panzer_stk::STKConnManager< GO >::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]blockIdBlock containing the cells
[in]coordProviderField pattern that builds the coordinates
[out]localCellIdsLocal cell Ids (indices)
[out]Resizablefield container that contains the coordinates of the points on exit.

Get the coordinates for a specified element block and field pattern.

Definition at line 376 of file Panzer_STKConnManager_impl.hpp.

template<typename GO>
Teuchos::RCP<const STK_Interface> panzer_stk::STKConnManager< GO >::getSTKInterface ( ) const
inline

Get STK interface that this connection manager is built on.

Definition at line 175 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::size_t panzer_stk::STKConnManager< GO >::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 185 of file Panzer_STKConnManager.hpp.

template<typename GO >
void panzer_stk::STKConnManager< GO >::associateElementsInSideset ( const std::string  sideset_id)

Before calling buildConnectivity, provide sideset IDs from which to extract associated elements.

Definition at line 400 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
std::vector< std::string > panzer_stk::STKConnManager< GO >::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 445 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
const std::vector< typename STKConnManager< GO >::LocalOrdinal > & panzer_stk::STKConnManager< GO >::getAssociatedNeighbors ( const LocalOrdinal el) const
virtual

Get elements, if any, associated with el, excluding el itself.

Implements panzer::ConnManagerBase< LocalOrdinalT >.

Definition at line 459 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
bool panzer_stk::STKConnManager< GO >::hasAssociatedNeighbors ( ) const
virtual

Return whether getAssociatedNeighbors will return true for at least one input. Default implementation returns false.

Implements panzer::ConnManagerBase< LocalOrdinalT >.

Definition at line 394 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
void panzer_stk::STKConnManager< GO >::applyPeriodicBCs ( const panzer::FieldPattern fp,
GlobalOrdinal  nodeOffset,
GlobalOrdinal  edgeOffset,
GlobalOrdinal  faceOffset,
GlobalOrdinal  cellOffset 
)
protected

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 320 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
void panzer_stk::STKConnManager< GO >::applyInterfaceConditions ( )
protected

Definition at line 415 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
void panzer_stk::STKConnManager< GO >::buildLocalElementMapping ( )
protected

Definition at line 104 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
void panzer_stk::STKConnManager< GO >::clearLocalElementMapping ( )
protected

Definition at line 93 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
void panzer_stk::STKConnManager< GO >::buildOffsetsAndIdCounts ( const panzer::FieldPattern fp,
LocalOrdinal nodeIdCnt,
LocalOrdinal edgeIdCnt,
LocalOrdinal faceIdCnt,
LocalOrdinal cellIdCnt,
GlobalOrdinal nodeOffset,
GlobalOrdinal edgeOffset,
GlobalOrdinal faceOffset,
GlobalOrdinal cellOffset 
) const
protected

Definition at line 167 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
STKConnManager< GO >::LocalOrdinal panzer_stk::STKConnManager< GO >::addSubcellConnectivities ( stk::mesh::Entity  element,
unsigned  subcellRank,
LocalOrdinal  idCnt,
GlobalOrdinal  offset 
)
protected

Definition at line 209 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
void panzer_stk::STKConnManager< GO >::modifySubcellConnectivities ( const panzer::FieldPattern fp,
stk::mesh::Entity  element,
unsigned  subcellRank,
unsigned  subcellId,
GlobalOrdinal  newId,
GlobalOrdinal  offset 
)
protected

Definition at line 234 of file Panzer_STKConnManager_impl.hpp.

Member Data Documentation

template<typename GO>
Teuchos::RCP<const STK_Interface> panzer_stk::STKConnManager< GO >::stkMeshDB_
protected

Definition at line 234 of file Panzer_STKConnManager.hpp.

template<typename GO>
Teuchos::RCP<std::vector<stk::mesh::Entity> > panzer_stk::STKConnManager< GO >::elements_
protected

Definition at line 236 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::map<std::string,Teuchos::RCP<std::vector<LocalOrdinal> > > panzer_stk::STKConnManager< GO >::elementBlocks_
protected

Definition at line 239 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::map<std::string,Teuchos::RCP<std::vector<LocalOrdinal> > > panzer_stk::STKConnManager< GO >::neighborElementBlocks_
protected

Definition at line 240 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::map<std::string,GlobalOrdinal> panzer_stk::STKConnManager< GO >::blockIdToIndex_
protected

Definition at line 241 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::vector<LocalOrdinal> panzer_stk::STKConnManager< GO >::elmtLidToConn_
protected

Definition at line 243 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::vector<LocalOrdinal> panzer_stk::STKConnManager< GO >::connSize_
protected

Definition at line 244 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::vector<GlobalOrdinal> panzer_stk::STKConnManager< GO >::connectivity_
protected

Definition at line 245 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::size_t panzer_stk::STKConnManager< GO >::ownedElementCount_
protected

Definition at line 247 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::vector<std::string> panzer_stk::STKConnManager< GO >::sidesetsToAssociate_
protected

Definition at line 249 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::vector<bool> panzer_stk::STKConnManager< GO >::sidesetYieldedAssociations_
protected

Definition at line 250 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::vector<std::vector<LocalOrdinal> > panzer_stk::STKConnManager< GO >::elmtToAssociatedElmts_
protected

Definition at line 251 of file Panzer_STKConnManager.hpp.


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