Rheolef
7.2
an efficient C++ finite element environment
|
Let fh
be a finite element function defined on a geometric domain Lambda
. Then, the set of elements intersecting the zero level set is defined by {x in Lambda, fh(x) = 0}
and is called a band. This class represents such a band: it is used for solving problems defined on a surface, when the surface itself is implicitly defined by a level_set
function.
Each side in the surface mesh, as returned by the level_set
member function, is included into an element of the band mesh, as returned by the band
member function. Moreover, in the distributed memory environment, this correspondence is on the same local memory, so local indexes can be used for this correspondence: it is provided by the sid_ie2bnd_ie
member function.
For the direct resolution of systems posed on the band, the mesh returned by the band()
member function provides some domains of vertices. The "zero"
vertex domain lists all vertices xi
such that fh(xi)=0
. The "isolated"
vertex domain lists all vertices xi
such that fh(xi)!=0
and xi
is contained by only one element K
and all vertices xj!=xi
of K
satisfies fh(xj)=0
. Others vertices of the band, separated by the zero and isolated ones, are organized by connected components: the n_connex_component
member function returns its number. Corresponding vertex domains of the band are named "cci"
where i should be replaced by any number between 0 and n_connex_component-1
, e.g. cc0
, cc1
, etc.
This documentation has been generated from file main/lib/band.h
The band
class is simply an alias to the band_basic
class
The band_basic
class provides an interface, via the smart_pointer
class family, to a mesh container: