Class documentation of Concepts

Loading...
Searching...
No Matches

#include <aprioriRef2D.hh>

Inheritance diagram for hp2D::APrioriRefinement:
concepts::CellPostprocess< Real > concepts::OutputOperator

Public Types

enum  subdivTypes { NONE = 0 , X = 1 , Y = 2 }
 

Public Member Functions

 APrioriRefinement (concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 2 > > &spc, concepts::Attribute attribVtx, concepts::Attribute attribEdge, const int *const p, const uint subdiv=X|Y, const concepts::Attribute attribCell=0)
 
 APrioriRefinement (concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 2 > > &spc, const int *const p, const uint subdiv=X|Y, const concepts::Level< 2 > level=MAXSHORT)
 
 APrioriRefinement (concepts::Adaptivity< concepts::Connector, concepts::AdaptiveAdjustP< 2 > > &adj, concepts::Attribute attribVtx, concepts::Attribute attribEdge, const int *const p, const uint subdiv=X|Y)
 
virtual void operator() (const concepts::Element< Real > &elm)
 
virtual void operator() (const concepts::Cell &cell)
 
virtual void operator() (const Element< Real > &elm)=0
 

Static Public Attributes

static const short MAXSHORT = 32767
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 

Detailed Description

Carries out a-priori given refinements. The mesh is geometrically refined towards the given vertices or edges. 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 hp2D::Quad 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
hpFEM2d-simple.cc, and hpFEM2d.cc.

Definition at line 40 of file aprioriRef2D.hh.

Member Enumeration Documentation

◆ subdivTypes

enum hp2D::APrioriRefinement::subdivTypes

Definition at line 42 of file aprioriRef2D.hh.

Constructor & Destructor Documentation

◆ APrioriRefinement() [1/3]

hp2D::APrioriRefinement::APrioriRefinement ( concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 2 > > &  spc,
concepts::Attribute  attribVtx,
concepts::Attribute  attribEdge,
const int *const  p,
const uint  subdiv = X | Y,
const concepts::Attribute  attribCell = 0 
)
inline

Constructor for refining an adaptive space.

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
pIf there is no refinement, p will be increased by this amount (anisotropically)
subdivpossibility to restrict subdivision strategy
attribCellpossibility to restrict subdivision to particular cells

Definition at line 56 of file aprioriRef2D.hh.

◆ APrioriRefinement() [2/3]

hp2D::APrioriRefinement::APrioriRefinement ( concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 2 > > &  spc,
const int *const  p,
const uint  subdiv = X | Y,
const concepts::Level< 2 >  level = MAXSHORT 
)
inline

Definition at line 66 of file aprioriRef2D.hh.

◆ APrioriRefinement() [3/3]

hp2D::APrioriRefinement::APrioriRefinement ( concepts::Adaptivity< concepts::Connector, concepts::AdaptiveAdjustP< 2 > > &  adj,
concepts::Attribute  attribVtx,
concepts::Attribute  attribEdge,
const int *const  p,
const uint  subdiv = X | Y 
)
inline

Constructor for refining a space pre builder.

The global post process has to be given the mesh, so that the ()-operator for cells is called.

If a given attribute for the vertices or edges is 0, it is not considered.

Parameters
adjSpace Pre Builder to be refined
attribVtxRefine towards vertices with this attribute
attribEdgeRefine towards edges with this attribute
pIf there is no refinement, p will be increased by this amount (anisotropically)
subdivpossibility to restrict subdivision strategy

Definition at line 86 of file aprioriRef2D.hh.

Member Function Documentation

◆ info()

virtual std::ostream & hp2D::APrioriRefinement::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::CellPostprocess< Real >.

◆ operator()() [1/2]

virtual void hp2D::APrioriRefinement::operator() ( const concepts::Cell cell)
virtual

Application operator. This application operator has to be overloaded to post process a mesh.

Parameters
cellCurrent cell

Implements concepts::CellPostprocess< Real >.

◆ operator()() [2/2]

virtual void concepts::CellPostprocess< Real >::operator() ( const Element< Real > &  elm)
pure virtualinherited

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

◆ MAXSHORT

const short hp2D::APrioriRefinement::MAXSHORT = 32767
static

Definition at line 43 of file aprioriRef2D.hh.


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