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
00014
00015
00016
00017 map<pair<int,int>, GiNaC::ex> loc2dof;
00018
00019 map<GiNaC::ex,int,GiNaC::ex_is_less> dof2index;
00020
00021 map<int,GiNaC::ex> index2dof;
00022
00023 map <GiNaC::ex, vector<pair<int,int> >,GiNaC::ex_is_less > dof2loc;
00024
00025 public:
00026 Dof() { counter = 0; }
00027 ~Dof() {}
00028 int insert_dof(int e, int i, GiNaC::ex Li);
00029
00030
00031
00032 int glob_dof(int e, int i);
00033 int glob_dof(GiNaC::ex Lj);
00034 GiNaC::ex glob_dof(int j);
00035 int size();
00036 vector<pair<int, int> > glob2loc(int j);
00037 };
00038
00039
00040 #endif
00041