A 3D space with Dirac basis functions. More...

#include <space.hh>

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

Public Types

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

Public Member Functions

uint dim () const
 Returns dimension of the space. More...
 
virtual uint dim () const=0
 Returns the dimension of the space. More...
 
 Dirac3d (concepts::Mesh2 &msh, uint lvl)
 Constructor. 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 number of elements in the space. 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 ~Dirac3d ()
 

Protected Member Functions

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

Private Member Functions

void constructor_ (concepts::Triangle3d *cell, uint lvl, concepts::DynArray< uint > &map)
 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 the elements in the space. More...
 
uint nelm_
 Number of elements in the space. More...
 

Detailed Description

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

A 3D space with Dirac basis functions.

The elements are triangles.

It consists of elements in a regular (uniformly refined) mesh. The elements use Dirac shape functions (used for collocation).

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

Test:
test::BEMSpaceTest

Definition at line 33 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

◆ Dirac3d()

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

Constructor.

Parameters
mshMesh for the space
lvlLevel of uniform refinement
Exceptions
MissingFeature

◆ ~Dirac3d()

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

Member Function Documentation

◆ constructor_()

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

Private constructor for recursive construction.

Parameters
cellTriangle to refine
lvlRefinement level of the triangle
mapMap for the global DoF's

◆ dim() [1/2]

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

Returns dimension of the space.

Definition at line 62 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::Dirac3d< F >::info ( std::ostream &  os) const
inlineprotectedvirtual

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

Definition at line 70 of file space.hh.

◆ nelm() [1/2]

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

Returns number of elements in the space.

Definition at line 64 of file space.hh.

◆ nelm() [2/2]

◆ scan() [1/2]

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

Returns a scanner of the space.

Definition at line 76 of file space.hh.

◆ scan() [2/2]

Member Data Documentation

◆ dim_

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

Number of degrees of freedom in the space.

Definition at line 35 of file space.hh.

◆ elm_

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

Linked list of the elements in the space.

Definition at line 39 of file space.hh.

◆ nelm_

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

Number of elements in the space.

Definition at line 37 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