Class documentation of Concepts

Loading...
Searching...
No Matches
bem::AdaptConst3d002< F > Class Template Referenceabstract

#include <space.hh>

Inheritance diagram for bem::AdaptConst3d002< F >:
bem::AdaptiveSpace< F > concepts::SpaceOnCells< F > concepts::AdaptiveSpace< F, Tadj > concepts::Space< F > concepts::OutputOperator

Public Types

typedef ElementWithCell< F > type
 
typedef Scan< ElementWithCell< F > > Scanner
 

Public Member Functions

 AdaptConst3d002 (concepts::Mesh2 &msh, uint lvl, ushort deltal, ushort deltaL)
 
uint dim () const
 
uint dim ()
 
uint nelm () const
 
uint nelm ()
 
uint maxlevel ()
 Returns the maximal level of all elements.
 
uint minlevel ()
 Returns the minimal level of all elements.
 
concepts::Scan< concepts::ElementWithCell< F > > * scan () const
 
concepts::Scan< concepts::ElementWithCell< F > > * scan ()
 
short l (Constant3d001< F > &elm)
 Returns the level of a element.
 
void adjust (const concepts::Element< F > &elm, const AdaptiveAdjust &a)
 
void adjust (const Constant3d001< F > &elm, const AdaptiveAdjust &a)
 
void rebuild ()
 
std::ostream & info (std::ostream &os, uint mode=0) const
 
virtual uint getOutputDimension () const
 Returns the default output dimension, when we consider plotting a real-valued operator on this space.
 
virtual void adjust (const Element< F > &elm, const Tadj &a)=0
 

Protected Member Functions

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

Detailed Description

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

A 3D adaptive BEM space with piecewise constant basis functions. Constraints: level difference between neighbouring elements is less or equal to $\Delta l$, Maximal level difference between two panels is less of equal to $\Delta L$.

Parameters
FField of the space (Real or Cmplx)
Test:
test::BEMSpaceTest

Definition at line 613 of file space.hh.

Member Typedef Documentation

◆ Scanner

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

Definition at line 84 of file space.hh.

◆ type

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

Definition at line 83 of file space.hh.

Constructor & Destructor Documentation

◆ AdaptConst3d002()

template<class F = concepts::Real>
bem::AdaptConst3d002< F >::AdaptConst3d002 ( concepts::Mesh2 msh,
uint  lvl,
ushort  deltal,
ushort  deltaL 
)

Constructor. Scans the mesh and sets the cells in the mesh active and the level of refinement 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 surface of interest partitioned into a mesh.
lvlLevel of refinement
deltalMaximal local level difference
deltaLMaximal global level difference

Member Function Documentation

◆ adjust() [1/2]

template<class F = concepts::Real>
void bem::AdaptConst3d002< F >::adjust ( const concepts::Element< F > &  elm,
const AdaptiveAdjust a 
)

Sets the adjustments for an element. The adjustment information in adj_ is updated and the flag rebuild_ is set to true.

Parameters
elmElement to be adjusted
lDifference in the level
Exceptions
MissingFeature

◆ 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 >.

◆ dim() [1/2]

template<class F >
uint bem::AdaptConst3d002< F >::dim ( )
inline

Definition at line 738 of file space.hh.

◆ dim() [2/2]

template<class F >
uint bem::AdaptConst3d002< F >::dim ( ) const
inlinevirtual

Returns the number of degrees of freedom

Exceptions
SpaceNotBuilt

Implements concepts::SpaceOnCells< F >.

Definition at line 732 of file space.hh.

◆ getOutputDimension()

template<class F >
virtual uint concepts::Space< F >::getOutputDimension ( ) const
inlinevirtualinherited

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

Reimplemented in hp2D::hpAdaptiveSpaceHCurl, and hp2Dedge::Space.

Definition at line 50 of file space.hh.

◆ info() [1/2]

template<class F = concepts::Real>
std::ostream & bem::AdaptConst3d002< F >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::SpaceOnCells< F >.

Definition at line 663 of file space.hh.

◆ info() [2/2]

template<class F = concepts::Real>
std::ostream & bem::AdaptConst3d002< F >::info ( std::ostream &  os,
uint  mode = 0 
) const

Gives some information about the space.

Exceptions
SpaceNotBuilt
Parameters
osOutput stream
modeThere are different levels of information available. mode = 0 Output of dimension and number of elements mode = 1 Prints all elements

◆ l()

template<class F = concepts::Real>
short bem::AdaptConst3d002< F >::l ( Constant3d001< F > &  elm)
inline

Returns the level of a element.

Definition at line 699 of file space.hh.

◆ maxlevel()

template<class F >
uint bem::AdaptConst3d002< F >::maxlevel ( )
inline

Returns the maximal level of all elements.

Definition at line 756 of file space.hh.

◆ minlevel()

template<class F >
uint bem::AdaptConst3d002< F >::minlevel ( )
inline

Returns the minimal level of all elements.

Definition at line 762 of file space.hh.

◆ nelm() [1/2]

template<class F >
uint bem::AdaptConst3d002< F >::nelm ( )
inline

Definition at line 750 of file space.hh.

◆ nelm() [2/2]

template<class F >
uint bem::AdaptConst3d002< F >::nelm ( ) const
inlinevirtual

Returns the number of elements of the space

Exceptions
SpaceNotBuilt

Implements concepts::SpaceOnCells< F >.

Definition at line 744 of file space.hh.

◆ rebuild()

template<class F = concepts::Real>
void bem::AdaptConst3d002< F >::rebuild ( )

Rebuilds the space. First the old list of elements in the space is removed (not the elements in the topology!). 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_. rebuild0_ marks the elements with the right values and rebuild1_ really does the work.

Exceptions
MissingFeature

◆ scan() [1/2]

template<class F >
concepts::Scan< concepts::ElementWithCell< F > > * bem::AdaptConst3d002< F >::scan ( )
inline

Definition at line 776 of file space.hh.

◆ scan() [2/2]

template<class F >
concepts::Scan< concepts::ElementWithCell< F > > * bem::AdaptConst3d002< F >::scan ( ) const
inlinevirtual

Returns a scanner for the active elements of the space

Exceptions
SpaceNotBuilt

Implements concepts::SpaceOnCells< F >.

Definition at line 769 of file space.hh.


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