finiteelementwithsecond.h

Go to the documentation of this file.
00001 #ifndef  __FiniteElementWithSecond_h
00002 #define  __FiniteElementWithSecond_h
00003 
00004 #include  "finiteelement.h"
00005 
00006 namespace Gascoigne
00007 {
00008 template<int DIM, int BDIM, class TRAFO, class BASE>
00009 class FiniteElementWithSecond : public FiniteElement<DIM,BDIM,TRAFO,BASE>
00010 {
00011   protected:
00012     
00013     typedef  FemInterface::Matrix   Matrix;
00014     
00015     mutable nvector<Matrix> hesse;
00016     
00017   public:
00018 
00019     void ComputeHesse(const Vertex2d& xi) const;
00020     void ComputeHesse(const Vertex3d& xi) const;
00021 
00022     std::string GetName() const {return "FiniteElementWithSecond";}
00023     
00024     FiniteElementWithSecond();
00025     
00026     void point(const Vertex<DIM>& v) const
00027     {
00028       FiniteElement<DIM,BDIM,TRAFO,BASE>::point(v);
00029       ComputeHesse(v);
00030     }
00031 
00032     void  init_test_functions(TestFunction& Phi, double w, int i) const
00033     {
00034       FiniteElement<DIM,BDIM,TRAFO,BASE>::init_test_functions(Phi,w,i);
00035       init_test_hesse(Phi,w,i);
00036     }
00037     void init_test_hesse(TestFunction& N, double w, int i) const;
00038 };
00039 }
00040 
00041 #endif
00042 

Generated on Thu Sep 14 10:34:36 2006 for Gascoigne by  doxygen 1.4.7