Class documentation of Concepts

Loading...
Searching...
No Matches

#include <space.hh>

Inheritance diagram for hp2Dedge::Space:
concepts::SpaceOnCells< Real > concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 2 > > concepts::Space< F > concepts::OutputOperator

Public Types

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

Public Member Functions

 Space (concepts::Mesh2 &msh, uint l, uint p, concepts::BoundaryConditions *bc=0, bool trunk=false)
 
virtual uint getOutputDimension () const
 Returns the default output dimension, when we consider plotting a real-valued operator on this space.
 
uint dim () const
 Returns the dimension of the space.
 
uint nelm () const
 Returns the number of elements in the space.
 
Scanscan () const
 scanner over the cells of the coarsest mesh
 
concepts::Scan< const concepts::Quad > * interScan () const
 scanner over the intermediate cells
 
uint dim ()
 
uint nelm ()
 
Scanscan ()
 scanner over the cells of the coarsest mesh
 
concepts::Scan< const concepts::Quad > * interScan ()
 scanner over the intermediate cells
 
virtual void adjust (const concepts::Element< Real > &elm, const concepts::AdaptiveAdjustP< 2 > &a)
 
concepts::BoundaryConditionsboundary ()
 
void rebuild ()
 
void recomputeShapefunctions ()
 
virtual void adjust (const Element< Real > &elm, const concepts::AdaptiveAdjustP< 2 > &a)=0
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 

Detailed Description

A 2D hp FEM space of edge elements with piecewise polynomial basis functions with two components, where the tangential component is continuous Currently, only quadrilaterials and conforming meshes are possible.

Author
Kersten Schmidt, 2004

Definition at line 50 of file space.hh.

Member Typedef Documentation

◆ Scan

Definition at line 54 of file space.hh.

◆ Scanner

typedef Scan<ElementWithCell<Real > > concepts::SpaceOnCells< Real >::Scanner
inherited

Definition at line 84 of file space.hh.

◆ type

typedef ElementWithCell<Real > concepts::SpaceOnCells< Real >::type
inherited

Definition at line 83 of file space.hh.

Constructor & Destructor Documentation

◆ Space()

hp2Dedge::Space::Space ( concepts::Mesh2 msh,
uint  l,
uint  p,
concepts::BoundaryConditions bc = 0,
bool  trunk = false 
)

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
trunkCreate trunk space ie., use the the rules p+q <= pIntMax + 1 in the interior instead of allowing all p, q combinations.

Member Function Documentation

◆ adjust()

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

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

◆ boundary()

concepts::BoundaryConditions * hp2Dedge::Space::boundary ( )
inline

Definition at line 95 of file space.hh.

◆ dim() [1/2]

uint hp2Dedge::Space::dim ( )
inline

Definition at line 366 of file space.hh.

◆ dim() [2/2]

uint hp2Dedge::Space::dim ( ) const
inlinevirtual

Returns the dimension of the space.

Implements concepts::SpaceOnCells< Real >.

Definition at line 346 of file space.hh.

◆ getOutputDimension()

virtual uint hp2Dedge::Space::getOutputDimension ( ) const
inlinevirtual

Returns the default output dimension, when we consider plotting a real-valued operator on this space.

Reimplemented from concepts::Space< F >.

Definition at line 74 of file space.hh.

◆ info()

virtual std::ostream & hp2Dedge::Space::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::SpaceOnCells< Real >.

◆ interScan() [1/2]

concepts::Scan< const concepts::Quad > * hp2Dedge::Space::interScan ( )
inline

scanner over the intermediate cells

Definition at line 381 of file space.hh.

◆ interScan() [2/2]

concepts::Scan< const concepts::Quad > * hp2Dedge::Space::interScan ( ) const
inline

scanner over the intermediate cells

Definition at line 361 of file space.hh.

◆ nelm() [1/2]

uint hp2Dedge::Space::nelm ( )
inline

Definition at line 371 of file space.hh.

◆ nelm() [2/2]

uint hp2Dedge::Space::nelm ( ) const
inlinevirtual

Returns the number of elements in the space.

Implements concepts::SpaceOnCells< Real >.

Definition at line 351 of file space.hh.

◆ rebuild()

void hp2Dedge::Space::rebuild ( )

Rebuilds the space. First the old list of Finite Elements in the space is removed (not the elements in the topology!). Then the control information for the vertices, edges and faces is cleared (the information on the 2D elements is retained). For every cell in the original mesh, rebuild0_ and rebuild1_ are called. From the mesh, they build the space and store the elements in elm_. An essential part of the generated information are the T matrices. They describe how the local shape functions are glued together to form the global shape functions.

rebuild0_ marks the elements with the right values and rebuild1_ really does the work.

See also
TMatrix for more information on T matrices and how they are stored.

◆ recomputeShapefunctions()

void hp2Dedge::Space::recomputeShapefunctions ( )

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

◆ scan() [1/2]

Space::Scan * hp2Dedge::Space::scan ( )
inline

scanner over the cells of the coarsest mesh

Definition at line 376 of file space.hh.

◆ scan() [2/2]

Space::Scan * hp2Dedge::Space::scan ( ) const
inlinevirtual

scanner over the cells of the coarsest mesh

Implements concepts::SpaceOnCells< Real >.

Definition at line 356 of file space.hh.


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