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

#include <buildEdgeDofs.hh>

Inheritance diagram for hp3D::BuildEdgeDofs:
hp3D::BuildDofsBase

Public Member Functions

 BuildEdgeDofs ()
 Default constructor. More...
 
 BuildEdgeDofs (Space &spc)
 Constructor. More...
 
virtual BuildEdgeDofsclone (Space *spc=0) const
 Virtual copy constructor with a twist. More...
 
virtual void operator() (concepts::Hexahedron &cntr, concepts::TColumn< Real > *&T1)
 Builds the degrees of freedom. More...
 
Spacespace ()
 Returns the space. More...
 

Protected Member Functions

void computePmax_ (const concepts::Hexahedron &cntr, ushort Pmax[3]) const
 Computes maximal polynomial Pmax degree on topological objects adjacent to cntr that contributes directly to a global degree of freedom (returned 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...
 
concepts::AdaptiveControlP< 3 > & ctrl3_ (uint idx)
 Returns cell tag of cell with key idx. More...
 
void deactivate_ (const concepts::Connector0 &vtx)
 Deactivates the children of the vertex vtx. More...
 
void deactivate_ (const concepts::Connector1 &edg)
 Deactivates the children of the edge edg (including the middle vertex). More...
 
void deactivate_ (const concepts::Connector2 &face)
 Deactivates the children of face (including the new edges and vertices). 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::FaceData >::const_iterator faceListEnd () const
 Returns the end of the list with face data. More...
 
std::map< uint, concepts::FaceData >::const_iterator faceListFind (uint idx) const
 Returns the iterator to the face data of the face with key idx. More...
 
void getPmax_ (const concepts::Hexahedron &cntr, ushort Pmax[3]) const
 Gets the polynomial degrees Pmax of the shape function on cntr (returned in tensor form) 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 edge degrees of freedom in a space.

A call to the application operator builds the T columns for the edges of a given hexahedron.

If you want to change the way this is done, derive from this class and overwrite the application operator. The access to the internal data of the space (which is needed) is provided through the protected member functions of BuildDofsBase (it is a friend of Space).

This class is registered as the default strategy in a Space to build the edge degrees of freedom. Giving Space a different class through the use of Space::buildEdgeDofs, you can change that behaviour.

Author
Philipp Frauenfelder, 2004

Definition at line 38 of file buildEdgeDofs.hh.

Constructor & Destructor Documentation

◆ BuildEdgeDofs() [1/2]

hp3D::BuildEdgeDofs::BuildEdgeDofs ( )
inline

Default constructor.

Definition at line 41 of file buildEdgeDofs.hh.

◆ BuildEdgeDofs() [2/2]

hp3D::BuildEdgeDofs::BuildEdgeDofs ( Space spc)
inline

Constructor.

Parameters
spcSpace to build the edge degrees of freedom from

Definition at line 45 of file buildEdgeDofs.hh.

Member Function Documentation

◆ clone()

virtual BuildEdgeDofs* hp3D::BuildEdgeDofs::clone ( Space spc = 0) const
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 als 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.

Implements hp3D::BuildDofsBase.

◆ computePmax_()

void hp3D::BuildDofsBase::computePmax_ ( const concepts::Hexahedron cntr,
ushort  Pmax[3] 
) const
inlineprotectedinherited

Computes maximal polynomial Pmax degree on topological objects adjacent to cntr that contributes directly to a global degree of freedom (returned in tensor form)

Definition at line 178 of file buildDofsBase.hh.

◆ ctrl0_()

concepts::AdaptiveControl & hp3D::BuildDofsBase::ctrl0_ ( uint  idx)
inlineprotectedinherited

Returns vertex tag of vertex with key idx.

Definition at line 107 of file buildDofsBase.hh.

◆ ctrl1_()

concepts::AdaptiveControlP< 1 > & hp3D::BuildDofsBase::ctrl1_ ( uint  idx)
inlineprotectedinherited

Returns edge tag of edge with key idx.

Definition at line 112 of file buildDofsBase.hh.

◆ ctrl2_()

concepts::AdaptiveControlP< 2 > & hp3D::BuildDofsBase::ctrl2_ ( uint  idx)
inlineprotectedinherited

Returns face tag of face with key idx.

Definition at line 117 of file buildDofsBase.hh.

◆ ctrl3_()

concepts::AdaptiveControlP< 3 > & hp3D::BuildDofsBase::ctrl3_ ( uint  idx)
inlineprotectedinherited

Returns cell tag of cell with key idx.

Definition at line 122 of file buildDofsBase.hh.

◆ deactivate_() [1/3]

void hp3D::BuildDofsBase::deactivate_ ( const concepts::Connector0 vtx)
inlineprotectedinherited

Deactivates the children of the vertex vtx.

Definition at line 163 of file buildDofsBase.hh.

◆ deactivate_() [2/3]

void hp3D::BuildDofsBase::deactivate_ ( const concepts::Connector1 edg)
inlineprotectedinherited

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

Definition at line 168 of file buildDofsBase.hh.

◆ deactivate_() [3/3]

void hp3D::BuildDofsBase::deactivate_ ( const concepts::Connector2 face)
inlineprotectedinherited

Deactivates the children of face (including the new edges and vertices).

Definition at line 173 of file buildDofsBase.hh.

◆ dim_()

uint& hp3D::BuildDofsBase::dim_ ( )
inlineprotectedinherited

Returns a reference to the dimension of the space.

Definition at line 85 of file buildDofsBase.hh.

◆ edgeListEnd()

std::map< uint, concepts::EdgeData >::const_iterator hp3D::BuildDofsBase::edgeListEnd ( ) const
inlineprotectedinherited

Returns the end of the list with edge data.

Definition at line 146 of file buildDofsBase.hh.

◆ edgeListFind()

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

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

Definition at line 140 of file buildDofsBase.hh.

◆ faceListEnd()

std::map< uint, concepts::FaceData >::const_iterator hp3D::BuildDofsBase::faceListEnd ( ) const
inlineprotectedinherited

Returns the end of the list with face data.

Definition at line 158 of file buildDofsBase.hh.

◆ faceListFind()

std::map< uint, concepts::FaceData >::const_iterator hp3D::BuildDofsBase::faceListFind ( uint  idx) const
inlineprotectedinherited

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

Definition at line 152 of file buildDofsBase.hh.

◆ getPmax_()

void hp3D::BuildDofsBase::getPmax_ ( const concepts::Hexahedron cntr,
ushort  Pmax[3] 
) const
inlineprotectedinherited

Gets the polynomial degrees Pmax of the shape function on cntr (returned in tensor form)

Definition at line 184 of file buildDofsBase.hh.

◆ operator()()

virtual void hp3D::BuildEdgeDofs::operator() ( concepts::Hexahedron cntr,
concepts::TColumn< Real > *&  T1 
)
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

Implements hp3D::BuildDofsBase.

◆ space()

Space* hp3D::BuildDofsBase::space ( )
inlineinherited

Returns the space.

Definition at line 56 of file buildDofsBase.hh.

◆ vertexListEnd()

std::map< uint, concepts::VertexData >::const_iterator hp3D::BuildDofsBase::vertexListEnd ( ) const
inlineprotectedinherited

Returns the end of the list with vertex data.

Definition at line 134 of file buildDofsBase.hh.

◆ vertexListFind()

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

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

Definition at line 128 of file buildDofsBase.hh.

Member Data Documentation

◆ spc_

Space* hp3D::BuildDofsBase::spc_
protectedinherited

Space to build the vertex degrees of freedom from.

Definition at line 104 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