A 3D space with discontinuous, piecewise constant basis functions. More...

#include <space.hh>

Inheritance diagram for bem::Constant3d< F >:
concepts::Space< concepts::Real >

Public Types

typedef Scan< Element< concepts::Real > > Scanner
 
typedef Element< concepts::Realtype
 

Public Member Functions

 Constant3d (concepts::Mesh2 &msh, uint lvl, uint elmType=0)
 Constructor. More...
 
uint dim () const
 Returns the number of degrees of freedom. More...
 
virtual uint dim () const=0
 Returns the dimension of the space. More...
 
virtual uint getOutputDimension () const
 Returns the default output dimension, when we consider plotting a real-valued operator on this space. More...
 
uint nelm () const
 Returns the number of elements. More...
 
virtual uint nelm () const=0
 Returns the number of elements in the space. More...
 
concepts::Scan< concepts::Element< F > > * scan () const
 Returns a scanner of the space. More...
 
virtual Scannerscan () const=0
 Returns a scanner to iterate over the elements of the space. More...
 
virtual ~Constant3d ()
 

Protected Member Functions

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

Private Member Functions

void constructor_ (concepts::Triangle3d *cell, uint lvl)
 Private constructor for recursive construction. More...
 

Private Attributes

uint dim_
 Number of degrees of freedom in the space. More...
 
concepts::Joiner< concepts::Element< F > *, 1 > * elm_
 Linked list of elements. More...
 
uint elmType_
 Type of element used. More...
 
uint nelm_
 Number of elements. More...
 

Detailed Description

template<class F = concepts::Real>
class bem::Constant3d< F >

A 3D space with discontinuous, piecewise constant basis functions.

The elements are triangles.

It consists of elements in a regular (uniformly refined) mesh. The elements use constant shape functions.

The space cannot be refined but only created with a given level of refinement.

Test:
test::BEMSpaceTest

Definition at line 156 of file space.hh.

Member Typedef Documentation

◆ Scanner

typedef Scan<Element<concepts::Real > > concepts::Space< concepts::Real >::Scanner
inherited

Definition at line 47 of file space.hh.

◆ type

typedef Element<concepts::Real > concepts::Space< concepts::Real >::type
inherited

Definition at line 46 of file space.hh.

Constructor & Destructor Documentation

◆ Constant3d()

template<class F = concepts::Real>
bem::Constant3d< F >::Constant3d ( concepts::Mesh2 msh,
uint  lvl,
uint  elmType = 0 
)

Constructor.

Parameters
mshMesh for the space
lvlLevel of uniform refinement
elmTypeType of basis functions. 0: Constant3d000 2: Constant3d002
Exceptions
MissingFeature

◆ ~Constant3d()

template<class F = concepts::Real>
virtual bem::Constant3d< F >::~Constant3d ( )
virtual

Member Function Documentation

◆ constructor_()

template<class F = concepts::Real>
void bem::Constant3d< F >::constructor_ ( concepts::Triangle3d cell,
uint  lvl 
)
private

Private constructor for recursive construction.

Parameters
cellTriangle to refine
lvlRefinement level of the triangle

◆ dim() [1/2]

template<class F = concepts::Real>
uint bem::Constant3d< F >::dim ( ) const
inline

Returns the number of degrees of freedom.

Definition at line 188 of file space.hh.

◆ dim() [2/2]

◆ getOutputDimension()

virtual uint concepts::Space< concepts::Real >::getOutputDimension ( ) const
inlinevirtualinherited

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

Definition at line 50 of file space.hh.

◆ info()

template<class F >
std::ostream & bem::Constant3d< F >::info ( std::ostream &  os) const
inlineprotectedvirtual

Reimplemented from concepts::Space< concepts::Real >.

Definition at line 201 of file space.hh.

◆ nelm() [1/2]

template<class F = concepts::Real>
uint bem::Constant3d< F >::nelm ( ) const
inline

Returns the number of elements.

Definition at line 190 of file space.hh.

◆ nelm() [2/2]

◆ scan() [1/2]

template<class F >
concepts::Scan< concepts::Element< F > > * bem::Constant3d< F >::scan
inline

Returns a scanner of the space.

Definition at line 196 of file space.hh.

◆ scan() [2/2]

Member Data Documentation

◆ dim_

template<class F = concepts::Real>
uint bem::Constant3d< F >::dim_
private

Number of degrees of freedom in the space.

Definition at line 158 of file space.hh.

◆ elm_

template<class F = concepts::Real>
concepts::Joiner<concepts::Element<F>*, 1>* bem::Constant3d< F >::elm_
private

Linked list of elements.

Definition at line 164 of file space.hh.

◆ elmType_

template<class F = concepts::Real>
uint bem::Constant3d< F >::elmType_
private

Type of element used.

Definition at line 162 of file space.hh.

◆ nelm_

template<class F = concepts::Real>
uint bem::Constant3d< F >::nelm_
private

Number of elements.

Definition at line 160 of file space.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