fei_Lookup.hpp

00001 #ifndef _fei_Lookup_hpp_
00002 #define _fei_Lookup_hpp_
00003 
00004 #include <fei_defs.h>
00005 
00047 class Lookup {
00048  public:
00050    virtual ~Lookup(){};
00051 
00056    virtual int getNumFields() = 0;
00057 
00061    virtual int getFieldSize(int fieldID) = 0;
00062 
00063 
00067    virtual const int* getFieldIDsPtr() = 0;
00068 
00072    virtual const int* getFieldSizesPtr() = 0;
00073 
00074 
00078    virtual int getNumElemBlocks() = 0;
00079 
00080 
00084    virtual const GlobalID* getElemBlockIDs() = 0;
00085 
00086 
00099    virtual void getElemBlockInfo(GlobalID blockID,
00100                          int& interleaveStrategy, int& lumpingStrategy,
00101                          int& numElemDOF, int& numElements,
00102                          int& numNodesPerElem, int& numEqnsPerElem) = 0;
00103 
00104 
00110    virtual const int* getNumFieldsPerNode(GlobalID blockID) = 0;
00111 
00112 
00118    virtual const int* const* getFieldIDsTable(GlobalID blockID) = 0;
00119 
00120 
00126    virtual int getEqnNumber(int nodeNumber, int fieldID) = 0;
00127 
00128 
00132    virtual int getAssociatedNodeNumber(int eqnNumber) = 0;
00133 
00134 
00138    virtual int getAssociatedFieldID(int eqnNumber) = 0;
00139 
00140 
00147    virtual bool isInLocalElement(int nodeNumber) = 0;
00148 
00162    virtual int getNumSubdomains(int nodeNumber) = 0;
00163 
00171    virtual int* getSubdomainList(int nodeNumber) = 0;
00172 
00175    virtual int getNumSharedNodes() = 0;
00176 
00179    virtual const int* getSharedNodeNumbers() = 0;
00180 
00185    virtual const int* getSharedNodeProcs(int nodeNumber) = 0;
00186 
00191    virtual int getNumSharingProcs(int nodeNumber) = 0;
00192 
00193    //- given a blk-eqn and a pt-eqn, return the pt-eqn's offset into the blk-eqn
00194    //     (i.e., distance from the 'beginning' of the blk-eqn)
00195    //- given a blk-eqn, return the 'size', or number of pt-eqns corresponding
00196    //     to it.
00201    virtual bool isExactlyBlkEqn(int ptEqn) = 0;
00202 
00206    virtual int ptEqnToBlkEqn(int ptEqn) = 0;
00207 
00213    virtual int getOffsetIntoBlkEqn(int blkEqn, int ptEqn) = 0;
00214 
00219    virtual int getBlkEqnSize(int blkEqn) = 0;
00220 };
00221 
00222 #endif
00223 

Generated on Tue Jul 13 09:27:45 2010 for FEI by  doxygen 1.4.7