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

linDG2D/linearForm.hh
Go to the documentation of this file.
00001 #ifndef dgLinearForms_hh
00002 #define dgLinearForms_hh
00003 
00004 #include "basics/typedefs.hh"
00005 #include "formula/formula.hh"
00006 #include "formula/boundary.hh"
00007 #include "geometry/boundaryConditions.hh"
00008 #include "function/linearForm.hh"
00009 #include "integration.hh"
00010 #include "timestepping/vectors.hh"
00011 
00012 #include "triangle.hh"
00013 #include "meshInfo.hh"
00014 
00015 #define DEBUG_FILLDATA 0
00016 
00017 using concepts::Real;
00018 
00019 namespace linDG2D {
00020 
00024   class LaplaceTimeLf : public timestepping::TimeLinearForm {
00025   public:
00035     LaplaceTimeLf(concepts::Formula<Real>& frm, 
00036                       concepts::BoundaryConditions* bc,
00037                       MeshInfo& mi,
00038                       Real omega, Real tau,
00039                       uint nQuadPts) :
00040       timestepping::TimeLinearForm(), frm_(frm), bc_(bc) , mi_(mi), 
00041       omega_(omega), tau_(tau), nQuadPts_(nQuadPts) { }
00046     void operator() (const concepts::Element<Real> &elmBase,
00047                      concepts::ElementMatrix<Real> &em);
00048   private:
00049     const concepts::Formula<Real>& frm_;
00050     const concepts::BoundaryConditions* bc_;
00051     const MeshInfo& mi_;
00052     const Real omega_;
00053     const Real tau_;
00054     const uint nQuadPts_;
00055   };
00056 
00061   class ScalarProductLf : public concepts::LinearForm<Real> {
00062   public:
00067     ScalarProductLf(concepts::Formula<Real>& frm, uint nQuadPts) 
00068       : frm_(frm), nQuadPts_(nQuadPts) { };
00073     void operator() (const concepts::Element<Real> &elmBase,
00074                      concepts::ElementMatrix<Real> &em);
00075   private:
00076     const concepts::Formula<Real>& frm_;
00077     const uint nQuadPts_;
00078   };
00079 
00080 } // namespace linDG2D
00081 
00082 #endif //dgLinearForms_hh

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