Provided by: librheolef-dev_7.0-3_amd64

**NAME**

band- compute the band around a level set

**DESCRIPTION**

Given a functionfhdefined in a domainLambda, compute the band of elements intersecting the level set defined by {x in Lambda, fh(x) = 0}. This class is used for solving problems defined on a surface described by a level set function (See level_set(4)).

**ACCESSORS**

Each side in the surface mesh, as returned by thelevel_setmember function, is included into an element of the band mesh, as returned by thebandmember function. Moreover, in the distributed memory environment, this correspondence is on the same process, so local indexes can be used for this correspondence: this is thesid_ie2bnd_iemember functions.

**BAND** **TOPOLOGY** **AND** **DOMAINS**

For the direct resolution of systems posed on the band, the mesh returned by theband()provides some domains of vertices. The"zero"vertex domain lists all verticesxisuch thatfh(xi)=0. The"isolated"vertex domain lists all verticesxisuch thatfh(xi)!=0andxiis contained by only one elementKand all verticesxj!=xiofKsatisfiesfh(xj)=0. Others vertices of the band, separated by the zero and isolated ones, are organizd by connected components: then_connex_componentmember function returns its number. Corresponding vertex domains of the band are named"cc<i>"where<i>should be replaced by any number between 0 andn_connex_component-1.

**IMPLEMENTATION**

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; } // data: protected: geo_basic<T,M> _gamma; geo_basic<T,M> _band; disarray<size_type,M> _sid_ie2bnd_ie; size_type _ncc; }; typedef band_basic<Float> band;

**SEE** **ALSO**

level_set(4)

**COPYRIGHT**

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.