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

Public Member Functions | Protected Member Functions | Protected Attributes
hp3D::BuildFaceDofsLinTrunk Class Reference

Responsible to build the face degrees of freedom in a (trunk) space. More...

#include <buildFaceDofs.hh>

Inheritance diagram for hp3D::BuildFaceDofsLinTrunk:
Inheritance graph
[legend]
Collaboration diagram for hp3D::BuildFaceDofsLinTrunk:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BuildFaceDofsLinTrunk ()
 Default constructor.
 BuildFaceDofsLinTrunk (Space &spc)
 Constructor.
virtual BuildFaceDofsLinTrunkclone (Space *spc=0) const
 Virtual copy constructor with a twist.
virtual void operator() (concepts::Hexahedron &cntr, concepts::TColumn< Real > *&T1)
 Builds the degrees of freedom.
Spacespace ()
 Returns the space.
virtual bool trunk (uint p, uint q, const ushort P[2])
 Trunk space indicator function.

Protected Member Functions

void computePmax_ (const concepts::Hexahedron &cntr, ushort Pmax[3]) const
 Computes maximal polynomial Pmax degree in cntr in tensor form.
concepts::AdaptiveControlctrl0_ (uint idx)
 Returns vertex tag of vertex with key idx.
concepts::AdaptiveControlP< 1 > & ctrl1_ (uint idx)
 Returns edge tag of edge with key idx.
concepts::AdaptiveControlP< 2 > & ctrl2_ (uint idx)
 Returns face tag of face with key idx.
concepts::AdaptiveControlP< 3 > & ctrl3_ (uint idx)
 Returns cell tag of cell with key idx.
void deactivate_ (const concepts::Connector1 &edg)
 Deactivates the children of the edge edg (including the middle vertex).
void deactivate_ (const concepts::Connector0 &vtx)
 Deactivates the children of the vertex vtx.
void deactivate_ (const concepts::Connector2 &face)
 Deactivates the children of face (including the new edges and vertices).
uint & dim_ ()
 Returns a reference to the dimension of the space.
std::map< uint,
concepts::EdgeData >
::const_iterator 
edgeListEnd () const
 Returns the end of the list with edge data.
std::map< uint,
concepts::EdgeData >
::const_iterator 
edgeListFind (uint idx) const
 Returns the iterator to the edge data of the edge with key idx.
std::map< uint,
concepts::FaceData >
::const_iterator 
faceListEnd () const
 Returns the end of the list with face data.
std::map< uint,
concepts::FaceData >
::const_iterator 
faceListFind (uint idx) const
 Returns the iterator to the face data of the face with key idx.
std::map< uint,
concepts::VertexData >
::const_iterator 
vertexListEnd () const
 Returns the end of the list with vertex data.
std::map< uint,
concepts::VertexData >
::const_iterator 
vertexListFind (uint idx) const
 Returns the iterator to the vertex data of the vertex with key idx.

Protected Attributes

Spacespc_
 Space to build the vertex degrees of freedom from.

Detailed Description

Responsible to build the face degrees of freedom in a (trunk) space.

Using this class, only a trunk of the degrees of freedom on the face are built: if (p + q) <= (P[0] > P[1]) ? P[0] : P[1], the degree of freedom with polynomial degrees p and q in each direction is built (P[i] are the maximal polynomial degrees in each direction.)

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

Author:
Philipp Frauenfelder, 2004

Definition at line 82 of file buildFaceDofs.hh.


Constructor & Destructor Documentation

hp3D::BuildFaceDofsLinTrunk::BuildFaceDofsLinTrunk ( ) [inline]

Default constructor.

Definition at line 85 of file buildFaceDofs.hh.

hp3D::BuildFaceDofsLinTrunk::BuildFaceDofsLinTrunk ( Space spc) [inline]

Constructor.

Parameters:
spcSpace to build the face degrees of freedom from

Definition at line 89 of file buildFaceDofs.hh.


Member Function Documentation

virtual BuildFaceDofsLinTrunk* hp3D::BuildFaceDofsLinTrunk::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.

Reimplemented from hp3D::BuildFaceDofs.

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

Computes maximal polynomial Pmax degree in cntr in tensor form.

Definition at line 170 of file buildDofsBase.hh.

Here is the call graph for this function:

concepts::AdaptiveControl & hp3D::BuildDofsBase::ctrl0_ ( uint  idx) [inline, protected, inherited]

Returns vertex tag of vertex with key idx.

Definition at line 99 of file buildDofsBase.hh.

concepts::AdaptiveControlP< 1 > & hp3D::BuildDofsBase::ctrl1_ ( uint  idx) [inline, protected, inherited]

Returns edge tag of edge with key idx.

Definition at line 104 of file buildDofsBase.hh.

concepts::AdaptiveControlP< 2 > & hp3D::BuildDofsBase::ctrl2_ ( uint  idx) [inline, protected, inherited]

Returns face tag of face with key idx.

Definition at line 109 of file buildDofsBase.hh.

concepts::AdaptiveControlP< 3 > & hp3D::BuildDofsBase::ctrl3_ ( uint  idx) [inline, protected, inherited]

Returns cell tag of cell with key idx.

Definition at line 114 of file buildDofsBase.hh.

void hp3D::BuildDofsBase::deactivate_ ( const concepts::Connector0 vtx) [inline, protected, inherited]

Deactivates the children of the vertex vtx.

Definition at line 155 of file buildDofsBase.hh.

Here is the call graph for this function:

void hp3D::BuildDofsBase::deactivate_ ( const concepts::Connector1 edg) [inline, protected, inherited]

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

Definition at line 160 of file buildDofsBase.hh.

Here is the call graph for this function:

void hp3D::BuildDofsBase::deactivate_ ( const concepts::Connector2 face) [inline, protected, inherited]

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

Definition at line 165 of file buildDofsBase.hh.

Here is the call graph for this function:

uint& hp3D::BuildDofsBase::dim_ ( ) [inline, protected, inherited]

Returns a reference to the dimension of the space.

Definition at line 83 of file buildDofsBase.hh.

std::map< uint, concepts::EdgeData >::const_iterator hp3D::BuildDofsBase::edgeListEnd ( ) const [inline, protected, inherited]

Returns the end of the list with edge data.

Definition at line 138 of file buildDofsBase.hh.

std::map< uint, concepts::EdgeData >::const_iterator hp3D::BuildDofsBase::edgeListFind ( uint  idx) const [inline, protected, inherited]

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

Definition at line 132 of file buildDofsBase.hh.

std::map< uint, concepts::FaceData >::const_iterator hp3D::BuildDofsBase::faceListEnd ( ) const [inline, protected, inherited]

Returns the end of the list with face data.

Definition at line 150 of file buildDofsBase.hh.

std::map< uint, concepts::FaceData >::const_iterator hp3D::BuildDofsBase::faceListFind ( uint  idx) const [inline, protected, inherited]

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

Definition at line 144 of file buildDofsBase.hh.

virtual void hp3D::BuildFaceDofs::operator() ( concepts::Hexahedron cntr,
concepts::TColumn< Real > *&  T1 
) [virtual, inherited]

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* hp3D::BuildDofsBase::space ( ) [inline, inherited]

Returns the space.

Definition at line 54 of file buildDofsBase.hh.

virtual bool hp3D::BuildFaceDofsLinTrunk::trunk ( uint  p,
uint  q,
const ushort  P[2] 
) [virtual]

Trunk space indicator function.

For each degree of freedom, this function is called to find out if it should be built or not. If the return value is true, the degree of freedom is built, otherwise it is not.

The default behaviour of this function is to return true. Overwrite it if you want to have a trunk space (e.g. as in BuildFaceDofsLinTrunk).

Parameters:
pPolynomial degree in first direction of current degree of freedom
qPolynomial degree in second direction of current degree of freedom
PMaximal polynomial degree on the current face

Reimplemented from hp3D::BuildFaceDofs.

std::map< uint, concepts::VertexData >::const_iterator hp3D::BuildDofsBase::vertexListEnd ( ) const [inline, protected, inherited]

Returns the end of the list with vertex data.

Definition at line 126 of file buildDofsBase.hh.

std::map< uint, concepts::VertexData >::const_iterator hp3D::BuildDofsBase::vertexListFind ( uint  idx) const [inline, protected, inherited]

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

Definition at line 120 of file buildDofsBase.hh.


Member Data Documentation

Space* hp3D::BuildDofsBase::spc_ [protected, inherited]

Space to build the vertex degrees of freedom from.

Definition at line 96 of file buildDofsBase.hh.


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

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