3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Classes | Public Member Functions | List of all members
Dumux::DarcyDarcyBoundaryCouplingMapper< MDTraits > Class Template Reference

the default mapper for conforming equal dimension boundary coupling between two domains (box or cc) More...

#include <dumux/multidomain/boundary/darcydarcy/couplingmapper.hh>

Description

template<class MDTraits>
class Dumux::DarcyDarcyBoundaryCouplingMapper< MDTraits >

the default mapper for conforming equal dimension boundary coupling between two domains (box or cc)

Todo:
how to extend to arbitrary number of domains?

Public Member Functions

template<class CouplingManager >
void update (const CouplingManager &couplingManager)
 Main update routine. More...
 
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 iteratable container of all indices of degrees of freedom of domain j that couple with / influence the element residual of the given element of domain i More...
 
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. More...
 
template<std::size_t i>
bool isCoupled (Dune::index_constant< i > domainI, const SubControlVolumeFace< i > &scvf) const
 If the boundary entity is on a coupling boundary. More...
 
template<std::size_t i>
std::size_t flipScvfIndex (Dune::index_constant< i > domainI, const SubControlVolumeFace< i > &scvf) const
 Return the scvf index of the flipped scvf in the other domain. More...
 
template<std::size_t i>
std::size_t outsideElementIndex (Dune::index_constant< i > domainI, const SubControlVolumeFace< i > &scvf) const
 Return the outside element index (the element index of the other domain) More...
 

Member Function Documentation

◆ couplingStencil()

template<class MDTraits >
template<std::size_t i, std::size_t j>
const std::vector< std::size_t > & Dumux::DarcyDarcyBoundaryCouplingMapper< MDTraits >::couplingStencil ( Dune::index_constant< i >  domainI,
const std::size_t  eIdxI,
Dune::index_constant< j >  domainJ 
) const
inline

returns an iteratable container of all indices of degrees of freedom of domain j that couple with / influence the element residual of the given element of domain i

Parameters
domainIthe domain index of domain i
eIdxIthe index of the coupled element of domain í
domainJthe domain index of domain j
Note
The element residual definition depends on the discretization scheme of domain i box: a container of the residuals of all sub control volumes cc : the residual of the (sub) control volume fem: the residual of the element
This function has to be implemented by all coupling managers for all combinations of i and j

◆ flipScvfIndex()

template<class MDTraits >
template<std::size_t i>
std::size_t Dumux::DarcyDarcyBoundaryCouplingMapper< MDTraits >::flipScvfIndex ( Dune::index_constant< i >  domainI,
const SubControlVolumeFace< i > &  scvf 
) const
inline

Return the scvf index of the flipped scvf in the other domain.

Parameters
domainIthe domain index for which to compute the flux
scvfthe sub control volume face

◆ isCoupled()

template<class MDTraits >
template<std::size_t i>
bool Dumux::DarcyDarcyBoundaryCouplingMapper< MDTraits >::isCoupled ( Dune::index_constant< i >  domainI,
const SubControlVolumeFace< i > &  scvf 
) const
inline

If the boundary entity is on a coupling boundary.

Parameters
domainIthe domain index for which to compute the flux
scvfthe sub control volume face

◆ isCoupledElement()

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

Return if an element residual with index eIdx of domain i is coupled to domain j.

◆ outsideElementIndex()

template<class MDTraits >
template<std::size_t i>
std::size_t Dumux::DarcyDarcyBoundaryCouplingMapper< MDTraits >::outsideElementIndex ( Dune::index_constant< i >  domainI,
const SubControlVolumeFace< i > &  scvf 
) const
inline

Return the outside element index (the element index of the other domain)

Parameters
domainIthe domain index for which to compute the flux
scvfthe sub control volume face

◆ update()

template<class MDTraits >
template<class CouplingManager >
void Dumux::DarcyDarcyBoundaryCouplingMapper< MDTraits >::update ( const CouplingManager couplingManager)
inline

Main update routine.


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