00001 #ifndef LAGRANGEFE_IS_INCLUDED 00002 #define LAGRANGEFE_IS_INCLUDED 00003 00004 #include <FE.h> 00005 00006 class LagrangeFE : public StandardFE { 00007 public: 00008 LagrangeFE() {} 00009 ~LagrangeFE() {} 00010 00011 virtual void set(int order); 00012 virtual void set(Polygon& p); 00013 virtual void compute_basis_functions(); 00014 virtual int nbf(); 00015 virtual ex N(int i); 00016 virtual ex dof(int i); 00017 }; 00018 00019 00020 // FIXME: would like to have this element also 00021 // in vector version since this it will give 00022 // nice code in the element matrix e.g.: 00023 // div(vfe.N(j))*pfe.N(i) 00024 00025 class VectorLagrangeFE : public StandardFE { 00026 protected: 00027 int size; 00028 public: 00029 VectorLagrangeFE() {} 00030 ~VectorLagrangeFE() {} 00031 00032 virtual void set(int order); 00033 virtual void set(Polygon& p); 00034 virtual void set_size(int size_); 00035 virtual void compute_basis_functions(); 00036 virtual int nbf(); 00037 virtual ex N(int i); 00038 virtual ex dof(int i); 00039 }; 00040 00041 #endif