Factory class for a refinement rule. More...

#include <refinePreBuilder.hh>

Inheritance diagram for hp2D::APrioriRefinementRuleFactory:
concepts::OutputOperator

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. More...
 
void refine (hp2D::hpFull &prebuild) const
 Apply the refinement rule to the prebuilder class prebuild. More...
 

Protected Member Functions

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

Private Member Functions

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

Private Attributes

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

Detailed Description

Factory class for a refinement rule.

See also
refinehpFull
Author
Kersten Schmidt, 2009

Definition at line 80 of file refinePreBuilder.hh.

Member Enumeration Documentation

◆ rTypes

Enumerator
None 
hRef 
pRef 
hpRef 

Definition at line 82 of file refinePreBuilder.hh.

Constructor & Destructor Documentation

◆ APrioriRefinementRuleFactory()

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

◆ getHPRefLevel_()

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

Determine the refinement level for hp-refinement.

◆ getHRefLevel_()

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

Determine the refinement level for h-refinement.

◆ getNumbers_()

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".

◆ getPoly_()

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

Determine the polynomial degree(s)

◆ getRefAttr_()

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

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

◆ getRType_()

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

Determine the refinement type.

◆ getToAttr_()

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

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

◆ info()

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

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ refine()

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

Apply the refinement rule to the prebuilder class prebuild.

Member Data Documentation

◆ level_

concepts::Level<2> hp2D::APrioriRefinementRuleFactory::level_
private

Level of refinement in the local directions of the cell.

Definition at line 119 of file refinePreBuilder.hh.

◆ pMax_

int hp2D::APrioriRefinementRuleFactory::pMax_[2]
private

Polynomial degree enhancement in the local directions of the cell.

Definition at line 116 of file refinePreBuilder.hh.

◆ refAttr_

uint hp2D::APrioriRefinementRuleFactory::refAttr_
private

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

Is zero if all cells should be taken.

Definition at line 100 of file refinePreBuilder.hh.

◆ refToEdgeAttr_

uint hp2D::APrioriRefinementRuleFactory::refToEdgeAttr_
private

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

Is zero if all cells should be taken.

Definition at line 105 of file refinePreBuilder.hh.

◆ refToVtxAttr_

uint hp2D::APrioriRefinementRuleFactory::refToVtxAttr_
private

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

Is zero if all cells should be taken.

Definition at line 110 of file refinePreBuilder.hh.

◆ rType_

enum rTypes hp2D::APrioriRefinementRuleFactory::rType_
private

Refinement type.

Definition at line 110 of file refinePreBuilder.hh.

◆ text_

std::string hp2D::APrioriRefinementRuleFactory::text_
private

The given string.

Definition at line 96 of file refinePreBuilder.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich