aprioriRef.hh

Go to the documentation of this file.
1 
6 #ifndef APRIORIRef3D_hh
7 #define APRIORIRef3D_hh
8 
9 #include "basics/typedefs.hh"
10 #include "basics/exceptions.hh"
11 #include "geometry/connector.hh"
12 #include "geometry/connectorSet.hh"
13 #include "space/postProcess.hh"
14 #include "space/hpMethod.hh"
15 
16 // forward declaration
17 namespace concepts {
18  class Hexahedron;
19 }
20 
21 namespace hp3D {
22 
23  using concepts::Real;
24 
25  // ***************************************************** APrioriRefinement **
26 
40  public:
52  concepts::Attribute attribVtx, concepts::Attribute attribEdge,
53  concepts::Attribute attribFace, const int* const p) :
54  spc_(spc), attribVtx_(attribVtx), attribEdge_(attribEdge),
55  attribFace_(attribFace), p_(p) {};
70  const int* const p) : spc_(spc), attribVtx_(attribVtx), attribEdge_(attribEdge),
71  attribFace_(attribFace), p_(p) {};
72 
73 
74  virtual void operator() (const concepts::Element<Real>& elm)
76  virtual void operator() (const concepts::Cell& cell)
77  throw(concepts::MissingFeature) {}
78  protected:
79  virtual std::ostream& info(std::ostream& os) const;
80  private:
86  const int* const p_;
89  (const concepts::Hexahedron& h) const;
90  };
91 
92 
93 } // namespace hp3D
94 
95 #endif // APRIORIRef3D_hh
96 
concepts::Set< concepts::Attribute > attribVtx_
Attribute of entity to which should be refined.
Definition: aprioriRef.hh:84
concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 3 > > & spc_
Space to be refined.
Definition: aprioriRef.hh:82
A cell in a mesh consist of topological information (neighbours, connectivity, orientation) and geome...
Definition: cell.hh:39
concepts::AdaptiveAdjustP< 3 > computeRef_(const concepts::Hexahedron &h) const
Computes the refinement solely using topological information.
Carries out a-priori given refinements.
Definition: aprioriRef.hh:39
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
APrioriRefinement(concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 3 > > &spc, concepts::Set< concepts::Attribute > &attribVtx, concepts::Set< concepts::Attribute > &attribEdge, concepts::Set< concepts::Attribute > &attribFace, const int *const p)
Constructor.
Definition: aprioriRef.hh:66
A hexahedron in the topology.
Definition: topology3D.hh:134
virtual void operator()(const concepts::Element< Real > &elm)
const int *const p_
Maximal p in a refinement step in each direction.
Definition: aprioriRef.hh:86
concepts::Set< concepts::Attribute > attribEdge_
Definition: aprioriRef.hh:84
Class to describe adjustments to elements in an adaptive space.
Definition: hpMethod.hh:59
Exception class to express a missing feature.
Definition: exceptions.hh:206
Abstract base class for an adaptive space.
Definition: space.hh:350
3D hp-FEM for H1-conforming elements.
Definition: meshDX.hh:23
concepts::Set< concepts::Attribute > attribFace_
Definition: aprioriRef.hh:84
Abstract class for per cell postprocessing.
Definition: postProcess.hh:38
Attributes for elements of the topology.
Definition: connector.hh:22
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
APrioriRefinement(concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 3 > > &spc, concepts::Attribute attribVtx, concepts::Attribute attribEdge, concepts::Attribute attribFace, const int *const p)
Constructor.
Definition: aprioriRef.hh:51
Basic namespace for Concepts-2.
Definition: pml_formula.h:16
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich