FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
fei::Lookup_Impl Class Reference

#include <fei_Lookup_Impl.hpp>

Inheritance diagram for fei::Lookup_Impl:

Public Member Functions

 Lookup_Impl (fei::SharedPtr< fei::MatrixGraph > matGraph, int nodeIDType)
virtual ~Lookup_Impl ()
int getNumFields ()
int getFieldSize (int fieldID)
const int * getFieldIDsPtr ()
const int * getFieldSizesPtr ()
int getNumElemBlocks ()
const GlobalIDgetElemBlockIDs ()
void getElemBlockInfo (GlobalID blockID, int &interleaveStrategy, int &lumpingStrategy, int &numElemDOF, int &numElements, int &numNodesPerElem, int &numEqnsPerElem)
const int * getNumFieldsPerNode (GlobalID blockID)
const int *const * getFieldIDsTable (GlobalID blockID)
int getEqnNumber (int nodeNumber, int fieldID)
int getAssociatedNodeNumber (int eqnNumber)
int getAssociatedNodeID (int eqnNumber)
int getAssociatedFieldID (int eqnNumber)
bool isInLocalElement (int nodeNumber)
int getNumSubdomains (int nodeNumber)
int * getSubdomainList (int nodeNumber)
int getNumSharedNodes ()
const int * getSharedNodeNumbers ()
const int * getSharedNodeProcs (int nodeNumber)
int getNumSharingProcs (int nodeNumber)
bool isExactlyBlkEqn (int ptEqn)
int ptEqnToBlkEqn (int ptEqn)
int getOffsetIntoBlkEqn (int blkEqn, int ptEqn)
int getBlkEqnSize (int blkEqn)
Public Member Functions inherited from Lookup
virtual ~Lookup ()

Private Member Functions

int buildDatabases ()

Private Attributes

fei::SharedPtr< fei::MatrixGraphmatGraph_
snl_fei::PointBlockMapptBlkMap_
fei::SharedPtr< fei::VectorSpacevspace_
int nodeIDType_
std::map< int, fei::Record< int > * > nodenumPairs_
std::map< int, fei::Record< int > * > eqnnumPairs_
std::map< int, std::vector< int > * > nodenumSubdomainDB_
bool databasesBuilt_
std::vector< int > fieldIDs_
std::vector< int > fieldSizes_
std::vector< GlobalIDelemBlockIDs_
std::vector< const int * > fieldIDs_2D_
std::vector< int > workspace_

Detailed Description

An implementation of the Lookup interface.

Definition at line 27 of file fei_Lookup_Impl.hpp.

Constructor & Destructor Documentation

◆ Lookup_Impl()

fei::Lookup_Impl::Lookup_Impl ( fei::SharedPtr< fei::MatrixGraph > matGraph,
int nodeIDType )

◆ ~Lookup_Impl()

fei::Lookup_Impl::~Lookup_Impl ( )
virtual

Destructor

Definition at line 54 of file fei_Lookup_Impl.cpp.

References fei::destroyValues(), and nodenumSubdomainDB_.

Member Function Documentation

◆ getNumFields()

int fei::Lookup_Impl::getNumFields ( )
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 37 of file fei_Lookup_Impl.hpp.

References vspace_.

Referenced by getFieldIDsPtr().

◆ getFieldSize()

int fei::Lookup_Impl::getFieldSize ( int fieldID)
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 43 of file fei_Lookup_Impl.hpp.

References vspace_.

◆ getFieldIDsPtr()

const int * fei::Lookup_Impl::getFieldIDsPtr ( )
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 49 of file fei_Lookup_Impl.hpp.

References fieldIDs_, getNumFields(), and vspace_.

Referenced by getFieldSizesPtr().

◆ getFieldSizesPtr()

const int * fei::Lookup_Impl::getFieldSizesPtr ( )
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 59 of file fei_Lookup_Impl.hpp.

References fieldIDs_, fieldSizes_, getFieldIDsPtr(), and vspace_.

◆ getNumElemBlocks()

int fei::Lookup_Impl::getNumElemBlocks ( )
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 74 of file fei_Lookup_Impl.hpp.

References matGraph_.

◆ getElemBlockIDs()

const GlobalID * fei::Lookup_Impl::getElemBlockIDs ( )
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 78 of file fei_Lookup_Impl.hpp.

References elemBlockIDs_, and matGraph_.

◆ getElemBlockInfo()

void fei::Lookup_Impl::getElemBlockInfo ( GlobalID blockID,
int & interleaveStrategy,
int & lumpingStrategy,
int & numElemDOF,
int & numElements,
int & numNodesPerElem,
int & numEqnsPerElem )
inlinevirtual

◆ getNumFieldsPerNode()

const int * fei::Lookup_Impl::getNumFieldsPerNode ( GlobalID blockID)
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 100 of file fei_Lookup_Impl.hpp.

References fei::Pattern::getNumFieldsPerID(), fei::ConnectivityBlock::getRowPattern(), and matGraph_.

◆ getFieldIDsTable()

const int *const * fei::Lookup_Impl::getFieldIDsTable ( GlobalID blockID)
inlinevirtual

◆ getEqnNumber()

int fei::Lookup_Impl::getEqnNumber ( int nodeNumber,
int fieldID )
virtual

◆ getAssociatedNodeNumber()

int fei::Lookup_Impl::getAssociatedNodeNumber ( int eqnNumber)
virtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 86 of file fei_Lookup_Impl.cpp.

References eqnnumPairs_, and fei::Record< GlobalIDType >::getNumber().

◆ getAssociatedNodeID()

int fei::Lookup_Impl::getAssociatedNodeID ( int eqnNumber)

Definition at line 99 of file fei_Lookup_Impl.cpp.

References eqnnumPairs_, and fei::Record< GlobalIDType >::getID().

◆ getAssociatedFieldID()

int fei::Lookup_Impl::getAssociatedFieldID ( int eqnNumber)
virtual

◆ isInLocalElement()

bool fei::Lookup_Impl::isInLocalElement ( int nodeNumber)
virtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 156 of file fei_Lookup_Impl.cpp.

References nodenumPairs_, and nodenumSubdomainDB_.

◆ getNumSubdomains()

int fei::Lookup_Impl::getNumSubdomains ( int nodeNumber)
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 140 of file fei_Lookup_Impl.hpp.

References nodenumSubdomainDB_.

◆ getSubdomainList()

int * fei::Lookup_Impl::getSubdomainList ( int nodeNumber)
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 150 of file fei_Lookup_Impl.hpp.

References nodenumSubdomainDB_.

◆ getNumSharedNodes()

int fei::Lookup_Impl::getNumSharedNodes ( )
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 161 of file fei_Lookup_Impl.hpp.

References nodeIDType_, and vspace_.

◆ getSharedNodeNumbers()

const int * fei::Lookup_Impl::getSharedNodeNumbers ( )
inlinevirtual

◆ getSharedNodeProcs()

const int * fei::Lookup_Impl::getSharedNodeProcs ( int nodeNumber)
inlinevirtual

◆ getNumSharingProcs()

int fei::Lookup_Impl::getNumSharingProcs ( int nodeNumber)
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 215 of file fei_Lookup_Impl.hpp.

References fei::Record< GlobalIDType >::getID(), fei::SharedIDs< T >::getSharedIDs(), nodeIDType_, nodenumPairs_, and vspace_.

◆ isExactlyBlkEqn()

bool fei::Lookup_Impl::isExactlyBlkEqn ( int ptEqn)
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 237 of file fei_Lookup_Impl.hpp.

References ptBlkMap_.

◆ ptEqnToBlkEqn()

int fei::Lookup_Impl::ptEqnToBlkEqn ( int ptEqn)
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 241 of file fei_Lookup_Impl.hpp.

References ptBlkMap_.

◆ getOffsetIntoBlkEqn()

int fei::Lookup_Impl::getOffsetIntoBlkEqn ( int blkEqn,
int ptEqn )
virtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 171 of file fei_Lookup_Impl.cpp.

References fei::Record< GlobalIDType >::getOffsetIntoEqnNumbers(), nodenumPairs_, and vspace_.

◆ getBlkEqnSize()

int fei::Lookup_Impl::getBlkEqnSize ( int blkEqn)
inlinevirtual

Implementation of Lookup:: method

Implements Lookup.

Definition at line 248 of file fei_Lookup_Impl.hpp.

References ptBlkMap_.

◆ buildDatabases()

Member Data Documentation

◆ matGraph_

◆ ptBlkMap_

snl_fei::PointBlockMap* fei::Lookup_Impl::ptBlkMap_
private

Definition at line 257 of file fei_Lookup_Impl.hpp.

Referenced by getBlkEqnSize(), isExactlyBlkEqn(), Lookup_Impl(), and ptEqnToBlkEqn().

◆ vspace_

◆ nodeIDType_

int fei::Lookup_Impl::nodeIDType_
private

◆ nodenumPairs_

std::map<int, fei::Record<int>*> fei::Lookup_Impl::nodenumPairs_
private

◆ eqnnumPairs_

std::map<int,fei::Record<int>*> fei::Lookup_Impl::eqnnumPairs_
private

◆ nodenumSubdomainDB_

std::map<int,std::vector<int>*> fei::Lookup_Impl::nodenumSubdomainDB_
private

◆ databasesBuilt_

bool fei::Lookup_Impl::databasesBuilt_
private

Definition at line 266 of file fei_Lookup_Impl.hpp.

Referenced by buildDatabases(), and Lookup_Impl().

◆ fieldIDs_

std::vector<int> fei::Lookup_Impl::fieldIDs_
private

Definition at line 268 of file fei_Lookup_Impl.hpp.

Referenced by getFieldIDsPtr(), getFieldSizesPtr(), and Lookup_Impl().

◆ fieldSizes_

std::vector<int> fei::Lookup_Impl::fieldSizes_
private

Definition at line 269 of file fei_Lookup_Impl.hpp.

Referenced by getFieldSizesPtr(), and Lookup_Impl().

◆ elemBlockIDs_

std::vector<GlobalID> fei::Lookup_Impl::elemBlockIDs_
private

Definition at line 270 of file fei_Lookup_Impl.hpp.

Referenced by getElemBlockIDs(), and Lookup_Impl().

◆ fieldIDs_2D_

std::vector<const int*> fei::Lookup_Impl::fieldIDs_2D_
private

Definition at line 271 of file fei_Lookup_Impl.hpp.

Referenced by getFieldIDsTable(), and Lookup_Impl().

◆ workspace_

std::vector<int> fei::Lookup_Impl::workspace_
private

Definition at line 272 of file fei_Lookup_Impl.hpp.

Referenced by getSharedNodeNumbers(), getSharedNodeProcs(), and Lookup_Impl().


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