00001 #ifndef DISCONTINUOUSLAGRANGEFE_IS_INCLUDED 00002 #define DISCONTINUOUSLAGRANGEFE_IS_INCLUDED 00003 00004 #include <LagrangeFE.h> 00005 00006 class DiscontinuousLagrangeFE : public LagrangeFE{ 00007 int element; 00008 public: 00009 DiscontinuousLagrangeFE(); 00010 virtual ~DiscontinuousLagrangeFE() {} 00011 00012 virtual void set(int order); 00013 virtual void set_element_number(int element); 00014 virtual void set(Polygon& p); 00015 virtual void compute_basis_functions(); 00016 virtual int nbf(); 00017 virtual GiNaC::ex N(int i); 00018 virtual GiNaC::ex dof(int i); 00019 }; 00020 00021 00022 00023 class VectorDiscontinuousLagrangeFE : public VectorLagrangeFE { 00024 protected: 00025 int size; 00026 int element; 00027 public: 00028 VectorDiscontinuousLagrangeFE(); 00029 virtual ~VectorDiscontinuousLagrangeFE() {} 00030 00031 virtual void set(int order); 00032 virtual void set_element_number(int element); 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 GiNaC::ex N(int i); 00038 virtual GiNaC::ex dof(int i); 00039 }; 00040 00041 #endif