A base class which provides some common methods used for Stokes-Darcy coupling.
#include <dumux/multidomain/boundary/freeflowporousmedium/couplingconditions_staggered_cctpfa.hh>
|
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...
|
|
|
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...
|
|
|
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...
|
|
◆ advectiveFlux()
◆ computeCouplingPhasePressureAtInterface_() [1/2]
◆ computeCouplingPhasePressureAtInterface_() [2/2]
◆ conductiveEnergyFlux_()
template<std::size_t i, std::size_t j, bool isNI = enableEnergyBalance, typename std::enable_if_t< isNI, int > = 0>
Scalar Dumux::FFPMCouplingConditionsStaggeredCCTpfaImplBase< MDTraits, CouplingManager >::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 |
|
inlineprotected |
◆ couplingCompIdx()
◆ couplingPhaseIdx()
◆ darcyPermeability()
◆ getDistance_()
template<class Scv , class Scvf >
◆ momentumCouplingCondition()
For the normal momentum coupling, the porous medium side of the coupling condition is evaluated, i.e. -[p n]^pm.
◆ pressureAtInterface_()
template<class CouplingContext >
◆ transmissibility_()
template<std::size_t i, std::size_t j>
Scalar Dumux::FFPMCouplingConditionsStaggeredCCTpfaImplBase< MDTraits, CouplingManager >::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 |
|
inlineprotected |
◆ freeFlowMassIndex
◆ freeFlowMomentumIndex
◆ porousMediumIndex
The documentation for this class was generated from the following file: