3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Dumux::FreeFlowPoreNetworkCouplingConditionsImplementation< MDTraits, CouplingManager, enableEnergyBalance, false > Class Template Reference

Coupling conditions specialization for non-compositional models. More...

#include <dumux/multidomain/boundary/freeflowporenetwork/couplingconditions.hh>

Inheritance diagram for Dumux::FreeFlowPoreNetworkCouplingConditionsImplementation< MDTraits, CouplingManager, enableEnergyBalance, false >:

Description

template<class MDTraits, class CouplingManager, bool enableEnergyBalance>
class Dumux::FreeFlowPoreNetworkCouplingConditionsImplementation< MDTraits, CouplingManager, enableEnergyBalance, false >

Coupling conditions specialization for non-compositional models.

Static Public Member Functions

template<class CouplingContext >
static Scalar massCouplingCondition (Dune::index_constant< ParentType::poreNetworkIndex > domainI, Dune::index_constant< ParentType::freeFlowMassIndex > domainJ, const FVElementGeometry< ParentType::poreNetworkIndex > &fvGeometry, const SubControlVolume< ParentType::poreNetworkIndex > &scv, const ElementVolumeVariables< ParentType::poreNetworkIndex > &insideVolVars, const CouplingContext &context)
 Returns the mass flux across the coupling boundary as seen from the pore-network domain. More...
 
template<class CouplingContext >
static Scalar massCouplingCondition (Dune::index_constant< ParentType::freeFlowMassIndex > domainI, Dune::index_constant< ParentType::poreNetworkIndex > domainJ, const FVElementGeometry< ParentType::freeFlowMassIndex > &fvGeometry, const SubControlVolumeFace< ParentType::freeFlowMassIndex > &scvf, const ElementVolumeVariables< ParentType::freeFlowMassIndex > &insideVolVars, const CouplingContext &context)
 Returns the mass flux across the coupling boundary as seen from the free-flow domain. More...
 
template<std::size_t i>
static constexpr auto couplingPhaseIdx (Dune::index_constant< i > id, int coupledPhaseIdx=0)
 Returns the corresponding phase index needed for coupling. More...
 
template<std::size_t i>
static constexpr auto couplingCompIdx (Dune::index_constant< i > id, int coupledCompIdx)
 Returns the corresponding component index needed for coupling. More...
 
template<class Context >
static NumEqVector< freeFlowMomentumIndexmomentumCouplingCondition (const FVElementGeometry< freeFlowMomentumIndex > &fvGeometry, const SubControlVolumeFace< freeFlowMomentumIndex > &scvf, const ElementVolumeVariables< freeFlowMomentumIndex > &elemVolVars, const Context &context)
 Returns the momentum flux across the coupling boundary. More...
 
template<class Context >
static VelocityVector interfaceThroatVelocity (const FVElementGeometry< freeFlowMomentumIndex > &fvGeometry, const SubControlVolumeFace< freeFlowMomentumIndex > &scvf, const Context &context)
 
static Scalar advectiveFlux (const Scalar insideQuantity, const Scalar outsideQuantity, const Scalar volumeFlow, bool insideIsUpstream)
 Evaluate an advective flux across the interface and consider upwinding. More...
 

Static Public Attributes

static constexpr auto freeFlowMomentumIndex = CouplingManager::freeFlowMomentumIndex
 
static constexpr auto freeFlowMassIndex = CouplingManager::freeFlowMassIndex
 
static constexpr auto poreNetworkIndex = CouplingManager::poreNetworkIndex
 

Protected Member Functions

template<class Scv , class Scvf >
Scalar getDistance_ (const Scv &scv, const Scvf &scvf) const
 Returns the distance between an scvf and the corresponding scv center. More...
 

Member Function Documentation

◆ advectiveFlux()

template<class MDTraits , class CouplingManager >
static Scalar Dumux::FreeFlowPoreNetworkCouplingConditionsImplementationBase< MDTraits, CouplingManager >::advectiveFlux ( const Scalar  insideQuantity,
const Scalar  outsideQuantity,
const Scalar  volumeFlow,
bool  insideIsUpstream 
)
inlinestaticinherited

Evaluate an advective flux across the interface and consider upwinding.

◆ couplingCompIdx()

template<class MDTraits , class CouplingManager >
template<std::size_t i>
static constexpr auto Dumux::FreeFlowPoreNetworkCouplingConditionsImplementationBase< MDTraits, CouplingManager >::couplingCompIdx ( Dune::index_constant< i >  id,
int  coupledCompIdx 
)
inlinestaticconstexprinherited

Returns the corresponding component index needed for coupling.

◆ couplingPhaseIdx()

template<class MDTraits , class CouplingManager , bool enableEnergyBalance>
template<std::size_t i>
static constexpr auto Dumux::FreeFlowPoreNetworkCouplingConditionsImplementationBase< MDTraits, CouplingManager >::couplingPhaseIdx ( Dune::index_constant< i >  id,
int  coupledPhaseIdx = 0 
)
inlinestaticconstexpr

Returns the corresponding phase index needed for coupling.

◆ getDistance_()

template<class MDTraits , class CouplingManager >
template<class Scv , class Scvf >
Scalar Dumux::FreeFlowPoreNetworkCouplingConditionsImplementationBase< MDTraits, CouplingManager >::getDistance_ ( const Scv &  scv,
const Scvf &  scvf 
) const
inlineprotectedinherited

Returns the distance between an scvf and the corresponding scv center.

◆ interfaceThroatVelocity()

template<class MDTraits , class CouplingManager >
template<class Context >
static VelocityVector Dumux::FreeFlowPoreNetworkCouplingConditionsImplementationBase< MDTraits, CouplingManager >::interfaceThroatVelocity ( const FVElementGeometry< freeFlowMomentumIndex > &  fvGeometry,
const SubControlVolumeFace< freeFlowMomentumIndex > &  scvf,
const Context &  context 
)
inlinestaticinherited

◆ massCouplingCondition() [1/2]

template<class MDTraits , class CouplingManager , bool enableEnergyBalance>
template<class CouplingContext >
static Scalar Dumux::FreeFlowPoreNetworkCouplingConditionsImplementation< MDTraits, CouplingManager, enableEnergyBalance, false >::massCouplingCondition ( Dune::index_constant< ParentType::freeFlowMassIndex >  domainI,
Dune::index_constant< ParentType::poreNetworkIndex >  domainJ,
const FVElementGeometry< ParentType::freeFlowMassIndex > &  fvGeometry,
const SubControlVolumeFace< ParentType::freeFlowMassIndex > &  scvf,
const ElementVolumeVariables< ParentType::freeFlowMassIndex > &  insideVolVars,
const CouplingContext &  context 
)
inlinestatic

Returns the mass flux across the coupling boundary as seen from the free-flow domain.

◆ massCouplingCondition() [2/2]

template<class MDTraits , class CouplingManager , bool enableEnergyBalance>
template<class CouplingContext >
static Scalar Dumux::FreeFlowPoreNetworkCouplingConditionsImplementation< MDTraits, CouplingManager, enableEnergyBalance, false >::massCouplingCondition ( Dune::index_constant< ParentType::poreNetworkIndex >  domainI,
Dune::index_constant< ParentType::freeFlowMassIndex >  domainJ,
const FVElementGeometry< ParentType::poreNetworkIndex > &  fvGeometry,
const SubControlVolume< ParentType::poreNetworkIndex > &  scv,
const ElementVolumeVariables< ParentType::poreNetworkIndex > &  insideVolVars,
const CouplingContext &  context 
)
inlinestatic

Returns the mass flux across the coupling boundary as seen from the pore-network domain.

◆ momentumCouplingCondition()

template<class MDTraits , class CouplingManager >
template<class Context >
static NumEqVector< freeFlowMomentumIndex > Dumux::FreeFlowPoreNetworkCouplingConditionsImplementationBase< MDTraits, CouplingManager >::momentumCouplingCondition ( const FVElementGeometry< freeFlowMomentumIndex > &  fvGeometry,
const SubControlVolumeFace< freeFlowMomentumIndex > &  scvf,
const ElementVolumeVariables< freeFlowMomentumIndex > &  elemVolVars,
const Context &  context 
)
inlinestaticinherited

Returns the momentum flux across the coupling boundary.

For the normal momentum coupling, the porous medium side of the coupling condition is evaluated, i.e. -[p n]^pm.

Member Data Documentation

◆ freeFlowMassIndex

template<class MDTraits , class CouplingManager >
constexpr auto Dumux::FreeFlowPoreNetworkCouplingConditionsImplementationBase< MDTraits, CouplingManager >::freeFlowMassIndex = CouplingManager::freeFlowMassIndex
staticconstexprinherited

◆ freeFlowMomentumIndex

template<class MDTraits , class CouplingManager >
constexpr auto Dumux::FreeFlowPoreNetworkCouplingConditionsImplementationBase< MDTraits, CouplingManager >::freeFlowMomentumIndex = CouplingManager::freeFlowMomentumIndex
staticconstexprinherited

◆ poreNetworkIndex

template<class MDTraits , class CouplingManager >
constexpr auto Dumux::FreeFlowPoreNetworkCouplingConditionsImplementationBase< MDTraits, CouplingManager >::poreNetworkIndex = CouplingManager::poreNetworkIndex
staticconstexprinherited

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