Class documentation of Concepts

Loading...
Searching...
No Matches
adaptiveModels.hh
Go to the documentation of this file.
1
7#ifndef adaptiveModels_hh
8#define adaptiveModels_hh
9
10#include "hp2D/spacePreBuilder.hh"
11#include "models.hh"
12#include "toolbox/inputParam.hh"
13
14namespace concepts {
15
16 // forward declaration
17 class InputAdaptiveModels;
18
19 // ******************************************************** AdaptiveModels **
20
21 template<class F, uint dim>
22 class AdaptiveModel : public Model<F> {
23 public:
24 enum subdivTypes { NONE = 0, X = 1, Y = 2};
25
26 AdaptiveModel(const std::string problemName) : Model<F>(problemName) {}
34 void rebuildMesh(const uint l = 0, const uint p = 1,
35 const uint g = 0, const uint subdiv = X | Y);
37 private:
38 virtual void rebuildMesh_(const uint l = 0, const uint p = 1,
39 const uint g = 0, const uint subdiv = X | Y) = 0;
40 };
41
42 // *************************************************** InputAdaptiveModels **
43
50 public:
56 virtual std::ostream& letters(std::ostream& os) const;
58 virtual std::ostream& arguments(std::ostream& os) const;
60 virtual std::ostream& description(std::ostream& os) const;
65 virtual int input(int opt, const char* optarg);
66 protected:
67 virtual std::ostream& info(std::ostream& os) const;
68 };
69
70
71} // namespace concepts
72
73namespace hp2D {
74
75 // ******************************************************** AdaptiveModels **
76
77 template<class F>
79 public:
81 AdaptiveModel(const std::string problemName, const uint geomRefAttr = 100);
82 protected:
83 enum subdivTypes { NONE = 0, X = 1, Y = 2};
85 virtual void rebuildMesh_(const uint l = 0, const uint p = 1,
86 const uint g = 0, const uint subdiv = X | Y);
87 virtual concepts::Mesh& mesh_() { return prebuild_().mesh(); }
89 virtual hpFull& prebuild_() = 0;
91 const uint geomRefAttr_;
92 };
93
94} // namespace hp2D
95
96#endif // adaptiveModels_hh
void rebuildMesh(const uint l=0, const uint p=1, const uint g=0, const uint subdiv=X|Y)
virtual std::ostream & letters(std::ostream &os) const
virtual int input(int opt, const char *optarg)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual std::ostream & description(std::ostream &os) const
Returns description for help.
InputAdaptiveModels(concepts::InOutParameters &input, const uint p=1)
Constructor.
virtual std::ostream & arguments(std::ostream &os) const
Returns argument list as string.
virtual void rebuildMesh_(const uint l=0, const uint p=1, const uint g=0, const uint subdiv=X|Y)
Rebuilds only the mesh and sets the polynomial degrees.
AdaptiveModel(const std::string problemName, const uint geomRefAttr=100)
Constructor.
virtual hpFull & prebuild_()=0
Space Prebuilder.
const uint geomRefAttr_
Attribute of vertices or edges for geometric refinement.
virtual concepts::Mesh & mesh_()
Mesh.
virtual concepts::Mesh2 & mesh() const
Returns mesh.
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320