Coupling data specialization for non-compositional models. More...
#include <dumux/multidomain/boundary/freeflowporousmedium/couplingconditions.hh>
Coupling data specialization for non-compositional models.
Public Member Functions | |
template<bool isNI = enableEnergyBalance, typename std::enable_if_t< isNI, int > = 0> | |
Scalar | energyCouplingCondition (const Element< ParentType::porousMediumIndex > &element, const FVElementGeometry< ParentType::porousMediumIndex > &fvGeometry, const ElementVolumeVariables< ParentType::porousMediumIndex > &darcyElemVolVars, const SubControlVolumeFace< ParentType::porousMediumIndex > &scvf, const DiffusionCoefficientAveragingType diffCoeffAvgType=DiffusionCoefficientAveragingType::ffOnly) const |
Returns the energy flux across the coupling boundary as seen from the Darcy domain. More... | |
template<bool isNI = enableEnergyBalance, typename std::enable_if_t< isNI, int > = 0> | |
Scalar | energyCouplingCondition (const Element< ParentType::freeFlowMassIndex > &element, const FVElementGeometry< ParentType::freeFlowMassIndex > &fvGeometry, const ElementVolumeVariables< ParentType::freeFlowMassIndex > &stokesElemVolVars, const SubControlVolumeFace< ParentType::freeFlowMassIndex > &scvf, const DiffusionCoefficientAveragingType diffCoeffAvgType=DiffusionCoefficientAveragingType::ffOnly) const |
Returns the energy flux across the coupling boundary as seen from the free-flow domain. More... | |
Static Public Member Functions | |
template<std::size_t i, std::size_t j, class CouplingContext > | |
static Scalar | massCouplingCondition (Dune::index_constant< i > domainI, Dune::index_constant< j > domainJ, const FVElementGeometry< i > &fvGeometry, const SubControlVolumeFace< i > &scvf, const ElementVolumeVariables< i > &insideVolVars, const CouplingContext &context) |
Returns the mass flux across the coupling boundary as seen from the Darcy 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 auto | darcyPermeability (const FVElementGeometry< freeFlowMomentumIndex > &fvGeometry, const SubControlVolumeFace< freeFlowMomentumIndex > &scvf, const Context &context) |
Returns the intrinsic permeability of the coupled Darcy element. More... | |
template<class Context > | |
static NumEqVector< freeFlowMomentumIndex > | momentumCouplingCondition (const FVElementGeometry< freeFlowMomentumIndex > &fvGeometry, const SubControlVolumeFace< freeFlowMomentumIndex > &scvf, const ElementVolumeVariables< freeFlowMomentumIndex > &elemVolVars, const Context &context) |
Returns the momentum flux across the coupling boundary. More... | |
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 | porousMediumIndex = CouplingManager::porousMediumIndex |
Protected Member Functions | |
template<std::size_t i, std::size_t j> | |
Scalar | transmissibility_ (Dune::index_constant< i > domainI, Dune::index_constant< j > domainJ, const Scalar insideDistance, const Scalar outsideDistance, const Scalar avgQuantityI, const Scalar avgQuantityJ, const DiffusionCoefficientAveragingType diffCoeffAvgType) const |
Returns the transmissibility used for either molecular diffusion or thermal conductivity. More... | |
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... | |
template<std::size_t i, std::size_t j, bool isNI = enableEnergyBalance, typename std::enable_if_t< isNI, int > = 0> | |
Scalar | conductiveEnergyFlux_ (Dune::index_constant< i > domainI, Dune::index_constant< j > domainJ, const FVElementGeometry< i > &fvGeometryI, const FVElementGeometry< j > &fvGeometryJ, const SubControlVolumeFace< i > &scvfI, const SubControlVolume< i > &scvI, const SubControlVolume< j > &scvJ, const VolumeVariables< i > &volVarsI, const VolumeVariables< j > &volVarsJ, const DiffusionCoefficientAveragingType diffCoeffAvgType) const |
Returns the conductive energy flux acorss the interface. More... | |
Static Protected Member Functions | |
template<class CouplingContext > | |
static Scalar | pressureAtInterface_ (const FVElementGeometry< freeFlowMomentumIndex > &fvGeometry, const SubControlVolumeFace< freeFlowMomentumIndex > &scvf, const ElementVolumeVariables< freeFlowMomentumIndex > &elemVolVars, const CouplingContext &context) |
Returns the pressure at the interface. More... | |
static Scalar | computeCouplingPhasePressureAtInterface_ (const FVElementGeometry< porousMediumIndex > &fvGeometry, const SubControlVolumeFace< porousMediumIndex > &scvf, const VolumeVariables< porousMediumIndex > &volVars, const typename Element< freeFlowMomentumIndex >::Geometry::GlobalCoordinate &couplingPhaseVelocity, ForchheimersLaw) |
Returns the pressure at the interface using Forchheimers's law for reconstruction. More... | |
static Scalar | computeCouplingPhasePressureAtInterface_ (const FVElementGeometry< porousMediumIndex > &fvGeometry, const SubControlVolumeFace< porousMediumIndex > &scvf, const VolumeVariables< porousMediumIndex > &volVars, const typename Element< freeFlowMomentumIndex >::Geometry::GlobalCoordinate &gravity, const typename Element< freeFlowMomentumIndex >::Geometry::GlobalCoordinate &couplingPhaseVelocity, DarcysLaw) |
Returns the pressure at the interface using Darcy's law for reconstruction. More... | |
|
inlinestaticinherited |
Evaluate an advective flux across the interface and consider upwinding.
|
inlinestaticprotectedinherited |
Returns the pressure at the interface using Forchheimers's law for reconstruction.
|
inlinestaticprotectedinherited |
Returns the pressure at the interface using Darcy's law for reconstruction.
|
inlineprotectedinherited |
Returns the conductive energy flux acorss the interface.
|
inlinestaticconstexprinherited |
Returns the corresponding component index needed for coupling.
|
inlinestaticconstexpr |
Returns the corresponding phase index needed for coupling.
|
inlinestaticinherited |
Returns the intrinsic permeability of the coupled Darcy element.
|
inline |
Returns the energy flux across the coupling boundary as seen from the free-flow domain.
|
inline |
Returns the energy flux across the coupling boundary as seen from the Darcy domain.
|
inlineprotectedinherited |
Returns the distance between an scvf and the corresponding scv center.
|
inlinestatic |
Returns the mass flux across the coupling boundary as seen from the Darcy domain.
|
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.
|
inlinestaticprotectedinherited |
Returns the pressure at the interface.
|
inlineprotectedinherited |
Returns the transmissibility used for either molecular diffusion or thermal conductivity.
|
staticconstexprinherited |
|
staticconstexprinherited |
|
staticconstexprinherited |