Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
hp3D::APrioriRefinement Class Reference

Carries out a-priori given refinements. More...

#include <aprioriRef.hh>

Inheritance diagram for hp3D::APrioriRefinement:
Inheritance graph
[legend]
Collaboration diagram for hp3D::APrioriRefinement:
Collaboration graph
[legend]

List of all members.

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.

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.

Author:
Philipp Frauenfelder, 2003
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 36 of file aprioriRef.hh.


Constructor & Destructor Documentation

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.

Parameters:
spcSpace to be refined
attribVtxRefine towards vertices with this attribute
attribEdgeRefine towards edges with this attribute
attribFaceRefine towards faces with this attribute
pIf there is no refinement, p will be increased by this amount (anisotropically)

Definition at line 48 of file aprioriRef.hh.


Member Function Documentation

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.

Parameters:
cellCurrent 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.

Parameters:
elmCurrent element

Implemented in concepts::CellFaceIntegral< F >, and concepts::CellEdgeIntegral< F >.


Member Data Documentation

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.

Space to be refined.

Definition at line 61 of file aprioriRef.hh.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)