A base class which provides some common methods used for Stokes-Darcy coupling. More...
#include <dumux/multidomain/boundary/freeflowporousmedium/couplingconditions.hh>
A base class which provides some common methods used for Stokes-Darcy coupling.
Static Public Member Functions | |
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 across 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... | |
|
inlinestatic |
Evaluate an advective flux across the interface and consider upwinding.
|
inlinestaticprotected |
Returns the pressure at the interface using Forchheimers's law for reconstruction.
|
inlinestaticprotected |
Returns the pressure at the interface using Darcy's law for reconstruction.
|
inlineprotected |
Returns the conductive energy flux across the interface.
|
inlinestaticconstexpr |
Returns the corresponding component index needed for coupling.
|
inlinestaticconstexpr |
Returns the corresponding phase index needed for coupling.
|
inlinestatic |
Returns the intrinsic permeability of the coupled Darcy element.
|
inlineprotected |
Returns the distance between an scvf and the corresponding scv center.
|
inlinestatic |
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.
|
inlinestaticprotected |
Returns the pressure at the interface.
|
inlineprotected |
Returns the transmissibility used for either molecular diffusion or thermal conductivity.
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |