hp3D::APrioriRefinement Class Referenceabstract
Carries out a-priori given refinements. More...
#include <aprioriRef.hh>
Public Member Functions | |
APrioriRefinement (concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 3 > > &spc, concepts::Attribute attribVtx, concepts::Attribute attribEdge, concepts::Attribute attribFace, const int *const p) | |
Constructor. More... | |
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. More... | |
virtual void | operator() (const concepts::Cell &cell) throw (concepts::MissingFeature) |
Application operator. More... | |
virtual void | operator() (const concepts::Element< Real > &elm) throw (concepts::MissingFeature) |
virtual void | operator() (const Element< Real > &elm)=0 |
Application operator. More... | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
Private Member Functions | |
concepts::AdaptiveAdjustP< 3 > | computeRef_ (const concepts::Hexahedron &h) const |
Computes the refinement solely using topological information. More... | |
Private Attributes | |
concepts::Set< concepts::Attribute > | attribEdge_ |
concepts::Set< concepts::Attribute > | attribFace_ |
concepts::Set< concepts::Attribute > | attribVtx_ |
Attribute of entity to which should be refined. More... | |
const int *const | p_ |
Maximal p in a refinement step in each direction. More... | |
concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 3 > > & | spc_ |
Space to be refined. More... | |
Detailed Description
Carries out a-priori given refinements.
The mesh is geometrically refined towards the given vertices, edges or faces. These can be determined by their attribute. If a refinement in one direction occurs, p is not increased in this direction. Otherwise it is increased by the given amount. This makes it possible to generate geometrically refined meshes to corners and edges with linear polynomial degree distribution.
Currently, methods for hp3D::Hexahedron are implemented.
- Bug:
- The parameter
p
of the constructor can be set to a pointer to 0. This is not detected and a run-time error occurs.
- Examples
- hpFEM3d-EV.cc.
Definition at line 39 of file aprioriRef.hh.
Constructor & Destructor Documentation
◆ APrioriRefinement() [1/2]
|
inline |
Constructor.
If a given attribute for the vertices or edges is 0, it is not considered.
- Parameters
-
spc Space to be refined attribVtx Refine towards vertices with this attribute attribEdge Refine towards edges with this attribute attribFace Refine towards faces with this attribute p If there is no refinement, p will be increased by this amount (anisotropically)
Definition at line 50 of file aprioriRef.hh.
◆ APrioriRefinement() [2/2]
|
inline |
Constructor.
If a given attribute for the vertices or edges is empty or is concepts::makeSet<concepts::Attribute>({0}), it is not considered
- Parameters
-
spc Space to be refined attribVtx Refine towards vertices with this attribute attribEdge Refine towards edges with this attribute attribFace Refine towards faces with this attribute p If there is no refinement, p will be increased by this amount (anisotropically)
Definition at line 65 of file aprioriRef.hh.
Member Function Documentation
◆ computeRef_()
|
private |
Computes the refinement solely using topological information.
◆ info()
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::CellPostprocess< Real >.
◆ operator()() [1/3]
|
inlinevirtual |
Application operator.
This application operator has to be overloaded to post process a mesh.
- Parameters
-
cell Current cell
Implements concepts::CellPostprocess< Real >.
Definition at line 76 of file aprioriRef.hh.
◆ operator()() [2/3]
|
virtual |
◆ operator()() [3/3]
|
pure virtualinherited |
Application operator.
This application operator has to be overloaded to post process a space.
- Parameters
-
elm Current element
Implemented in concepts::CellEdgeIntegral< F >, and concepts::CellFaceIntegral< F >.
Member Data Documentation
◆ attribEdge_
|
private |
Definition at line 84 of file aprioriRef.hh.
◆ attribFace_
|
private |
Definition at line 84 of file aprioriRef.hh.
◆ attribVtx_
|
private |
Attribute of entity to which should be refined.
Definition at line 84 of file aprioriRef.hh.
◆ p_
|
private |
Maximal p in a refinement step in each direction.
Definition at line 86 of file aprioriRef.hh.
◆ spc_
|
private |
Space to be refined.
Definition at line 82 of file aprioriRef.hh.
The documentation for this class was generated from the following file:
- hp3D/aprioriRef.hh