00001 #include <FE.h> 00002 00003 StandardFE:: StandardFE() { 00004 p = NULL; 00005 order = -1; 00006 } 00007 00008 int StandardFE:: nbf() { 00009 return Ns.size(); 00010 } 00011 00012 void StandardFE:: compute_basis_functions() { 00013 cout <<"StandardFE compute_basis_functions not implemented."<<endl; 00014 cout <<"Use some derived class like e.g. LagrangeFE."<<endl; 00015 } 00016 00017 Polygon& StandardFE:: getPolygon() { 00018 // FIXME this is not nice. 00019 // should check that p is ok!! 00020 return *p; 00021 } 00022 00023 void StandardFE:: set(Polygon& p_) { 00024 Ns.clear(); 00025 dofs.clear(); 00026 p = &p_; 00027 } 00028 00029 00030 void StandardFE:: set(int order_) { 00031 Ns.clear(); 00032 dofs.clear(); 00033 order = order_; 00034 } 00035 00036 00037 GiNaC::ex StandardFE:: dof(int i) { 00038 //NOTE This could be point or dirac on point. 00039 return dofs[i]; 00040 } 00041 00042 00043 GiNaC::ex StandardFE::N(int i) { 00044 return Ns[i]; 00045 } 00046 00047 00048