DUNE PDELab (unstable)

Dune::Functions::Experimental::SubDomainInterface< SubDomainA, SubDomainB > Class Template Reference

Class representing the intersection between two subdomains. More...

#include <dune/functions/common/subdomain.hh>

Public Member Functions

 SubDomainInterface (const SubDomainA &subDomainA, const SubDomainB &subDomainB)
 Create interface between two subdomains. More...
 
bool contains (const Intersection &is) const
 Check if intersection is contained in the interface between the subdomains. More...
 
bool isOriented (const Intersection &is) const
 Check if intersection is oriented. More...
 
const auto begin () const
 Begin iterator over all intersection between the subdomains. More...
 
const auto end () const
 End iterator (sentinel)
 

Detailed Description

template<class SubDomainA, class SubDomainB>
class Dune::Functions::Experimental::SubDomainInterface< SubDomainA, SubDomainB >

Class representing the intersection between two subdomains.

Conceptually this represents a range of intersections.

Constructor & Destructor Documentation

◆ SubDomainInterface()

template<class SubDomainA , class SubDomainB >
Dune::Functions::Experimental::SubDomainInterface< SubDomainA, SubDomainB >::SubDomainInterface ( const SubDomainA &  subDomainA,
const SubDomainB &  subDomainB 
)
inline

Create interface between two subdomains.

Notice that the order of the passed subdomains does matter, because the intersections visited by the iterator will always be oriented such that A is inside and B outside.

Member Function Documentation

◆ begin()

template<class SubDomainA , class SubDomainB >
const auto Dune::Functions::Experimental::SubDomainInterface< SubDomainA, SubDomainB >::begin ( ) const
inline

Begin iterator over all intersection between the subdomains.

The iterator will always have the elements from sub domain A and B as inside and outside, respectively.

Referenced by Dune::Functions::Experimental::SubDomainInterface< SubDomainA, SubDomainB >::end().

◆ contains()

template<class SubDomainA , class SubDomainB >
bool Dune::Functions::Experimental::SubDomainInterface< SubDomainA, SubDomainB >::contains ( const Intersection &  is) const
inline

Check if intersection is contained in the interface between the subdomains.

This evaluates to true for all intersections having element from subdomain A and B as inside and outside or outside and inside, respectively.

Notice that this also evaluates to true for intersection with B as inside and A as outside, despite the fact that these are not visited by the iterator.

◆ isOriented()

template<class SubDomainA , class SubDomainB >
bool Dune::Functions::Experimental::SubDomainInterface< SubDomainA, SubDomainB >::isOriented ( const Intersection &  is) const
inline

Check if intersection is oriented.

The intersection is called oriented if its inside and outside element are contained in subDomainA and subDomainB, respectively. The result of this method is undefined if the intersection is not contained in the intersection.


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Sep 4, 22:38, 2025)