Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
bem::Linear3d< F > Class Template Reference

A 3D space with continuous, piecewise linear basis functions. More...

#include <space.hh>

Inheritance diagram for bem::Linear3d< F >:
Inheritance graph
[legend]
Collaboration diagram for bem::Linear3d< F >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Scan< Element< F > > Scanner

Public Member Functions

uint dim () const
 Returns the number of degrees of freedom.
std::ostream & info (std::ostream &os, uint mode=0) const
 Returns information in an output stream.
 Linear3d (concepts::Mesh2 &msh, uint lvl)
 Constructor.
uint nelm () const
 Returns the number of elements.
concepts::Scan
< concepts::Element< F > > * 
scan () const
 Returns a scanner of the space.
virtual ~Linear3d ()

Protected Member Functions

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

Private Member Functions

void constructor_ (concepts::Triangle3d *cell, uint lvl, concepts::DynArray< uint > &map)
 Private constructor for recursive construction.

Private Attributes

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

Detailed Description

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

A 3D space with continuous, piecewise linear basis functions.

The elements are triangles.

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

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

Test:
test::BEMSpaceTest

Definition at line 90 of file space.hh.


Member Typedef Documentation

template<class F>
typedef Scan<Element<F> > concepts::Space< F >::Scanner [inherited]

Constructor & Destructor Documentation

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

Constructor.

Parameters:
mshMesh for the space
lvlLevel of uniform refinement
Exceptions:
MissingFeature
template<class F = concepts::Real>
virtual bem::Linear3d< F >::~Linear3d ( ) [virtual]

Member Function Documentation

template<class F = concepts::Real>
void bem::Linear3d< 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
template<class F = concepts::Real>
uint bem::Linear3d< F >::dim ( ) const [inline, virtual]

Returns the number of degrees of freedom.

Implements concepts::Space< F >.

Definition at line 119 of file space.hh.

template<class F = concepts::Real>
std::ostream& bem::Linear3d< F >::info ( std::ostream &  os) const [inline, protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::Space< F >.

Definition at line 107 of file space.hh.

Here is the call graph for this function:

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

Returns information in an output stream.

Parameters:
osOutput stream
modeThere are different levels of information available. mode = 0 Output of dimension and number of elements mode = 1 As mode 0 but in addition output of all elements mode > 1 As mode 0 but prints also the vertices with the DoF number
template<class F = concepts::Real>
uint bem::Linear3d< F >::nelm ( ) const [inline, virtual]

Returns the number of elements.

Implements concepts::Space< F >.

Definition at line 121 of file space.hh.

template<class F >
concepts::Scan< concepts::Element< F > > * bem::Linear3d< F >::scan ( ) const [inline, virtual]

Returns a scanner of the space.

Implements concepts::Space< F >.

Definition at line 136 of file space.hh.


Member Data Documentation

template<class F = concepts::Real>
uint bem::Linear3d< F >::dim_ [private]

Number of degrees of freedom in the space.

Definition at line 92 of file space.hh.

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

Linked list of elements.

Definition at line 96 of file space.hh.

template<class F = concepts::Real>
uint bem::Linear3d< F >::nelm_ [private]

Number of elements.

Definition at line 94 of file space.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)