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

app-kersten/Poisson2D.hh
Go to the documentation of this file.
00001 
00006 #ifndef Poisson2D_hh
00007 #define Poisson2D_hh
00008 
00009 #include <set>
00010 #include "basics/typedefs.hh"
00011 #include "geometry/mesh.hh"
00012 #include "operator/sparseMatrix.hh"
00013 #include "hp2D/bilinearForm.hh"
00014 #include "hp2D/linearForm.hh"
00015 #include "Eddy2D_geometries.hh"
00016 #include "Models.hh"
00017 
00018 namespace hp2D {
00019 
00020   using concepts::Real;
00021 
00022   // ************************************************************* Poisson2D **
00023   
00028   class Poisson2D : public Models<Real> {
00029   public:
00030     Poisson2D(concepts::EddyGeometry2D& geom);
00031     virtual ~Poisson2D() {}
00036     virtual void graphicsOut(const uint numPoints,
00037            const std::string path = "");
00038   protected:
00039     virtual std::ostream& info(std::ostream& os) const;
00041     virtual concepts::Mesh2& mesh_() { return geom_.mesh(); }
00043     virtual const std::string mshAbbr_() { return geom_.meshAbbreviation(); }
00044   private:
00046     void constructor_();
00048     concepts::EddyGeometry2D& geom_;
00050     std::auto_ptr<concepts::SparseMatrix<Real> > A_;
00051     // load vector
00052     std::auto_ptr<concepts::Vector<Real> > rhs_;
00054     virtual void solve_();
00056     virtual void matrices_();
00058     void laplaceMatrix_();
00060     void linearform_();
00062     virtual void dataOut_();
00063   };
00064 
00065 
00066 } // namespace hp2D
00067 
00068 #endif // Poisson2D_hh

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