Responsible to build the degrees of freedom in a space. More...

#include <buildDofsBase.hh>

Inheritance diagram for hp2D::BuildDofsBase:
hp2D::BuildEdgeDofs hp2D::BuildInnerDofs hp2D::BuildVertexDofs hp2D::BuildInnerDofsHypTrunk hp2D::BuildInnerDofsLinTrunk

Public Member Functions

 BuildDofsBase ()
 Default constructor. More...
 
 BuildDofsBase (Space &spc)
 Constructor. More...
 
virtual BuildDofsBaseclone (Space *spc=0) const =0
 Virtual copy constructor with a twist. More...
 
virtual void operator() (concepts::Quad &cntr, concepts::TColumn< Real > *&T1, const uint nn[2])=0
 Builds the degrees of freedom. More...
 
Spacespace ()
 Returns the space. More...
 
virtual ~BuildDofsBase ()
 

Protected Member Functions

void computePmax_ (const concepts::Quad &cntr, ushort Pmax[2]) const
 Computes maximal polynomial Pmax degree in cntr in tensor form. More...
 
concepts::AdaptiveControlctrl0_ (uint idx)
 Returns vertex tag of vertex with key idx. More...
 
concepts::AdaptiveControlP< 1 > & ctrl1_ (uint idx)
 Returns edge tag of edge with key idx. More...
 
concepts::AdaptiveControlP< 2 > & ctrl2_ (uint idx)
 Returns face tag of face with key idx. More...
 
void deactivate_ (const concepts::Edge &edg)
 Deactivates the children of the edge edg (including the middle vertex). More...
 
void deactivate_ (const concepts::Vertex &vtx)
 Deactivates the children of the vertex vtx. More...
 
uint & dim_ ()
 Returns a reference to the dimension of the space. More...
 
std::map< uint, concepts::EdgeData >::const_iterator edgeListEnd () const
 Returns the end of the list with edge data. More...
 
std::map< uint, concepts::EdgeData >::const_iterator edgeListFind (uint idx) const
 Returns the iterator to the edge data of the edge with key idx. More...
 
std::map< uint, concepts::VertexData >::const_iterator vertexListEnd () const
 Returns the end of the list with vertex data. More...
 
std::map< uint, concepts::VertexData >::const_iterator vertexListFind (uint idx) const
 Returns the iterator to the vertex data of the vertex with key idx. More...
 

Protected Attributes

Spacespc_
 Space to build the vertex degrees of freedom from. More...
 

Detailed Description

Responsible to build the degrees of freedom in a space.

A call to the application operator builds the T columns for a given quad.

This is the base class for the specialzations for vertices, edges and the interior. The access to the internal data of the space (which is needed) is provided through the protected member functions of this class (and this class is a friend of Space).

Author
Philipp Frauenfelder, 2004

Definition at line 31 of file buildDofsBase.hh.

Constructor & Destructor Documentation

◆ BuildDofsBase() [1/2]

hp2D::BuildDofsBase::BuildDofsBase ( )
inline

Default constructor.

Definition at line 34 of file buildDofsBase.hh.

◆ ~BuildDofsBase()

virtual hp2D::BuildDofsBase::~BuildDofsBase ( )
inlinevirtual

Definition at line 36 of file buildDofsBase.hh.

◆ BuildDofsBase() [2/2]

hp2D::BuildDofsBase::BuildDofsBase ( Space spc)
inline

Constructor.

Parameters
spcSpace to build the degrees of freedom from

Definition at line 41 of file buildDofsBase.hh.

Member Function Documentation

◆ clone()

virtual BuildDofsBase* hp2D::BuildDofsBase::clone ( Space spc = 0) const
pure virtual

Virtual copy constructor with a twist.

If a copy of a space is created, the strategies to build the degrees of freedom of the copy should also reference the copy and not the initial space. This is done by giving the argument spc to clone.

Parameters
spcSpace to work on for the return value. If set to 0, spc_ is used.

Implemented in hp2D::BuildVertexDofs, hp2D::BuildInnerDofsHypTrunk, hp2D::BuildInnerDofsLinTrunk, hp2D::BuildInnerDofs, and hp2D::BuildEdgeDofs.

◆ computePmax_()

void hp2D::BuildDofsBase::computePmax_ ( const concepts::Quad cntr,
ushort  Pmax[2] 
) const
inlineprotected

Computes maximal polynomial Pmax degree in cntr in tensor form.

Definition at line 142 of file buildDofsBase.hh.

◆ ctrl0_()

concepts::AdaptiveControl & hp2D::BuildDofsBase::ctrl0_ ( uint  idx)
inlineprotected

Returns vertex tag of vertex with key idx.

Definition at line 93 of file buildDofsBase.hh.

◆ ctrl1_()

concepts::AdaptiveControlP< 1 > & hp2D::BuildDofsBase::ctrl1_ ( uint  idx)
inlineprotected

Returns edge tag of edge with key idx.

Definition at line 98 of file buildDofsBase.hh.

◆ ctrl2_()

concepts::AdaptiveControlP< 2 > & hp2D::BuildDofsBase::ctrl2_ ( uint  idx)
inlineprotected

Returns face tag of face with key idx.

Definition at line 103 of file buildDofsBase.hh.

◆ deactivate_() [1/2]

void hp2D::BuildDofsBase::deactivate_ ( const concepts::Edge edg)
inlineprotected

Deactivates the children of the edge edg (including the middle vertex).

Definition at line 137 of file buildDofsBase.hh.

◆ deactivate_() [2/2]

void hp2D::BuildDofsBase::deactivate_ ( const concepts::Vertex vtx)
inlineprotected

Deactivates the children of the vertex vtx.

Definition at line 132 of file buildDofsBase.hh.

◆ dim_()

uint& hp2D::BuildDofsBase::dim_ ( )
inlineprotected

Returns a reference to the dimension of the space.

Definition at line 81 of file buildDofsBase.hh.

◆ edgeListEnd()

std::map< uint, concepts::EdgeData >::const_iterator hp2D::BuildDofsBase::edgeListEnd ( ) const
inlineprotected

Returns the end of the list with edge data.

Definition at line 127 of file buildDofsBase.hh.

◆ edgeListFind()

std::map< uint, concepts::EdgeData >::const_iterator hp2D::BuildDofsBase::edgeListFind ( uint  idx) const
inlineprotected

Returns the iterator to the edge data of the edge with key idx.

Definition at line 121 of file buildDofsBase.hh.

◆ operator()()

virtual void hp2D::BuildDofsBase::operator() ( concepts::Quad cntr,
concepts::TColumn< Real > *&  T1,
const uint  nn[2] 
)
pure virtual

Builds the degrees of freedom.

Parameters
cntrHex which vertices should be considered
T1New T columns created for the degrees of freedom in the vertices

Implemented in hp2D::BuildVertexDofs, hp2D::BuildInnerDofs, and hp2D::BuildEdgeDofs.

◆ space()

Space* hp2D::BuildDofsBase::space ( )
inline

Returns the space.

Definition at line 60 of file buildDofsBase.hh.

◆ vertexListEnd()

std::map< uint, concepts::VertexData >::const_iterator hp2D::BuildDofsBase::vertexListEnd ( ) const
inlineprotected

Returns the end of the list with vertex data.

Definition at line 115 of file buildDofsBase.hh.

◆ vertexListFind()

std::map< uint, concepts::VertexData >::const_iterator hp2D::BuildDofsBase::vertexListFind ( uint  idx) const
inlineprotected

Returns the iterator to the vertex data of the vertex with key idx.

Definition at line 109 of file buildDofsBase.hh.

Member Data Documentation

◆ spc_

Space* hp2D::BuildDofsBase::spc_
protected

Space to build the vertex degrees of freedom from.

Definition at line 90 of file buildDofsBase.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