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. | |
| virtual void | operator() (const Element< Real > &elm)=0 |
| Application operator. | |
| virtual void | operator() (const concepts::Cell &cell) throw (concepts::MissingFeature) |
| Application operator. | |
| virtual void | operator() (const concepts::Element< Real > &elm) throw (concepts::MissingFeature) |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Member Functions | |
| concepts::AdaptiveAdjustP< 3 > | computeRef_ (const concepts::Hexahedron &h) const |
| Computes the refinement solely using topological information. | |
Private Attributes | |
| concepts::Attribute | attribEdge_ |
| concepts::Attribute | attribFace_ |
| concepts::Attribute | attribVtx_ |
| Attribute of entity to which should be refined. | |
| const int *const | p_ |
| Maximal p in a refinement step in each direction. | |
| concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 3 > > & | spc_ |
| Space to be refined. | |
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.
p of the constructor can be set to a pointer to 0. This is not detected and a run-time error occurs. Definition at line 36 of file aprioriRef.hh.
| hp3D::APrioriRefinement::APrioriRefinement | ( | concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 3 > > & | spc, |
| concepts::Attribute | attribVtx, | ||
| concepts::Attribute | attribEdge, | ||
| concepts::Attribute | attribFace, | ||
| const int *const | p | ||
| ) | [inline] |
Constructor.
If a given attribute for the vertices or edges is 0, it is not considered.
| 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 48 of file aprioriRef.hh.
| concepts::AdaptiveAdjustP<3> hp3D::APrioriRefinement::computeRef_ | ( | const concepts::Hexahedron & | h | ) | const [private] |
Computes the refinement solely using topological information.
| virtual std::ostream& hp3D::APrioriRefinement::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::CellPostprocess< Real >.
| virtual void hp3D::APrioriRefinement::operator() | ( | const concepts::Cell & | cell | ) | throw (concepts::MissingFeature) [inline, virtual] |
Application operator.
This application operator has to be overloaded to post process a mesh.
| cell | Current cell |
Implements concepts::CellPostprocess< Real >.
Definition at line 55 of file aprioriRef.hh.
| virtual void hp3D::APrioriRefinement::operator() | ( | const concepts::Element< Real > & | elm | ) | throw (concepts::MissingFeature) [virtual] |
| virtual void concepts::CellPostprocess< Real >::operator() | ( | const Element< Real > & | elm | ) | [pure virtual, inherited] |
Application operator.
This application operator has to be overloaded to post process a space.
| elm | Current element |
Implemented in concepts::CellFaceIntegral< F >, and concepts::CellEdgeIntegral< F >.
Definition at line 63 of file aprioriRef.hh.
Definition at line 63 of file aprioriRef.hh.
Attribute of entity to which should be refined.
Definition at line 63 of file aprioriRef.hh.
const int* const hp3D::APrioriRefinement::p_ [private] |
Maximal p in a refinement step in each direction.
Definition at line 65 of file aprioriRef.hh.
concepts::AdaptiveSpace<Real, concepts::AdaptiveAdjustP<3> >& hp3D::APrioriRefinement::spc_ [private] |
Space to be refined.
Definition at line 61 of file aprioriRef.hh.