FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
fei::Lookup_Impl Class Reference

#include <fei_Lookup_Impl.hpp>

Inheritance diagram for fei::Lookup_Impl:
Inheritance graph
[legend]

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().

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 fei::VectorSpace::getNumFields(), and 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 fei::VectorSpace::getFieldSize(), and 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_, fei::VectorSpace::getFields(), 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(), fei::VectorSpace::getFieldSize(), 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 fei::MatrixGraph::getConnectivityBlocks(), and 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_, fei::MatrixGraph::getConnectivityBlockIDs(), 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

◆ 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 fei::Record< GlobalIDType >::getNumber().

◆ getAssociatedNodeID()

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

Definition at line 99 of file fei_Lookup_Impl.cpp.

References 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.

◆ 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 fei::VectorSpace::getNumSharedIDs(), 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

◆ 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 snl_fei::PointBlockMap::isExactlyBlkEqn(), and 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 snl_fei::PointBlockMap::eqnToBlkEqn(), and 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().

◆ 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 snl_fei::PointBlockMap::getBlkEqnSize(), and ptBlkMap_.

◆ buildDatabases()

int fei::Lookup_Impl::buildDatabases ( )
private

Member Data Documentation

◆ matGraph_

fei::SharedPtr<fei::MatrixGraph> fei::Lookup_Impl::matGraph_
private

◆ 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_

fei::SharedPtr<fei::VectorSpace> fei::Lookup_Impl::vspace_
private

◆ nodeIDType_

int fei::Lookup_Impl::nodeIDType_
private

◆ nodenumPairs_

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

Definition at line 261 of file fei_Lookup_Impl.hpp.

Referenced by getNumSharingProcs(), and getSharedNodeProcs().

◆ eqnnumPairs_

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

Definition at line 262 of file fei_Lookup_Impl.hpp.

◆ nodenumSubdomainDB_

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

Definition at line 264 of file fei_Lookup_Impl.hpp.

Referenced by getNumSubdomains(), and getSubdomainList().

◆ databasesBuilt_

bool fei::Lookup_Impl::databasesBuilt_
private

Definition at line 266 of file fei_Lookup_Impl.hpp.

◆ fieldIDs_

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

Definition at line 268 of file fei_Lookup_Impl.hpp.

Referenced by getFieldIDsPtr(), and getFieldSizesPtr().

◆ fieldSizes_

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

Definition at line 269 of file fei_Lookup_Impl.hpp.

Referenced by getFieldSizesPtr().

◆ elemBlockIDs_

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

Definition at line 270 of file fei_Lookup_Impl.hpp.

Referenced by getElemBlockIDs().

◆ 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().

◆ workspace_

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

Definition at line 272 of file fei_Lookup_Impl.hpp.

Referenced by getSharedNodeNumbers(), and getSharedNodeProcs().


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