Dof.h

Go to the documentation of this file.
00001 #ifndef DOF_IS_INCLUDED
00002 #define DOF_IS_INCLUDED
00003 
00004 #include <FE.h> 
00005 
00006 
00007 
00008 
00009 
00010 class Dof {
00011   protected: 
00012   int counter; 
00013   // the structures loc2dof, dof2index, and doc2loc  are completely dynamic
00014   // they are all initialized and updated by insert_dof(int e, int i, ex Li) 
00015   
00016   // (int e, int i) -> ex Li 
00017   map<pair<int,int>, ex>          loc2dof;   
00018   // (ex Lj)    -> int j 
00019   map<ex,int,ex_is_less>          dof2index; 
00020   // (int j)        -> ex Lj 
00021   map<int,ex>                     index2dof;  
00022   // (ex j)    -> vector< pair<e1, i1>, ..  pair<en, in> >
00023   map <ex, vector<pair<int,int> >,ex_is_less >  dof2loc;     
00024 
00025   public: 
00026   Dof() { counter = 0; }
00027   ~Dof() {}
00028   int insert_dof(int e, int i, ex Li);  // to update the internal structures  
00029 
00030   // helper functions when the dofs have been set  
00031   // These do not modify the internal structure 
00032   int glob_dof(int e, int i); 
00033   int glob_dof(ex Lj); 
00034   ex  glob_dof(int j); 
00035   int size();  
00036   vector<pair<int, int> > glob2loc(int j); 
00037 }; 
00038 
00039 
00040 #endif 
00041 

Generated on Tue Nov 22 11:10:22 2005 for SyFi by  doxygen 1.4.4