focal (2) band.2rheolef.gz

Provided by: librheolef-dev_7.1-1_amd64 bug

NAME

       band - banded level set method (rheolef-7.1)

DESCRIPTION

       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(3) function.

ACESSORS

       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.

TOPOLOGY AND DOMAINS

       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.

IMPLEMENTATION

       This documentation has been generated from file main/lib/band.h

       The band class is simply an alias to the band_basic class

       typedef band_basic<Float> band;

       The band_basic class provides an interface, via the smart_pointer(7) class family, to a mesh container:

       template <class T, class M = rheo_default_memory_model>
       class band_basic {
       public:

         typedef typename geo_basic<T,M>::size_type size_type;

       // allocators:

         band_basic();
         band_basic(const field_basic<T,M>& fh,
           const level_set_option& opt = level_set_option());

       // accessors:

         const geo_basic<T,M>& band() const { return _band; }
         const geo_basic<T,M>& level_set() const { return _gamma; }
         size_type sid_ie2bnd_ie (size_type sid_ie) const { return _sid_ie2bnd_ie [sid_ie]; }
         size_type n_connected_component() const { return _ncc; }

       };

AUTHOR

       Pierre  Saramito  <Pierre.Saramito@imag.fr>

       Copyright   (C)  2000-2018  Pierre  Saramito  <Pierre.Saramito@imag.fr> GPLv3+: GNU GPL version 3 or
       later  <http://gnu.org/licenses/gpl.html>.  This  is  free  software:  you  are free to change and
       redistribute it.  There is NO WARRANTY, to the extent permitted by law.