Class documentation of Concepts

Loading...
Searching...
No Matches
hpAdaptiveSpaceDG.hh
Go to the documentation of this file.
1
9#pragma once
10
11#include "toolbox/set.hh"
13
14namespace hp2D {
15
16 using concepts::Real;
17
18 // ***************************************************** hpAdaptiveSpaceDG **
19
26 template<class F>
28 public:
30
54 hpAdaptiveSpaceDG(concepts::Mesh2& msh, uint l, uint p,
57 bool linearTrunk = false);
58
80 hpAdaptiveSpaceDG(concepts::Mesh2& msh, uint l, uint p,
81 const char* domains,
83 bool linearTrunk = false);
84
104 hpAdaptiveSpaceDG(concepts::Mesh2& msh, uint l, uint p,
105 std::string domains,
107 bool linearTrunk = false);
108
142 hpAdaptiveSpaceDG(hpFull& prebuild, uint spcNo,
145 bool linearTrunk = false);
146
176 hpAdaptiveSpaceDG(hpFull& prebuild, uint spcNo,
177 std::string domains,
179 bool linearTrunk = false);
180
210 hpAdaptiveSpaceDG(hpFull& prebuild, uint spcNo,
211 const char* domains,
213 bool linearTrunk = false);
214
216 inline virtual uint dim() const { return dim_; }
217 inline virtual uint nelm() const { return nelm_; }
218 inline virtual Scan* scan() const {
219 return new concepts::PListScan<Element<Real> >(*elm_);
220 }
221
223 void rebuild();
224
229
230 const concepts::Sequence<F*> spaces() const { return spc_; }
231
232 virtual const std::set<typename concepts::CellType<2u>::cell * > allCells() const ;
233
234 protected:
235 virtual std::ostream& info(std::ostream& os) const;
238 private:
239
241 std::set<uint> activeCells_;
243 uint dim_;
245 uint nelm_;
247 uint build_;
252 };
253
254} // namespace hp2D
hpAdaptiveSpaceDG(concepts::Mesh2 &msh, uint l, uint p, const char *domains, concepts::BoundaryConditions *bc=0, bool linearTrunk=false)
virtual uint dim() const
Returns the dimension of the space.
virtual uint nelm() const
Returns the number of elements in the space.
virtual Scan * scan() const
Returns a scanner to iterate over the elements of the space.
hpAdaptiveSpaceDG(concepts::Mesh2 &msh, uint l, uint p, std::string domains, concepts::BoundaryConditions *bc=0, bool linearTrunk=false)
hpAdaptiveSpaceDG(concepts::Mesh2 &msh, uint l, uint p, concepts::Sequence< concepts::Set< uint > > domains, concepts::BoundaryConditions *bc=0, bool linearTrunk=false)
hpAdaptiveSpaceDG(hpFull &prebuild, uint spcNo, std::string domains, concepts::BoundaryConditions *bc=0, bool linearTrunk=false)
void rebuild()
Rebuilds the mesh and the elements due to adjustment orders.
concepts::Sequence< F * > spc_
The separate spaces for each sub-domain.
hpAdaptiveSpaceDG(hpFull &prebuild, uint spcNo, const char *domains, concepts::BoundaryConditions *bc=0, bool linearTrunk=false)
hpAdaptiveSpaceDG(hpFull &prebuild, uint spcNo, concepts::Sequence< concepts::Set< uint > > domains, concepts::BoundaryConditions *bc=0, bool linearTrunk=false)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
double Real
Definition typedefs.hh:39