Class documentation of Concepts

Loading...
Searching...
No Matches
hp2D::hpAdaptiveSpaceHCurl Class Referenceabstract
Inheritance diagram for hp2D::hpAdaptiveSpaceHCurl:
hp2D::hpAdaptiveSpace< Real > concepts::SpaceOnCoarseCells< dimC, F > concepts::AdaptiveSpace< F, Tadj > concepts::Subspace concepts::SpaceOnCells< F > concepts::Space< F > concepts::OutputOperator

Public Types

typedef concepts::Scan< hp2D::Element< Real > > Scan
 
typedef Real t_type
 
typedef ElementWithCell< F > type
 
typedef Scan< ElementWithCell< F > > Scanner
 

Public Member Functions

 hpAdaptiveSpaceHCurl (concepts::Mesh2 &msh, uint l, uint p, concepts::BoundaryConditions *bc=0, concepts::CellConditions *cc=0)
 
 hpAdaptiveSpaceHCurl (concepts::Mesh2 &msh, const concepts::InOutParameters input)
 
 hpAdaptiveSpaceHCurl (hpFull &prebuild, concepts::BoundaryConditions *bc=0, concepts::CellConditions *cc=0, uint spcNo=0, uint *offset=0, uint *idx=0)
 
 hpAdaptiveSpaceHCurl (const hpAdaptiveSpaceHCurl &spc)
 
virtual uint getOutputDimension () const
 
hpFullprebuild ()
 
hpFullprebuild () const
 
const concepts::SubspaceHelper< Real, SpacePreBuilder > & helper () const
 
concepts::SubspaceHelper< Real, SpacePreBuilder > & helper ()
 
virtual uint & lastIdx ()
 Returns last global index of the space.
 
virtual const uint & lastIdx () const
 
virtual uint offset () const
 Returns the offset.
 
virtual uint dim () const
 Returns the dimension of the space.
 
uint dim ()
 
virtual uint nelm () const
 Returns the number of elements in the space.
 
uint nelm ()
 
virtual Scanscan () const
 Returns a scanner to iterate over the elements of the space.
 
Scanscan ()
 
virtual void adjust (const concepts::Element< Real > &elm, const concepts::AdaptiveAdjustP< 2 > &a)
 
virtual void adjust (const Element< F > &elm, const Tadj &a)=0
 
void rebuild (bool sameIndices=false)
 
std::pair< bool, uint > available () const
 
void set_bc (const concepts::BoundaryConditions *bc)
 Reset boundary conditions to bc

 
const std::set< concepts::Cell2 * > allCells () const
 

Protected Member Functions

Strategies to Build the Degrees of Freedom
void setBuildVertexDofs_ (const BuildTColumnsBase< Real > *b)
 
void setBuildEdgeDofs_ (const BuildTColumnsBase< Real > *b)
 
void setBuildInnerDofs_ (const BuildTColumnsBase< Real > *b)
 

Protected Attributes

hpFull *const prebuild_
 Mesh and degrees of freedoms.
 
concepts::SubspaceHelper< Real, SpacePreBuilderspc_
 
uint nelm_
 Number of elements currently active in the mesh.
 
uint offset_
 
bool zeroDim_
 
uint idxVtx_
 Number of indices on entities, just for statistics.
 
uint idxEdge_
 
uint idxInner_
 

Strategies to Build the Degrees of Freedom

void buildEdgeDofs (const BuildTColumnsBase< Real > *b)
 
void buildInnerDofs (const BuildTColumnsBase< Real > *b)
 
void recomputeShapefunctions ()
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 

Detailed Description

Definition at line 66 of file hpAdaptiveSpaceHCurl.hh.

Member Typedef Documentation

◆ Scan

◆ Scanner

template<class F >
typedef Scan<ElementWithCell<F> > concepts::SpaceOnCells< F >::Scanner
inherited

Definition at line 84 of file space.hh.

◆ t_type

typedef Real hp2D::hpAdaptiveSpace< Real >::t_type
inherited

Definition at line 39 of file hpAdaptiveSpace.hh.

◆ type

template<class F >
typedef ElementWithCell<F> concepts::SpaceOnCells< F >::type
inherited

Definition at line 83 of file space.hh.

Constructor & Destructor Documentation

◆ hpAdaptiveSpaceHCurl() [1/4]

hp2D::hpAdaptiveSpaceHCurl::hpAdaptiveSpaceHCurl ( concepts::Mesh2 msh,
uint  l,
uint  p,
concepts::BoundaryConditions bc = 0,
concepts::CellConditions cc = 0 
)

Constructor. Scans the mesh and sets the cells in the mesh active and the level of refinement and the polynomial degree in all cells to the given values. rebuild_ is set to true, ie. if the mesh is used it will firstly be rebuilt.

Parameters
mshThe domain of interest partitioned into a mesh.
lLevel of refinement
pDegree of the polynomials to be used.
bcBoundary conditions
ccCell conditions

◆ hpAdaptiveSpaceHCurl() [2/4]

hp2D::hpAdaptiveSpaceHCurl::hpAdaptiveSpaceHCurl ( concepts::Mesh2 msh,
const concepts::InOutParameters  input 
)

Constructor with boundary conditions and refinement strategy from input parameters.

See also
hpAdaptiveSpaceHcurlFromInput

◆ hpAdaptiveSpaceHCurl() [3/4]

hp2D::hpAdaptiveSpaceHCurl::hpAdaptiveSpaceHCurl ( hpFull prebuild,
concepts::BoundaryConditions bc = 0,
concepts::CellConditions cc = 0,
uint  spcNo = 0,
uint *  offset = 0,
uint *  idx = 0 
)

Constructor for using same mesh and distribution of degrees of freedom object as another space. The global indices are sorted by the topological entities, on which the degrees of freedoms lie. Spaces could have no common entities, e.g. first space has Dirichlet boundary and this has only dof on the boundary. If they have common entities, like in mixed problems, the global indices per topological entity can be uniquely given by spcNo.

Parameters
prebuildspace pre builder
bcBoundary conditions
ccCell conditions
spcNoNumber for distinguish between global indices on same topological entity.
lastIdxLast index of previous space.

◆ hpAdaptiveSpaceHCurl() [4/4]

hp2D::hpAdaptiveSpaceHCurl::hpAdaptiveSpaceHCurl ( const hpAdaptiveSpaceHCurl spc)

Copy constructor. Copies mesh, boundary conditions and ctrl2_ (information about refinements and polynomial degrees of the elements).

Member Function Documentation

◆ adjust() [1/2]

virtual void hp2D::hpAdaptiveSpace< Real >::adjust ( const concepts::Element< Real > &  elm,
const concepts::AdaptiveAdjustP< 2 > &  a 
)
virtualinherited

Adjusts the space in the next rebuild step for this element.

◆ adjust() [2/2]

template<class F , class Tadj = class AdaptiveAdjust<1>>
virtual void concepts::AdaptiveSpace< F, Tadj >::adjust ( const Element< F > &  elm,
const Tadj a 
)
pure virtualinherited

Adjusts the space in the next rebuild step for this element.

Implemented in hp2D::hpAdaptiveSpace< F >.

◆ allCells()

const std::set< concepts::Cell2 * > hp2D::hpAdaptiveSpace< Real >::allCells ( ) const
inlinevirtualinherited

Implements concepts::SpaceOnCoarseCells< dimC, F >.

Definition at line 126 of file hpAdaptiveSpace.hh.

◆ available()

std::pair< bool, uint > hp2D::hpAdaptiveSpace< Real >::available ( ) const
inherited

Returns 0 if the space has to be rebuilt with rebuild(), otherwise the number of the build. This number helps in the decision of availability.

◆ buildEdgeDofs()

void hp2D::hpAdaptiveSpaceHCurl::buildEdgeDofs ( const BuildTColumnsBase< Real > *  b)
inline

Change the strategy how the degrees of freedom for the edge are built. The default strategy is BuildHCurlEdgeTColumns. You can change this strategy any time you chose.

buildEdgeDofs_ is reset with a clone of b.

Parameters
bNew strategy

Definition at line 136 of file hpAdaptiveSpaceHCurl.hh.

◆ buildInnerDofs()

void hp2D::hpAdaptiveSpaceHCurl::buildInnerDofs ( const BuildTColumnsBase< Real > *  b)
inline

Change the strategy how the degrees of freedom for the interior are built. The default strategy is BuildHCurlInnerTColumns. You can change this strategy any time you chose.

buildInnerDofs_ is reset with a clone of b.

Parameters
bNew strategy

Definition at line 148 of file hpAdaptiveSpaceHCurl.hh.

◆ dim() [1/2]

uint hp2D::hpAdaptiveSpace< Real >::dim ( )
inlineinherited

Definition at line 100 of file hpAdaptiveSpace.hh.

◆ dim() [2/2]

uint hp2D::hpAdaptiveSpace< Real >::dim ( ) const
inlinevirtualinherited

Returns the dimension of the space.

Implements concepts::SpaceOnCells< F >.

Examples
exactDtN.cc, and inhomDirichletBCsLagrange.cc.

Definition at line 96 of file hpAdaptiveSpace.hh.

◆ getOutputDimension()

virtual uint hp2D::hpAdaptiveSpaceHCurl::getOutputDimension ( ) const
inlinevirtual

Functions in this space have two components.

Overwrites concepts::Space::getOutputDimension().

Reimplemented from concepts::Space< F >.

Definition at line 121 of file hpAdaptiveSpaceHCurl.hh.

◆ helper() [1/2]

concepts::SubspaceHelper< Real , SpacePreBuilder > & hp2D::hpAdaptiveSpace< Real >::helper ( )
inlineinherited

Definition at line 91 of file hpAdaptiveSpace.hh.

◆ helper() [2/2]

const concepts::SubspaceHelper< Real , SpacePreBuilder > & hp2D::hpAdaptiveSpace< Real >::helper ( ) const
inlineinherited

Definition at line 89 of file hpAdaptiveSpace.hh.

◆ info()

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

Returns information in an output stream.

Reimplemented from hp2D::hpAdaptiveSpace< Real >.

◆ lastIdx() [1/2]

virtual uint & hp2D::hpAdaptiveSpace< Real >::lastIdx ( )
inlinevirtualinherited

Returns last global index of the space.

Implements concepts::Subspace.

Definition at line 92 of file hpAdaptiveSpace.hh.

◆ lastIdx() [2/2]

virtual const uint & hp2D::hpAdaptiveSpace< Real >::lastIdx ( ) const
inlinevirtualinherited

Definition at line 93 of file hpAdaptiveSpace.hh.

◆ nelm() [1/2]

uint hp2D::hpAdaptiveSpace< Real >::nelm ( )
inlineinherited

Definition at line 101 of file hpAdaptiveSpace.hh.

◆ nelm() [2/2]

uint hp2D::hpAdaptiveSpace< Real >::nelm ( ) const
inlinevirtualinherited

Returns the number of elements in the space.

Implements concepts::SpaceOnCells< F >.

Definition at line 97 of file hpAdaptiveSpace.hh.

◆ offset()

virtual uint hp2D::hpAdaptiveSpace< Real >::offset ( ) const
inlinevirtualinherited

Returns the offset.

Implements concepts::Subspace.

Definition at line 94 of file hpAdaptiveSpace.hh.

◆ prebuild() [1/2]

hpFull & hp2D::hpAdaptiveSpace< Real >::prebuild ( )
inlineinherited

Definition at line 86 of file hpAdaptiveSpace.hh.

◆ prebuild() [2/2]

hpFull & hp2D::hpAdaptiveSpace< Real >::prebuild ( ) const
inlineinherited

Definition at line 87 of file hpAdaptiveSpace.hh.

◆ rebuild()

void hp2D::hpAdaptiveSpace< Real >::rebuild ( bool  sameIndices = false)
inherited

Rebuilds the mesh and the elements due to adjustment orders.

Parameters
sameIndicesIf true, the already existing indices (stored in the space pre builder) won't be cleared. That is useful for domain decomposition for example.
Examples
RobinBCs.cc, cig_load_input_data.cc, exactDtN.cc, howToGetStarted.cc, inhomDirichletBCs.cc, inhomDirichletBCsLagrange.cc, inhomNeumannBCs.cc, and parallelizationTutorial.cc.

◆ recomputeShapefunctions()

void hp2D::hpAdaptiveSpaceHCurl::recomputeShapefunctions ( )
virtual

Recompute shape functions, e.g. for other abscissas redefined through setIntegrationRule

Implements hp2D::hpAdaptiveSpace< Real >.

◆ scan() [1/2]

hpAdaptiveSpace< Real >::Scan * hp2D::hpAdaptiveSpace< Real >::scan ( )
inlineinherited

Definition at line 102 of file hpAdaptiveSpace.hh.

◆ scan() [2/2]

hpAdaptiveSpace< Real >::Scan * hp2D::hpAdaptiveSpace< Real >::scan ( ) const
inlinevirtualinherited

Returns a scanner to iterate over the elements of the space.

Implements concepts::SpaceOnCells< F >.

Definition at line 98 of file hpAdaptiveSpace.hh.

◆ set_bc()

void hp2D::hpAdaptiveSpace< Real >::set_bc ( const concepts::BoundaryConditions bc)
inlineinherited

Reset boundary conditions to bc

Definition at line 122 of file hpAdaptiveSpace.hh.

◆ setBuildEdgeDofs_()

void hp2D::hpAdaptiveSpace< Real >::setBuildEdgeDofs_ ( const BuildTColumnsBase< Real > *  b)
protectedinherited

Change the strategy how the degrees of freedom for the edge are built. The default strategy is BuildEdgeDofs. You can change this strategy any time you chose.

buildEdgeDofs_ is reset with a clone of b.

Parameters
bNew strategy

◆ setBuildInnerDofs_()

void hp2D::hpAdaptiveSpace< Real >::setBuildInnerDofs_ ( const BuildTColumnsBase< Real > *  b)
protectedinherited

Change the strategy how the degrees of freedom for the interior are built. The default strategy is BuildInnerDofsLinTrunk. You can change this strategy any time you chose.

buildInnerDofs_ is reset with a clone of b.

Parameters
bNew strategy

◆ setBuildVertexDofs_()

void hp2D::hpAdaptiveSpace< Real >::setBuildVertexDofs_ ( const BuildTColumnsBase< Real > *  b)
protectedinherited

Change the strategy how the degrees of freedom for the vertices are built. The default strategy is BuildVertexDofs. You can change this strategy any time you chose.

buildVertexDofs_ is reset with a clone of b.

Parameters
bNew strategy

Member Data Documentation

◆ idxEdge_

uint hp2D::hpAdaptiveSpace< Real >::idxEdge_
protectedinherited

Definition at line 158 of file hpAdaptiveSpace.hh.

◆ idxInner_

uint hp2D::hpAdaptiveSpace< Real >::idxInner_
protectedinherited

Definition at line 158 of file hpAdaptiveSpace.hh.

◆ idxVtx_

uint hp2D::hpAdaptiveSpace< Real >::idxVtx_
protectedinherited

Number of indices on entities, just for statistics.

Definition at line 158 of file hpAdaptiveSpace.hh.

◆ nelm_

uint hp2D::hpAdaptiveSpace< Real >::nelm_
protectedinherited

Number of elements currently active in the mesh.

Definition at line 145 of file hpAdaptiveSpace.hh.

◆ offset_

uint hp2D::hpAdaptiveSpace< Real >::offset_
protectedinherited

Initially given offset, holden for control, if in there are changes in the previous subspace

Definition at line 150 of file hpAdaptiveSpace.hh.

◆ prebuild_

hpFull* const hp2D::hpAdaptiveSpace< Real >::prebuild_
protectedinherited

Mesh and degrees of freedoms.

Definition at line 137 of file hpAdaptiveSpace.hh.

◆ spc_

concepts::SubspaceHelper<Real , SpacePreBuilder> hp2D::hpAdaptiveSpace< Real >::spc_
protectedinherited

Helper class for building elements with space pre builder, boundary conditions and index

Definition at line 142 of file hpAdaptiveSpace.hh.

◆ zeroDim_

bool hp2D::hpAdaptiveSpace< Real >::zeroDim_
protectedinherited

Control, if dimension at last build is zero. That is needed to distinguish from not built state, if the index counter is reset.

Definition at line 155 of file hpAdaptiveSpace.hh.


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