FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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

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

Destructor

Definition at line 54 of file fei_Lookup_Impl.cpp.

References fei::destroyValues().

Member Function Documentation

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

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

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

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

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

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

void fei::Lookup_Impl::getElemBlockInfo ( GlobalID  blockID,
int &  interleaveStrategy,
int &  lumpingStrategy,
int &  numElemDOF,
int &  numElements,
int &  numNodesPerElem,
int &  numEqnsPerElem 
)
inlinevirtual
const int* fei::Lookup_Impl::getNumFieldsPerNode ( GlobalID  blockID)
inlinevirtual
const int* const* fei::Lookup_Impl::getFieldIDsTable ( GlobalID  blockID)
inlinevirtual
int fei::Lookup_Impl::getEqnNumber ( int  nodeNumber,
int  fieldID 
)
virtual
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().

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

Definition at line 99 of file fei_Lookup_Impl.cpp.

References fei::Record< GlobalIDType >::getID().

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

Implementation of Lookup:: method

Implements Lookup.

Definition at line 156 of file fei_Lookup_Impl.cpp.

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

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

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

const int* fei::Lookup_Impl::getSharedNodeNumbers ( )
inlinevirtual
const int* fei::Lookup_Impl::getSharedNodeProcs ( int  nodeNumber)
inlinevirtual
int fei::Lookup_Impl::getNumSharingProcs ( int  nodeNumber)
inlinevirtual
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_.

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

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

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

int fei::Lookup_Impl::buildDatabases ( )
private

Member Data Documentation

fei::SharedPtr<fei::MatrixGraph> fei::Lookup_Impl::matGraph_
private
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().

fei::SharedPtr<fei::VectorSpace> fei::Lookup_Impl::vspace_
private
int fei::Lookup_Impl::nodeIDType_
private
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().

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

Definition at line 262 of file fei_Lookup_Impl.hpp.

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

bool fei::Lookup_Impl::databasesBuilt_
private

Definition at line 266 of file fei_Lookup_Impl.hpp.

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

Definition at line 268 of file fei_Lookup_Impl.hpp.

Referenced by getFieldIDsPtr(), and getFieldSizesPtr().

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

Definition at line 269 of file fei_Lookup_Impl.hpp.

Referenced by getFieldSizesPtr().

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

Definition at line 270 of file fei_Lookup_Impl.hpp.

Referenced by getElemBlockIDs().

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

Definition at line 271 of file fei_Lookup_Impl.hpp.

Referenced by getFieldIDsTable().

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: