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

Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
hp2D::APrioriRefinementRuleFactory Class Reference

Factory class for a refinement rule. More...

#include <refinePreBuilder.hh>

Inheritance diagram for hp2D::APrioriRefinementRuleFactory:
Inheritance graph
[legend]
Collaboration diagram for hp2D::APrioriRefinementRuleFactory:
Collaboration graph
[legend]

List of all members.

Public Types

enum  rTypes { None = 0, hRef = 1, pRef = 2, hpRef = 3 }

Public Member Functions

 APrioriRefinementRuleFactory (const std::string text)
 Constructor taken a refinement rule inside a string.
void refine (hp2D::hpFull &prebuild) const
 Apply the refinement rule to the prebuilder class prebuild.

Protected Member Functions

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

Private Member Functions

void getHPRefLevel_ (std::string &text)
 Determine the refinement level for hp-refinement.
void getHRefLevel_ (std::string &text)
 Determine the refinement level for h-refinement.
concepts::Sequence< int > getNumbers_ (std::string &text)
 Returns a sequence of integer number taking from a string of the form "1|2".
void getPoly_ (std::string &text)
 Determine the polynomial degree(s)
void getRefAttr_ (std::string &text)
 Determine the attribute of cells in which the refinement rule should be applied.
void getRType_ (std::string &text)
 Determine the refinement type.
void getToAttr_ (std::string &text)
 Determine the attribute of edges and cells to which should be refined.

Private Attributes

concepts::Level< 2 > level_
 Level of refinement in the local directions of the cell.
int pMax_ [2]
 Polynomial degree enhancement in the local directions of the cell.
uint refAttr_
 Attribute of cells in which the refinement rule should be applied.
uint refToEdgeAttr_
 Attribute of edges to which should be refined (for h- and hp-refinement).
uint refToVtxAttr_
 Attribute of corners to which should be refined (for h- and hp-refinement).
enum rTypes rType_
 Refinement type.
std::string text_
 The given string.

Detailed Description

Factory class for a refinement rule.

See also:
refinehpFull
Author:
Kersten Schmidt, 2009

Definition at line 78 of file refinePreBuilder.hh.


Member Enumeration Documentation

Enumerator:
None 
hRef 
pRef 
hpRef 

Definition at line 80 of file refinePreBuilder.hh.


Constructor & Destructor Documentation

hp2D::APrioriRefinementRuleFactory::APrioriRefinementRuleFactory ( const std::string  text)

Constructor taken a refinement rule inside a string.

Parameters:
textstring with a refinement rule, e.g. "h1|0 in 1 -> v2".

Member Function Documentation

void hp2D::APrioriRefinementRuleFactory::getHPRefLevel_ ( std::string &  text) [private]

Determine the refinement level for hp-refinement.

void hp2D::APrioriRefinementRuleFactory::getHRefLevel_ ( std::string &  text) [private]

Determine the refinement level for h-refinement.

concepts::Sequence<int> hp2D::APrioriRefinementRuleFactory::getNumbers_ ( std::string &  text) [private]

Returns a sequence of integer number taking from a string of the form "1|2".

void hp2D::APrioriRefinementRuleFactory::getPoly_ ( std::string &  text) [private]

Determine the polynomial degree(s)

void hp2D::APrioriRefinementRuleFactory::getRefAttr_ ( std::string &  text) [private]

Determine the attribute of cells in which the refinement rule should be applied.

void hp2D::APrioriRefinementRuleFactory::getRType_ ( std::string &  text) [private]

Determine the refinement type.

void hp2D::APrioriRefinementRuleFactory::getToAttr_ ( std::string &  text) [private]

Determine the attribute of edges and cells to which should be refined.

virtual std::ostream& hp2D::APrioriRefinementRuleFactory::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

void hp2D::APrioriRefinementRuleFactory::refine ( hp2D::hpFull prebuild) const

Apply the refinement rule to the prebuilder class prebuild.


Member Data Documentation

Level of refinement in the local directions of the cell.

Definition at line 117 of file refinePreBuilder.hh.

Polynomial degree enhancement in the local directions of the cell.

Definition at line 114 of file refinePreBuilder.hh.

Attribute of cells in which the refinement rule should be applied.

Is zero if all cells should be taken.

Definition at line 98 of file refinePreBuilder.hh.

Attribute of edges to which should be refined (for h- and hp-refinement).

Is zero if all cells should be taken.

Definition at line 103 of file refinePreBuilder.hh.

Attribute of corners to which should be refined (for h- and hp-refinement).

Is zero if all cells should be taken.

Definition at line 108 of file refinePreBuilder.hh.

Refinement type.

Definition at line 111 of file refinePreBuilder.hh.

The given string.

Definition at line 94 of file refinePreBuilder.hh.


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

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