Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

app-kersten/ThinSheet/thinSheetForm.hh
Go to the documentation of this file.
00001 
00008 #ifndef thinSheetForm_hh
00009 #define thinSheetForm_hh
00010 
00011 //#include <memory>
00012 #include "hp2D/bilinearForm.hh"
00013 
00014 namespace concepts {
00015   // forward declarations
00016   template<class F>
00017   class Element;
00018 
00019   template<class F>
00020   class ElementMatrix;
00021 }
00022 
00023 namespace hp2D {
00024   // forward declarations
00025   template<class F>
00026   class Quad;
00027 
00028   class ThinSheetQuad;
00029 
00030   using concepts::Real;
00031 
00032   // **************************************************** DiffussionReaction **
00033 
00034   class DiffussionReaction : public concepts::BilinearForm<Real> {
00035     DiffussionReaction(const concepts::Formula<Real>& c) {}
00036     virtual ~DiffussionReaction() {}
00037     virtual *DiffussionReaction clone() const { 
00038       return new DiffussionReaction(c_);
00039     }
00040     virtual void operator()(const concepts::Element<Real>& elmX,
00041           const concepts::Element<Real>& elmY, 
00042           concepts::ElementMatrix<Real>& em); 
00043     void operator()(const Quad<Real>& elmX, const Quad<Real>& elmY, 
00044         concepts::ElementMatrix<F>& em);
00045     void operator()(const ThinSheetQuad& elmX,
00046         const ThinSheetQuad& elmY, 
00047         concepts::ElementMatrix<Real>& em);
00048   protected:
00049     virtual std::ostream& info(std::ostream& os) const;
00050   private:
00051     const concepts::Formula<Real> c_;
00052   };
00053   
00054 } // namespace hp2D
00055 
00056 #endif // thinSheetForm_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)