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_classic::STKConnManager< GO > Class Template Reference

#include <Panzer_STK_ModelEvaluatorFactory.hpp>

Inheritance diagram for panzer_stk_classic::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 GO GlobalOrdinal
 
typedef int LocalOrdinal
 
- Public Types inherited from panzer::ConnManagerBase< LocalOrdinalT >
typedef LocalOrdinalT LocalOrdinal
 

Public Member Functions

 STKConnManager (const Teuchos::RCP< STK_Interface > &stkMeshDB)
 
virtual ~STKConnManager ()
 
virtual void buildConnectivity (const panzer::FieldPattern &fp)
 
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 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::IntrepidFieldPattern &coordProvider, std::vector< std::size_t > &localCellIds, Intrepid::FieldContainer< double > &points) const
 
Teuchos::RCP< 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_classic::mesh::Entity *element, unsigned subcellRank, LocalOrdinal idCnt, GlobalOrdinal offset)
 
void modifySubcellConnectivities (const panzer::FieldPattern &fp, stk_classic::mesh::Entity *element, unsigned subcellRank, unsigned subcellId, GlobalOrdinal newId, GlobalOrdinal offset)
 

Protected Attributes

Teuchos::RCP< STK_InterfacestkMeshDB_
 
Teuchos::RCP< std::vector
< stk_classic::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_classic::STKConnManager< GO >

Definition at line 101 of file Panzer_STK_ModelEvaluatorFactory.hpp.

Member Typedef Documentation

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

Definition at line 62 of file Panzer_STKConnManager.hpp.

Definition at line 63 of file Panzer_STKConnManager.hpp.

Constructor & Destructor Documentation

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

Definition at line 79 of file Panzer_STKConnManager_impl.hpp.

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

Definition at line 67 of file Panzer_STKConnManager.hpp.

Member Function Documentation

template<typename GO >
void panzer_stk_classic::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 237 of file Panzer_STKConnManager_impl.hpp.

template<typename GO>
virtual const GlobalOrdinal* panzer_stk_classic::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 83 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual GlobalOrdinal* panzer_stk_classic::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 93 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual LocalOrdinal panzer_stk_classic::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 102 of file Panzer_STKConnManager.hpp.

template<typename GO >
std::string panzer_stk_classic::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 292 of file Panzer_STKConnManager_impl.hpp.

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

How many element blocks in this mesh?

Implements panzer::ConnManager< int, GO >.

Definition at line 113 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual void panzer_stk_classic::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 118 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual const std::vector<LocalOrdinal>& panzer_stk_classic::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 128 of file Panzer_STKConnManager.hpp.

template<typename GO>
virtual const std::vector<LocalOrdinal>& panzer_stk_classic::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 139 of file Panzer_STKConnManager.hpp.

template<typename GO >
void panzer_stk_classic::STKConnManager< GO >::getDofCoords ( const std::string &  blockId,
const panzer::IntrepidFieldPattern coordProvider,
std::vector< std::size_t > &  localCellIds,
Intrepid::FieldContainer< double > &  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 352 of file Panzer_STKConnManager_impl.hpp.

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

Get STK interface that this connection manager is built on.

Definition at line 157 of file Panzer_STKConnManager.hpp.

template<typename GO>
std::size_t panzer_stk_classic::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 167 of file Panzer_STKConnManager.hpp.

template<typename GO >
void panzer_stk_classic::STKConnManager< GO >::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_impl.hpp.

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

template<typename GO >
const std::vector< typename STKConnManager< GO >::LocalOrdinal > & panzer_stk_classic::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 434 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
bool panzer_stk_classic::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 370 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
void panzer_stk_classic::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 301 of file Panzer_STKConnManager_impl.hpp.

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

Definition at line 391 of file Panzer_STKConnManager_impl.hpp.

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

Definition at line 96 of file Panzer_STKConnManager_impl.hpp.

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

Definition at line 85 of file Panzer_STKConnManager_impl.hpp.

template<typename GO >
void panzer_stk_classic::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 159 of file Panzer_STKConnManager_impl.hpp.

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

Definition at line 199 of file Panzer_STKConnManager_impl.hpp.

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

Definition at line 222 of file Panzer_STKConnManager_impl.hpp.

Member Data Documentation

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

Definition at line 216 of file Panzer_STKConnManager.hpp.

template<typename GO>
Teuchos::RCP<std::vector<stk_classic::mesh::Entity*> > panzer_stk_classic::STKConnManager< GO >::elements_
protected

Definition at line 218 of file Panzer_STKConnManager.hpp.

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

Definition at line 221 of file Panzer_STKConnManager.hpp.

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

Definition at line 222 of file Panzer_STKConnManager.hpp.

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

Definition at line 223 of file Panzer_STKConnManager.hpp.

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

Definition at line 225 of file Panzer_STKConnManager.hpp.

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

Definition at line 226 of file Panzer_STKConnManager.hpp.

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

Definition at line 227 of file Panzer_STKConnManager.hpp.

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

Definition at line 229 of file Panzer_STKConnManager.hpp.

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

Definition at line 231 of file Panzer_STKConnManager.hpp.

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

Definition at line 232 of file Panzer_STKConnManager.hpp.

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

Definition at line 233 of file Panzer_STKConnManager.hpp.


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