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

hp1D/pSpaceL2.hh
Go to the documentation of this file.
00001 
00007 #ifndef pSpaceL2_1D_hh
00008 #define pSpaceL2_1D_hh
00009 
00010 //#include "basics/typedefs.hh"
00011 #include "geometry/mesh.hh"
00012 #include "space/space.hh"
00013 #include "element.hh"
00014 
00015 namespace hp1D {
00016 
00017   using concepts::Real;
00018 
00019   // ************************************************************** pSpaceL2 **
00020 
00026   class pSpaceL2 : public concepts::SpaceOnCells<Real> {
00027   public:
00028     typedef concepts::Scan<Element<Real> > Scan;
00037     pSpaceL2(concepts::Mesh1& msh, uint p);
00038     virtual ~pSpaceL2();
00039     
00040     inline uint dim()   const { return dim_; }
00041     inline uint nelm()  const { return nelm_; }
00042     inline Scan* scan() const {
00043       return new concepts::PListScan<Element<Real> >(*elm_);
00044     }
00045 
00049     void recomputeShapefunctions();
00050   protected:
00051     virtual std::ostream& info(std::ostream& os) const;
00052   private:
00054     concepts::Mesh1& msh_;
00055 
00057     uint dim_;
00058 
00060     uint nelm_;
00061 
00063     uint p_;
00064 
00066     concepts::Joiner<Element<Real>*, 1>* elm_;
00067 
00068     void buildElements_(concepts::EdgeNd& cell, uint& idx);
00069   };
00070 
00071 
00072 } // namespace hp1D
00073 
00074 #endif // pSpaceL2_1D_hh

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