FEI Version of the Day
fei_Lookup.hpp
00001 #ifndef _fei_Lookup_hpp_
00002 #define _fei_Lookup_hpp_
00003 
00004 #include <fei_defs.h>
00005 
00040 class Lookup {
00041  public:
00043    virtual ~Lookup(){};
00044 
00049    virtual int getNumFields() = 0;
00050 
00054    virtual int getFieldSize(int fieldID) = 0;
00055 
00056 
00060    virtual const int* getFieldIDsPtr() = 0;
00061 
00065    virtual const int* getFieldSizesPtr() = 0;
00066 
00067 
00071    virtual int getNumElemBlocks() = 0;
00072 
00073 
00077    virtual const GlobalID* getElemBlockIDs() = 0;
00078 
00079 
00092    virtual void getElemBlockInfo(GlobalID blockID,
00093                          int& interleaveStrategy, int& lumpingStrategy,
00094                          int& numElemDOF, int& numElements,
00095                          int& numNodesPerElem, int& numEqnsPerElem) = 0;
00096 
00097 
00103    virtual const int* getNumFieldsPerNode(GlobalID blockID) = 0;
00104 
00105 
00111    virtual const int* const* getFieldIDsTable(GlobalID blockID) = 0;
00112 
00113 
00119    virtual int getEqnNumber(int nodeNumber, int fieldID) = 0;
00120 
00121 
00125    virtual int getAssociatedNodeNumber(int eqnNumber) = 0;
00126 
00127 
00131    virtual int getAssociatedFieldID(int eqnNumber) = 0;
00132 
00133 
00140    virtual bool isInLocalElement(int nodeNumber) = 0;
00141 
00155    virtual int getNumSubdomains(int nodeNumber) = 0;
00156 
00164    virtual int* getSubdomainList(int nodeNumber) = 0;
00165 
00168    virtual int getNumSharedNodes() = 0;
00169 
00172    virtual const int* getSharedNodeNumbers() = 0;
00173 
00178    virtual const int* getSharedNodeProcs(int nodeNumber) = 0;
00179 
00184    virtual int getNumSharingProcs(int nodeNumber) = 0;
00185 
00186    //- given a blk-eqn and a pt-eqn, return the pt-eqn's offset into the blk-eqn
00187    //     (i.e., distance from the 'beginning' of the blk-eqn)
00188    //- given a blk-eqn, return the 'size', or number of pt-eqns corresponding
00189    //     to it.
00194    virtual bool isExactlyBlkEqn(int ptEqn) = 0;
00195 
00199    virtual int ptEqnToBlkEqn(int ptEqn) = 0;
00200 
00206    virtual int getOffsetIntoBlkEqn(int blkEqn, int ptEqn) = 0;
00207 
00212    virtual int getBlkEqnSize(int blkEqn) = 0;
00213 };
00214 
00215 #endif
00216 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends