Dune-Fufem 2.11-git
Loading...
Searching...
No Matches

Encapsulate a subset of the boundary intersections of a GridView. More...

#include <dune/fufem/domains/boundarypatch.hh>

Inheritance diagram for Dune::Fufem::BoundaryPatch< GV >:
Inheritance graph

Public Types

using GridView = GV
 GridView The grid view on which this boundary patch lives.
 
using iterator = Dune::Fufem::IntersectionSetIterator< BoundaryPatch >
 Export the appropriate iterator type.
 

Public Member Functions

 BoundaryPatch (const GridView &gridView)
 Constructor for a given grid view.
 
 BoundaryPatch ()=default
 
 BoundaryPatch (const BoundaryPatch &)=default
 
 BoundaryPatch (BoundaryPatch &&)=default
 
BoundaryPatchoperator= (const BoundaryPatch &)=default
 
BoundaryPatchoperator= (BoundaryPatch &&)=default
 
void setGridView (const GridView &gridView)
 Set the grid view and initialize the patch.
 
void clear ()
 Clear the boundary patch, but don't disconnect it from the GridView.
 
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 GridViewgridView () 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 Element = typename GV::template Codim< 0 >::Entity
 
using Intersection = typename GV::Intersection
 
using Mapper = typename Dune::MultipleCodimMultipleGeomTypeMapper< GV >
 

Protected Attributes

Dune::BitSetVector< 1 > faces_
 
std::optional< GridViewgridView_
 
std::optional< Mappermapper_
 

Static Protected Attributes

static const int dim = GV::dimension
 

Detailed Description

template<class GV>
class Dune::Fufem::BoundaryPatch< GV >

Encapsulate a subset of the boundary intersections of a GridView.

Template Parameters
GridViewThe grid view on which this boundary patch lives

Member Typedef Documentation

◆ Element

template<class GV >
using Dune::Fufem::BoundaryPatch< GV >::Element = typename GV::template Codim<0>::Entity
protected

◆ GridView

template<class GV >
using Dune::Fufem::BoundaryPatch< GV >::GridView = GV

GridView The grid view on which this boundary patch lives.

◆ Intersection

template<class GV >
using Dune::Fufem::BoundaryPatch< GV >::Intersection = typename GV::Intersection
protected

◆ iterator

Export the appropriate iterator type.

◆ Mapper

template<class GV >
using Dune::Fufem::BoundaryPatch< GV >::Mapper = typename Dune::MultipleCodimMultipleGeomTypeMapper<GV>
protected

Constructor & Destructor Documentation

◆ BoundaryPatch() [1/4]

template<class GV >
Dune::Fufem::BoundaryPatch< GV >::BoundaryPatch ( const GridView gridView)
inline

Constructor for a given grid view.

◆ BoundaryPatch() [2/4]

template<class GV >
Dune::Fufem::BoundaryPatch< GV >::BoundaryPatch ( )
default

◆ BoundaryPatch() [3/4]

template<class GV >
Dune::Fufem::BoundaryPatch< GV >::BoundaryPatch ( const BoundaryPatch< GV > &  )
default

◆ BoundaryPatch() [4/4]

template<class GV >
Dune::Fufem::BoundaryPatch< GV >::BoundaryPatch ( BoundaryPatch< GV > &&  )
default

Member Function Documentation

◆ begin()

template<class GV >
iterator Dune::Fufem::BoundaryPatch< GV >::begin ( ) const
inline

Return iterator pointing to first boundary patch face.

◆ clear()

template<class GV >
void Dune::Fufem::BoundaryPatch< GV >::clear ( )
inline

Clear the boundary patch, but don't disconnect it from the GridView.

◆ contains() [1/3]

template<class GV >
bool Dune::Fufem::BoundaryPatch< GV >::contains ( const Element element,
int  faceIndex 
) const
inline

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/3]

template<class GV >
bool Dune::Fufem::BoundaryPatch< GV >::contains ( const Element element,
int  subEntity,
int  codim 
) const
inline

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/3]

template<class GV >
template<class IntersectionType >
bool Dune::Fufem::BoundaryPatch< GV >::contains ( const IntersectionType &  intersection) const
inline

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()

template<class GV >
bool Dune::Fufem::BoundaryPatch< GV >::containsFaceOf ( const Element e) const
inline

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.

◆ end()

template<class GV >
iterator Dune::Fufem::BoundaryPatch< GV >::end ( ) const
inline

Return iterator pointing after last boundary patch face.

◆ gridView()

template<class GV >
const GridView & Dune::Fufem::BoundaryPatch< GV >::gridView ( ) const
inline

Return reference to the carrier grid view.

◆ insertFace() [1/2]

template<class GV >
void Dune::Fufem::BoundaryPatch< GV >::insertFace ( const Element element,
int  faceIndex 
)
inline

Insert a boundary face into the patch.

◆ insertFace() [2/2]

template<class GV >
void Dune::Fufem::BoundaryPatch< GV >::insertFace ( const Intersection intersection)
inline

Insert a boundary face into the patch.

◆ isInitialized()

template<class GV >
bool Dune::Fufem::BoundaryPatch< GV >::isInitialized ( ) const
inline

Check if BoundaryPatch is initialized.

◆ operator=() [1/2]

template<class GV >
BoundaryPatch & Dune::Fufem::BoundaryPatch< GV >::operator= ( BoundaryPatch< GV > &&  )
default

◆ operator=() [2/2]

template<class GV >
BoundaryPatch & Dune::Fufem::BoundaryPatch< GV >::operator= ( const BoundaryPatch< GV > &  )
default

◆ operator==()

template<class GV >
bool Dune::Fufem::BoundaryPatch< GV >::operator== ( const BoundaryPatch< GV > &  other) const
inline

Compare with another BoundaryPatch on the same GridView.

The result behavior is undefined, if the patches live on different GridViews.

◆ setGridView()

template<class GV >
void Dune::Fufem::BoundaryPatch< GV >::setGridView ( const GridView gridView)
inline

Set the grid view and initialize the patch.

◆ size()

template<class GV >
std::size_t Dune::Fufem::BoundaryPatch< GV >::size ( ) const
inline

Returns the number of faces in the surface.

Member Data Documentation

◆ dim

template<class GV >
const int Dune::Fufem::BoundaryPatch< GV >::dim = GV::dimension
staticprotected

◆ faces_

template<class GV >
Dune::BitSetVector<1> Dune::Fufem::BoundaryPatch< GV >::faces_
protected

◆ gridView_

template<class GV >
std::optional<GridView> Dune::Fufem::BoundaryPatch< GV >::gridView_
protected

◆ mapper_

template<class GV >
std::optional<Mapper> Dune::Fufem::BoundaryPatch< GV >::mapper_
protected

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