version 3.11-dev
Loading...
Searching...
No Matches
Dumux::MapperCoupledMatchingBoundaryFaces< MDTraits, CouplingManager > Class Template Reference

Mapper for the boundary coupling of two domains of equal dimension using the boundary faces for coupling. The grids have to match at the interface.

#include <dumux/multidomain/boundary/couplingmapper_boundaryfaces.hh>

Inheritance diagram for Dumux::MapperCoupledMatchingBoundaryFaces< MDTraits, CouplingManager >:

Public Types

using CouplingStencil = std::vector<std::size_t>

Public Member Functions

void update (const CouplingManager &couplingManager)
 Main update routine.
template<std::size_t i, std::size_t j>
const std::vector< std::size_t > & couplingStencil (Dune::index_constant< i > domainI, const std::size_t eIdxI, Dune::index_constant< j > domainJ) const
 returns an iterable container of all indices of degrees of freedom of domain j that couple with the element residual of the given element of domain i
template<std::size_t i>
bool isCoupledElement (Dune::index_constant< i >, std::size_t eIdx) const
 Return if an element residual with index eIdx of domain i is coupled to domain j.
template<std::size_t i>
bool isCoupledDof (Dune::index_constant< i >, std::size_t dofIdx) const
 Return if a dof with index dofIdx of domain i is coupled to domain j.
template<std::size_t i>
bool isCoupled (Dune::index_constant< i > domainI, std::size_t eIdxI, std::size_t iIdxI) const
 If the boundary entity is on a coupling boundary.
template<std::size_t i>
std::size_t outsideElementIndex (Dune::index_constant< i > domainI, std::size_t eIdxI, std::size_t iIdxI) const
 Return the outside element index (the element index of the other domain).
template<std::size_t i>
std::size_t flipIntersectionIndex (Dune::index_constant< i > domainI, std::size_t eIdxI, std::size_t iIdxI) const
 Return the intersection index on the outside element (the other domain).

Member Typedef Documentation

◆ CouplingStencil

template<class MDTraits, class CouplingManager>
using Dumux::MapperCoupledMatchingBoundaryFaces< MDTraits, CouplingManager >::CouplingStencil = std::vector<std::size_t>

Member Function Documentation

◆ couplingStencil()

template<class MDTraits, class CouplingManager>
template<std::size_t i, std::size_t j>
const std::vector< std::size_t > & Dumux::MapperCoupledMatchingBoundaryFaces< MDTraits, CouplingManager >::couplingStencil ( Dune::index_constant< i > domainI,
const std::size_t eIdxI,
Dune::index_constant< j > domainJ ) const
inline
Parameters
domainIthe domain index of domain i
eIdxIthe index of the coupled element of domain i
domainJthe domain index of domain j
Returns
the coupling stencil, i.e. the indices of the coupled dofs of domain j

◆ flipIntersectionIndex()

template<class MDTraits, class CouplingManager>
template<std::size_t i>
std::size_t Dumux::MapperCoupledMatchingBoundaryFaces< MDTraits, CouplingManager >::flipIntersectionIndex ( Dune::index_constant< i > domainI,
std::size_t eIdxI,
std::size_t iIdxI ) const
inline
Parameters
domainIthe domain index for which to compute the flux
eIdxIthe element index
iIdxIthe intersection index

◆ isCoupled()

template<class MDTraits, class CouplingManager>
template<std::size_t i>
bool Dumux::MapperCoupledMatchingBoundaryFaces< MDTraits, CouplingManager >::isCoupled ( Dune::index_constant< i > domainI,
std::size_t eIdxI,
std::size_t iIdxI ) const
inline
Parameters
domainIthe domain index for which to compute the flux
eIdxIthe element index
iIdxIthe intersection index

◆ isCoupledDof()

template<class MDTraits, class CouplingManager>
template<std::size_t i>
bool Dumux::MapperCoupledMatchingBoundaryFaces< MDTraits, CouplingManager >::isCoupledDof ( Dune::index_constant< i > ,
std::size_t dofIdx ) const
inline

◆ isCoupledElement()

template<class MDTraits, class CouplingManager>
template<std::size_t i>
bool Dumux::MapperCoupledMatchingBoundaryFaces< MDTraits, CouplingManager >::isCoupledElement ( Dune::index_constant< i > ,
std::size_t eIdx ) const
inline

◆ outsideElementIndex()

template<class MDTraits, class CouplingManager>
template<std::size_t i>
std::size_t Dumux::MapperCoupledMatchingBoundaryFaces< MDTraits, CouplingManager >::outsideElementIndex ( Dune::index_constant< i > domainI,
std::size_t eIdxI,
std::size_t iIdxI ) const
inline
Parameters
domainIthe domain index for which to compute the flux
eIdxIthe element index
iIdxIthe intersection index

◆ update()

template<class MDTraits, class CouplingManager>
void Dumux::MapperCoupledMatchingBoundaryFaces< MDTraits, CouplingManager >::update ( const CouplingManager & couplingManager)
inline

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