A base class which provides some common methods used for Stokes-Darcy coupling. More...
#include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
A base class which provides some common methods used for Stokes-Darcy coupling.
Public Member Functions | |
StokesDarcyCouplingDataImplementationBase (const CouplingManager &couplingmanager) | |
const CouplingManager & | couplingManager () const |
Returns a reference to the coupling manager. More... | |
auto | darcyPermeability (const Element< stokesIdx > &element, const SubControlVolumeFace< stokesIdx > &scvf) const |
Returns the intrinsic permeability of the coupled Darcy element. More... | |
template<class ElementFaceVariables > | |
Scalar | momentumCouplingCondition (const Element< stokesIdx > &element, const FVElementGeometry< stokesIdx > &fvGeometry, const ElementVolumeVariables< stokesIdx > &stokesElemVolVars, const ElementFaceVariables &stokesElemFaceVars, const SubControlVolumeFace< stokesIdx > &scvf) const |
Returns the momentum flux across the coupling boundary. More... | |
Scalar | advectiveFlux (const Scalar insideQuantity, const Scalar outsideQuantity, const Scalar volumeFlow, bool insideIsUpstream) const |
Evaluate an advective flux across the interface and consider upwinding. More... | |
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 coupledCompdIdx) |
Returns the corresponding component index needed for coupling. More... | |
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... | |
template<class ElementFaceVariables , class CouplingContext > | |
Scalar | pressureAtInterface_ (const Element< stokesIdx > &element, const SubControlVolumeFace< stokesIdx > &scvf, const ElementFaceVariables &elemFaceVars, const CouplingContext &context) const |
Returns the pressure at the interface. More... | |
Scalar | computeCouplingPhasePressureAtInterface_ (const Element< darcyIdx > &element, const FVElementGeometry< darcyIdx > &fvGeometry, const SubControlVolumeFace< darcyIdx > &scvf, const VolumeVariables< darcyIdx > &volVars, const typename Element< stokesIdx >::Geometry::GlobalCoordinate &couplingPhaseVelocity, ForchheimersLaw) const |
Returns the pressure at the interface using Forchheimers's law for reconstruction. More... | |
Scalar | computeCouplingPhasePressureAtInterface_ (const Element< darcyIdx > &element, const FVElementGeometry< darcyIdx > &fvGeometry, const SubControlVolumeFace< darcyIdx > &scvf, const VolumeVariables< darcyIdx > &volVars, const typename Element< stokesIdx >::Geometry::GlobalCoordinate &couplingPhaseVelocity, DarcysLaw) const |
Returns the pressure at the interface using Darcy's law for reconstruction. More... | |
|
inline |
|
inline |
Evaluate an advective flux across the interface and consider upwinding.
|
inlineprotected |
Returns the pressure at the interface using Darcy's law for reconstruction.
|
inlineprotected |
Returns the pressure at the interface using Forchheimers's law for reconstruction.
|
inlineprotected |
Returns the conductive energy flux acorss the interface.
|
inlinestaticconstexpr |
Returns the corresponding component index needed for coupling.
|
inline |
Returns a reference to the coupling manager.
|
inlinestaticconstexpr |
Returns the corresponding phase index needed for coupling.
|
inline |
Returns the intrinsic permeability of the coupled Darcy element.
|
inlineprotected |
Returns the distance between an scvf and the corresponding scv center.
|
inline |
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.
|
inlineprotected |
Returns the pressure at the interface.
|
inlineprotected |
Returns the transmissibility used for either molecular diffusion or thermal conductivity.