![]() |
Dune-Fufem 2.11-git
|
Encapsulate a part of a grid boundary. More...
#include <dune/fufem/boundarypatch.hh>

Public Types | |
| using | iterator = typename Base::iterator |
| using | GridView = GV |
Public Member Functions | |
| BoundaryPatch (const GridView &gridView, bool initialValue=false) | |
| Constructor for a given grid view. | |
| template<int blocksize> | |
| BoundaryPatch (const GridView &gridView, const Dune::BitSetVector< blocksize > &vertices) | |
| Construct boundary patch from given vertices. | |
| BoundaryPatch ()=default | |
| BoundaryPatch (const BoundaryPatch &)=default | |
| BoundaryPatch (BoundaryPatch &&)=default | |
| BoundaryPatch & | operator= (const BoundaryPatch &)=default |
| BoundaryPatch & | operator= (BoundaryPatch &&)=default |
| void | setup (const GridView &gridView, bool insertAllBoundaryFaces=false) |
| Setup for a given grid view. | |
| template<int blocksize> | |
| void | setup (const GridView &gridView, const Dune::BitSetVector< blocksize > &vertices) |
| Setup for a given grid view and a bitfield. | |
| void | clear () |
| Clear the boundary patch, but don't disconnect it from the GridView. | |
| void | getFaces (Dune::BitSetVector< 1 > &faces) const |
| int | numFaces () const |
| Returns the number of faces in the surface. | |
| void | addFace (const IntersectionIterator &nIt) |
| Add a boundary face to the patch. | |
| void | addFace (const Intersection &nIt) |
| Add a boundary face to the patch. | |
| void | addFace (const Element &en, int fIdx) |
| Add a boundary face to the patch. | |
| template<class InsertionProperty > | |
| void | insertFacesByProperty (const InsertionProperty &property) |
| Insert boundary faces filtered by an insertion property. | |
| bool | contains (const IntersectionIterator &nIt) const |
| Return true if the BoundaryPatch contains a certain boundary face. | |
| bool | containsVertex (size_t v) const |
| GridView::Grid::ctype | area () const |
| Returns the area of the boundary patch. | |
| void | getVertices (Dune::BitSetVector< 1 > &vertices) const |
| const Dune::BitSetVector< 1 > * | getVertices () const |
| void | getPatchBoundaryVertices (Dune::BitSetVector< 1 > &patchBoundary) const |
| Get the vertices which are on the boundary of the boundary patch. | |
| void | getPatchBoundaryEdges (Dune::BitSetVector< 1 > &patchBoundaryEdges) const |
| Get the edges which are on the boundary of the boundary patch. | |
| int | numVertices () const |
| Returns the number of vertices in the surface. | |
| void | getNormals (std::vector< Dune::FieldVector< double, dim > > &normals) const |
| Return vertex unit normals. | |
| std::vector< Dune::FieldVector< double, dim > > | getNormals () const |
| Return vertex unit normals. | |
| std::vector< Dune::FieldVector< double, dim > > | getLocalNormals () const |
| Return vertex unit normals corr. to local indices. | |
| void | makeGlobalToLocal (std::vector< int > &globalToLocal) const |
| std::vector< int > | makeGlobalToLocal () const |
| BoundaryPatch< GridView > | addPatch (const BoundaryPatch< GridView > &patch) |
| Adds another patch in the sense that afterwards this patch contains all the vertices included in any one of the two patches. | |
| BoundaryPatch< GridView > | intersect (const BoundaryPatch< GridView > &patch) |
| Determines the overlap of this boundary patch and another by reducing this patch to the common vertices. | |
| void | setGridView (const GridView &gridView) |
| Set the grid view and initialize the patch. | |
| void | insertFace (const Element &element, int faceIndex) |
| Insert a boundary face into the patch. | |
| void | insertFace (const Intersection &intersection) |
| Insert a boundary face into the patch. | |
| iterator | begin () const |
| Return iterator pointing to first boundary patch face. | |
| iterator | end () const |
| Return iterator pointing after last boundary patch face. | |
| std::size_t | size () const |
| Returns the number of faces in the surface. | |
| bool | contains (const Element &element, int faceIndex) const |
| Return true if the BoundaryPatch contains a certain boundary face. | |
| template<class IntersectionType > | |
| bool | contains (const IntersectionType &intersection) const |
| Return true if the BoundaryPatch contains a certain boundary face. | |
| bool | contains (const Element &element, int subEntity, int codim) const |
| Return true if the BoundaryPatch contains a certain subentity in some face. | |
| bool | containsFaceOf (const Element &e) const |
| Return true if the BoundaryPatch contains a face of given element. | |
| const GridView & | gridView () const |
| Return reference to the carrier grid view. | |
| bool | isInitialized () const |
| Check if BoundaryPatch is initialized. | |
| bool | operator== (const BoundaryPatch &other) const |
| Compare with another BoundaryPatch on the same GridView. | |
Protected Types | |
| using | Base = typename Dune::Fufem::BoundaryPatch< GV > |
| using | Element = typename Base::Element |
| using | Intersection = typename Base::Intersection |
| using | IntersectionIterator = typename GV::IntersectionIterator |
| using | Mapper = typename Dune::MultipleCodimMultipleGeomTypeMapper< GV > |
Protected Member Functions | |
| void | makeVertices () const |
Protected Attributes | |
| Dune::BitSetVector< 1 > | vertices_ |
| bool | verticesAreUpToDate_ = false |
| Dune::BitSetVector< 1 > | faces_ |
| std::optional< GridView > | gridView_ |
| std::optional< Mapper > | mapper_ |
Static Protected Attributes | |
| static const int | dim = GV::dimension |
Detailed Description
class BoundaryPatch< GV >
Encapsulate a part of a grid boundary.
- Template Parameters
-
GridView The grid view on which this boundary patch lives
Member Typedef Documentation
◆ Base
|
protected |
◆ Element
|
protected |
◆ GridView
| using BoundaryPatch< GV >::GridView = GV |
◆ Intersection
|
protected |
◆ IntersectionIterator
|
protected |
◆ iterator
| using BoundaryPatch< GV >::iterator = typename Base::iterator |
◆ Mapper
|
protectedinherited |
Constructor & Destructor Documentation
◆ BoundaryPatch() [1/5]
|
inline |
Constructor for a given grid view.
- Parameters
-
gridView The grid view initialValue If true: BoundaryPatch contains all boundary faces
◆ BoundaryPatch() [2/5]
|
inline |
Construct boundary patch from given vertices.
- Parameters
-
gridView The grid view vertices A vector of which any bit component is set if the corresponding vertex belongs to the patch.
◆ BoundaryPatch() [3/5]
|
default |
◆ BoundaryPatch() [4/5]
|
default |
◆ BoundaryPatch() [5/5]
|
default |
Member Function Documentation
◆ addFace() [1/3]
|
inline |
Add a boundary face to the patch.
◆ addFace() [2/3]
|
inline |
Add a boundary face to the patch.
◆ addFace() [3/3]
|
inline |
Add a boundary face to the patch.
◆ addPatch()
|
inline |
Adds another patch in the sense that afterwards this patch contains all the vertices included in any one of the two patches.
- Parameters
-
patch Patch to be added
◆ area()
|
inline |
Returns the area of the boundary patch.
◆ begin()
|
inlineinherited |
Return iterator pointing to first boundary patch face.
◆ clear()
|
inline |
Clear the boundary patch, but don't disconnect it from the GridView.
◆ contains() [1/4]
|
inlineinherited |
Return true if the BoundaryPatch contains a certain boundary face.
The behaviour is undefined, if element is not contained in the underlying GridView.
◆ contains() [2/4]
|
inlineinherited |
Return true if the BoundaryPatch contains a certain subentity in some face.
The behaviour is undefined, if element is not contained in the underlying GridView.
◆ contains() [3/4]
|
inline |
Return true if the BoundaryPatch contains a certain boundary face.
◆ contains() [4/4]
|
inlineinherited |
Return true if the BoundaryPatch contains a certain boundary face.
The behaviour is undefined, if intersection.inside() is not contained in the underlying GridView.
◆ containsFaceOf()
|
inlineinherited |
Return true if the BoundaryPatch contains a face of given element.
It is guaranteed that the method returns true if and only if the BoundaryPatch contains at least one face of the element.
◆ containsVertex()
|
inline |
◆ end()
|
inlineinherited |
Return iterator pointing after last boundary patch face.
◆ getFaces()
|
inline |
◆ getLocalNormals()
|
inline |
Return vertex unit normals corr. to local indices.
◆ getNormals() [1/2]
|
inline |
Return vertex unit normals.
◆ getNormals() [2/2]
|
inline |
Return vertex unit normals.
ATTENTION: This will only work correctly if unitOuterNormal is constant along intersections. See the internal documentation for details.
◆ getPatchBoundaryEdges()
|
inline |
Get the edges which are on the boundary of the boundary patch.
ATTENTION: Don't use this method, until you're absolutely sure that the internals work correctly for your grid implementation! It does not work for general grids. See the internal documentation for details.
◆ getPatchBoundaryVertices()
|
inline |
Get the vertices which are on the boundary of the boundary patch.
ATTENTION: Don't use this method, until you're absolutely sure that the internals work correctly for your grid implementation! It does not work for general grids. See the internal documentation for details.
◆ getVertices() [1/2]
|
inline |
◆ getVertices() [2/2]
|
inline |
◆ gridView()
|
inlineinherited |
Return reference to the carrier grid view.
◆ insertFace() [1/2]
|
inlineinherited |
Insert a boundary face into the patch.
◆ insertFace() [2/2]
|
inlineinherited |
Insert a boundary face into the patch.
◆ insertFacesByProperty()
|
inline |
Insert boundary faces filtered by an insertion property.
- Template Parameters
-
InsertionProperty a class providing bool operator()(Intersection)
- Parameters
-
property All boundary intersections with property(intersection)==true are inserted
◆ intersect()
|
inline |
Determines the overlap of this boundary patch and another by reducing this patch to the common vertices.
- Parameters
-
patch Patch to be intersected with
◆ isInitialized()
|
inlineinherited |
Check if BoundaryPatch is initialized.
◆ makeGlobalToLocal() [1/2]
|
inline |
◆ makeGlobalToLocal() [2/2]
|
inline |
◆ makeVertices()
|
inlineprotected |
◆ numFaces()
|
inline |
Returns the number of faces in the surface.
◆ numVertices()
|
inline |
Returns the number of vertices in the surface.
◆ operator=() [1/2]
|
default |
◆ operator=() [2/2]
|
default |
◆ operator==()
|
inlineinherited |
Compare with another BoundaryPatch on the same GridView.
The result behavior is undefined, if the patches live on different GridViews.
◆ setGridView()
|
inlineinherited |
Set the grid view and initialize the patch.
◆ setup() [1/2]
|
inline |
Setup for a given grid view.
- Parameters
-
gridView The grid view insertAllBoundaryFaces If true: BoundaryPatch contains all boundary faces
◆ setup() [2/2]
|
inline |
Setup for a given grid view and a bitfield.
- Parameters
-
gridView The grid view vertices A vector of which any bit component is set if the corresponding vertex belongs to the patch.
◆ size()
|
inlineinherited |
Returns the number of faces in the surface.
Member Data Documentation
◆ dim
|
staticprotectedinherited |
◆ faces_
|
protectedinherited |
◆ gridView_
|
protectedinherited |
◆ mapper_
|
protectedinherited |
◆ vertices_
|
mutableprotected |
◆ verticesAreUpToDate_
|
mutableprotected |
The documentation for this class was generated from the following file:
