Class documentation of Concepts

Loading...
Searching...
No Matches
hpAdaptiveSpaceHCurl.hh
Go to the documentation of this file.
1
8#ifndef hpAdaptSpace2DHCurl_hh
9#define hpAdaptSpace2DHCurl_hh
10
11#include "basics/typedefs.hh"
13#include "formula/boundary.hh"
17
18namespace concepts {
19
20 // forward declarations
21 template<class F>
22 class SMatrixBase;
23
24 class SMatrix1D;
25}
26
27namespace hp2Dedge {
28
29 // forward declarations
30 template<class F>
31 class Quad;
32}
33
34namespace hp2D {
35
36 class hpAdaptiveSpaceHCurl;
37
38 using concepts::Real;
39
40 // ***************************************** hpAdaptiveSpaceHCurlFromInput **
41
59 hpAdaptiveSpaceHCurl*
61 const concepts::InOutParameters input,
62 bool verbose = false);
63
64 // ************************************************** hpAdaptiveSpaceHCurl **
65
67 public:
69
90 const concepts::InOutParameters input);
109 concepts::CellConditions* cc = 0, uint spcNo = 0,
110 uint* offset = 0, uint* idx = 0);
115 virtual ~hpAdaptiveSpaceHCurl();
116
121 virtual uint getOutputDimension() const{
122 return 2u;
123 }
124
152
157 protected:
158 virtual std::ostream& info(std::ostream& os) const;
159 private:
163 virtual Element<Real>* newElement_(concepts::Cell2& cell, ushort* pMax,
165 concepts::TColumn<Real>* T1) const;
171 applySmatrices_(const concepts::Element<Real>& elm, uint i,
172 const concepts::TColumn<Real>* T0,
173 const concepts::TColumn<Real>* T1);
180 void recomputeSmatrices_(const hp2Dedge::Quad<Real>& elm);
181
183 std::unique_ptr<concepts::SMatrix1D> S1left_t_, S1right_t_, S1left_n_,
184 S1right_n_;
185
188 std::unique_ptr<concepts::SMatrixBase<Real> > Smatrices2H_X_[2];
189 std::unique_ptr<concepts::SMatrixBase<Real> > Smatrices2H_Y_[2];
190 std::unique_ptr<concepts::SMatrixBase<Real> > Smatrices2V_X_[2];
191 std::unique_ptr<concepts::SMatrixBase<Real> > Smatrices2V_Y_[2];
192
196 std::unique_ptr<concepts::SMatrixBase<Real> > Smatrices2H_[2];
200 std::unique_ptr<concepts::SMatrixBase<Real> > Smatrices2V_[2];
204 std::unique_ptr<concepts::SMatrixBase<Real> > Smatrices4_[4];
205
206 };
207
208} // namespace hp2D
209
210namespace concepts {
211
212 template<>
213 struct number<hp2D::hpAdaptiveSpaceHCurl> {
214 static inline std::string name() { return "hp2D::hpAdaptiveSpaceHCurl"; }
215 };
216
217} // namespace concepts
218
219#endif // hpAdaptSpace2DHCurl_hh
Two dimensional cell.
Definition cell.hh:89
hpAdaptiveSpaceHCurl(hpFull &prebuild, concepts::BoundaryConditions *bc=0, concepts::CellConditions *cc=0, uint spcNo=0, uint *offset=0, uint *idx=0)
hpAdaptiveSpaceHCurl(concepts::Mesh2 &msh, const concepts::InOutParameters input)
hpAdaptiveSpaceHCurl(concepts::Mesh2 &msh, uint l, uint p, concepts::BoundaryConditions *bc=0, concepts::CellConditions *cc=0)
hpAdaptiveSpaceHCurl(const hpAdaptiveSpaceHCurl &spc)
void buildInnerDofs(const BuildTColumnsBase< Real > *b)
virtual uint getOutputDimension() const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
void buildEdgeDofs(const BuildTColumnsBase< Real > *b)
void setBuildInnerDofs_(const BuildTColumnsBase< Real > *b)
void setBuildEdgeDofs_(const BuildTColumnsBase< Real > *b)
double Real
Definition typedefs.hh:39
hpAdaptiveSpaceHCurl * hpAdaptiveSpaceHCurlFromInput(concepts::Mesh2 &msh, const concepts::InOutParameters input, bool verbose=false)