hp2D::BuildHCurlEdgeTColumns< F > Class Template Referenceabstract

Responsible to build the T columns belonging to edge degrees of freedom in a H(Curl) conforming space with shape functions in tensor product structure. More...

#include <buildHCurlTColumns.hh>

Inheritance diagram for hp2D::BuildHCurlEdgeTColumns< F >:
hp2D::BuildTColumnsBase< concepts::Real > concepts::BuildTColumnsBase< concepts::Real, SpacePreBuilder >

Public Types

typedef concepts::SpaceHelper< F, SpacePreBuilderSpaceHelper
 

Public Member Functions

 BuildHCurlEdgeTColumns ()
 Default constructor. More...
 
 BuildHCurlEdgeTColumns (SpaceHelper &spc)
 Constructor. More...
 
virtual BuildHCurlEdgeTColumns< F > * clone (SpaceHelper *spc=0) const
 
virtual BuildTColumnsBase< concepts::Real > * clone (SpaceHelper *spc=0) const=0
 
virtual BuildTColumnsBase< concepts::Real, SpacePreBuilder > * clone (SpaceHelper< concepts::Real, SpacePreBuilder > *spc=0) const=0
 Virtual copy constructor with a twist. More...
 
virtual void operator() (const concepts::Connector2 &cntr, concepts::TColumn< concepts::Real > *&T1) const=0
 Builds the degrees of freedom for a quad. More...
 
virtual void operator() (const concepts::Connector2 &cntr, concepts::TColumn< F > *&T1) const
 Builds the degrees of freedom. More...
 
SpacePreBuilderprebuild () const
 Returns the space pre builder. More...
 
SpaceHelper< concepts::Real, SpacePreBuilder > & spc () const
 Returns pointer to space helper class. More...
 
virtual ~BuildHCurlEdgeTColumns ()
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 

Protected Attributes

SpaceHelper< concepts::Real, SpacePreBuilder > * spc_
 Space to build the degrees of freedom from. More...
 

Detailed Description

template<class F = concepts::Real>
class hp2D::BuildHCurlEdgeTColumns< F >

Responsible to build the T columns belonging to edge degrees of freedom in a H(Curl) conforming space with shape functions in tensor product structure.

A call to the application operator builds the T columns for the 'member of space' edges of a given quad. They and the appropiate polynomial degree are given by a space pre builder class, which is part of a space helper class.

If you want to change the way this is done, derive from this class and overwrite the application operator.

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

Author
Kersten Schmidt, 2005

Definition at line 40 of file buildHCurlTColumns.hh.

Member Typedef Documentation

◆ SpaceHelper

template<class F = concepts::Real>
typedef concepts::SpaceHelper<F, SpacePreBuilder> hp2D::BuildHCurlEdgeTColumns< F >::SpaceHelper

Definition at line 42 of file buildHCurlTColumns.hh.

Constructor & Destructor Documentation

◆ BuildHCurlEdgeTColumns() [1/2]

template<class F = concepts::Real>
hp2D::BuildHCurlEdgeTColumns< F >::BuildHCurlEdgeTColumns ( )
inline

Default constructor.

Definition at line 44 of file buildHCurlTColumns.hh.

◆ BuildHCurlEdgeTColumns() [2/2]

template<class F = concepts::Real>
hp2D::BuildHCurlEdgeTColumns< F >::BuildHCurlEdgeTColumns ( SpaceHelper spc)
inline

Constructor.

Parameters
spcSpace Helper with Space Pre Builder (mesh and distribution of degrees of freedom), boundary condition and the running index

Definition at line 51 of file buildHCurlTColumns.hh.

◆ ~BuildHCurlEdgeTColumns()

template<class F = concepts::Real>
virtual hp2D::BuildHCurlEdgeTColumns< F >::~BuildHCurlEdgeTColumns ( )
inlinevirtual

Definition at line 53 of file buildHCurlTColumns.hh.

Member Function Documentation

◆ clone() [1/3]

template<class F = concepts::Real>
virtual BuildHCurlEdgeTColumns<F>* hp2D::BuildHCurlEdgeTColumns< F >::clone ( SpaceHelper spc = 0) const
virtual

◆ clone() [2/3]

◆ clone() [3/3]

virtual BuildTColumnsBase<concepts::Real ,SpacePreBuilder >* concepts::BuildTColumnsBase< concepts::Real , SpacePreBuilder >::clone ( SpaceHelper< F, G > *  spc = 0) const
pure virtualinherited

Virtual copy constructor with a twist.

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

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

◆ info()

◆ operator()() [1/2]

virtual void hp2D::BuildTColumnsBase< concepts::Real >::operator() ( const concepts::Connector2 cntr,
concepts::TColumn< F > *&  T1 
) const
pure virtualinherited

Builds the degrees of freedom for a quad.

Parameters
cntrQuad which dofs should be considered
T1New T columns created for the degrees of freedom

Implemented in hp2D::BuildL2InnerTColumns< concepts::Real >, and hp2D::BuildH1InnerTColumns< concepts::Real >.

◆ operator()() [2/2]

template<class F = concepts::Real>
virtual void hp2D::BuildHCurlEdgeTColumns< F >::operator() ( const concepts::Connector2 cntr,
concepts::TColumn< F > *&  T1 
) const
virtual

Builds the degrees of freedom.

Parameters
cntrQuad which dofs should be considered
T1New T columns created for the degrees of freedom

◆ prebuild()

Returns the space pre builder.

Definition at line 258 of file spacePreBuilder.hh.

◆ spc()

Returns pointer to space helper class.

Definition at line 256 of file spacePreBuilder.hh.

Member Data Documentation

◆ spc_

Space to build the degrees of freedom from.

Definition at line 273 of file spacePreBuilder.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