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

app-kersten/ThinSheet/thinSheetSpace.hh
Go to the documentation of this file.
00001 
00008 #ifndef thinsheetspc_hh
00009 #define thinsheetspc_hh
00010 
00011 #include "basics/typedefs.hh"
00012 #include "hp2D/hpAdaptiveSpaceH1.hh"
00013 #include "thinSheetGeom.hh"
00014 
00015 namespace hp2D {
00016 
00017   using concepts::Real;
00018 
00019   // forward declarations
00020   template<class F>
00021   class Quad;
00022 
00023   // ******************************************************** ThinSheetSpace **
00024 
00025   class ThinSheetSpaceH1 : public hpAdaptiveSpaceH1 {
00026   public:
00027     typedef concepts::Scan<hp2D::Element<Real> > Scan;
00039 //     ThinSheetSpace(concepts::Mesh2& msh, uint l, uint p,
00040 //       concepts::BoundaryConditions* bc = 0,
00041 //       concepts::CellConditions* cc = 0);
00042 
00068     ThinSheetSpaceH1(hpFull& prebuild, 
00069          concepts::BoundaryConditions* bc = 0,
00070          concepts::CellConditions* cc = 0, uint* idx = 0);
00074 //     ThinSheetSpace(const ThinSheetSpace& spc);
00075     virtual ~ThinSheetSpaceH1();
00076 
00088 //     void buildVertexDofs(const BuildTColumnsBase<Real>* b) {
00089 //       setBuildVertexDofs_(b);
00090 //     }
00091 //     /** Change the strategy how the degrees of freedom for the edge
00092 //  are built. The default strategy is BuildH1EdgeTColumns. You
00093 //  can change this strategy any time you chose.
00094 
00095 //  buildEdgeDofs_ is reset with a clone of \c b.
00096 //  @param b New strategy
00097 //     */
00098 //     void buildEdgeDofs(const BuildTColumnsBase<Real>* b) {
00099 //       setBuildEdgeDofs_(b);
00100 //     }
00101 //     //@}
00102     
00103 //     /** Recompute shape functions, e.g. for other abscissas redefined
00104 //  through setIntegrationRule
00105 //      */
00106 //     void recomputeShapefunctions();
00107   protected:
00108     virtual std::ostream& info(std::ostream& os) const;
00109   private:
00112     virtual Element<Real>* newElement_(concepts::Cell2& cell, ushort* pMax,
00113                concepts::TColumn<Real>* T0,
00114                concepts::TColumn<Real>* T1) const;
00115 
00116     bool fittingCells_(const concepts::ThinSheetQuad2d* quad0,
00117            const concepts::ThinSheetQuad2d* quad1) const;
00118 
00119 //     concepts::Mesh2& restrictSubdivision_(concepts::Mesh2& msh);
00124     virtual concepts::TColumn<Real>*
00125     applySmatrices_(const concepts::Element<Real>& elm, uint i,
00126         const concepts::TColumn<Real>* T0,
00127         const concepts::TColumn<Real>* T1);
00128   };
00129 
00130 } // namespace hp2D
00131 
00132 #endif // thinsheetspc_hh

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