Coupling data specialization for compositional models. More...
#include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
Coupling data specialization for compositional models.
Public Member Functions | |
NumEqVector | massCouplingCondition (const Element< darcyIdx > &element, const FVElementGeometry< darcyIdx > &fvGeometry, const ElementVolumeVariables< darcyIdx > &darcyElemVolVars, const SubControlVolumeFace< darcyIdx > &scvf, const DiffusionCoefficientAveragingType diffCoeffAvgType=DiffusionCoefficientAveragingType::ffOnly) const |
Returns the mass flux across the coupling boundary as seen from the Darcy domain. More... | |
NumEqVector | massCouplingCondition (const Element< stokesIdx > &element, const FVElementGeometry< stokesIdx > &fvGeometry, const ElementVolumeVariables< stokesIdx > &stokesElemVolVars, const ElementFaceVariables< stokesIdx > &stokesElemFaceVars, const SubControlVolumeFace< stokesIdx > &scvf, const DiffusionCoefficientAveragingType diffCoeffAvgType=DiffusionCoefficientAveragingType::ffOnly) const |
Returns the mass flux across the coupling boundary as seen from the free-flow domain. More... | |
template<bool isNI = enableEnergyBalance, typename std::enable_if_t< isNI, int > = 0> | |
Scalar | energyCouplingCondition (const Element< darcyIdx > &element, const FVElementGeometry< darcyIdx > &fvGeometry, const ElementVolumeVariables< darcyIdx > &darcyElemVolVars, const SubControlVolumeFace< darcyIdx > &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< stokesIdx > &element, const FVElementGeometry< stokesIdx > &fvGeometry, const ElementVolumeVariables< stokesIdx > &stokesElemVolVars, const ElementFaceVariables< stokesIdx > &stokesElemFaceVars, const SubControlVolumeFace< stokesIdx > &scvf, const DiffusionCoefficientAveragingType diffCoeffAvgType=DiffusionCoefficientAveragingType::ffOnly) const |
Returns the energy flux across the coupling boundary as seen from the free-flow domain. More... | |
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> | |
NumEqVector | massFlux_ (Dune::index_constant< i > domainI, Dune::index_constant< j > domainJ, const FVElementGeometry< i > &insideFvGeometry, const SubControlVolumeFace< i > &scvf, const VolumeVariables< i > &insideVolVars, const VolumeVariables< j > &outsideVolVars, const SubControlVolume< j > &outsideScv, const Scalar velocity, const bool insideIsUpstream, const DiffusionCoefficientAveragingType diffCoeffAvgType) const |
Evaluate the compositional mole/mass flux across the interface. More... | |
Scalar | getComponentEnthalpy (const VolumeVariables< stokesIdx > &volVars, int phaseIdx, int compIdx) const |
Scalar | getComponentEnthalpy (const VolumeVariables< darcyIdx > &volVars, int phaseIdx, int compIdx) const |
template<std::size_t i, std::size_t j> | |
NumEqVector | diffusiveMolecularFluxMaxwellStefan_ (Dune::index_constant< i > domainI, Dune::index_constant< j > domainJ, const SubControlVolumeFace< i > &scvfI, const SubControlVolume< i > &scvI, const SubControlVolume< j > &scvJ, const VolumeVariables< i > &volVarsI, const VolumeVariables< j > &volVarsJ) const |
Evaluate the diffusive mole/mass flux across the interface. More... | |
template<std::size_t i, std::size_t j> | |
NumEqVector | diffusiveMolecularFluxFicksLaw_ (Dune::index_constant< i > domainI, Dune::index_constant< j > domainJ, const SubControlVolumeFace< i > &scvfI, const SubControlVolume< i > &scvI, const SubControlVolume< j > &scvJ, const VolumeVariables< i > &volVarsI, const VolumeVariables< j > &volVarsJ, const DiffusionCoefficientAveragingType diffCoeffAvgType) const |
template<std::size_t i, std::size_t j, bool isNI = enableEnergyBalance, typename std::enable_if_t< isNI, int > = 0> | |
Scalar | energyFlux_ (Dune::index_constant< i > domainI, Dune::index_constant< j > domainJ, const FVElementGeometry< i > &insideFvGeometry, const FVElementGeometry< j > &outsideFvGeometry, const SubControlVolumeFace< i > &scvf, const VolumeVariables< i > &insideVolVars, const VolumeVariables< j > &outsideVolVars, const Scalar velocity, const bool insideIsUpstream, const DiffusionCoefficientAveragingType diffCoeffAvgType) const |
Evaluate the energy flux across the interface. 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 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... | |
|
inlineinherited |
Evaluate an advective flux across the interface and consider upwinding.
|
inlineprotectedinherited |
Returns the pressure at the interface using Darcy's law for reconstruction.
|
inlineprotectedinherited |
Returns the pressure at the interface using Forchheimers's law for reconstruction.
|
inlineprotectedinherited |
Returns the conductive energy flux across the interface.
|
inlinestaticconstexpr |
Returns the corresponding component index needed for coupling.
|
inlineinherited |
Returns a reference to the coupling manager.
|
inlinestaticconstexpr |
Returns the corresponding phase index needed for coupling.
|
inlineinherited |
Returns the intrinsic permeability of the coupled Darcy element.
|
inlineprotected |
|
inlineprotected |
Evaluate the diffusive mole/mass flux across the interface.
|
inline |
Returns the energy flux across the coupling boundary as seen from the Darcy domain.
|
inline |
Returns the energy flux across the coupling boundary as seen from the free-flow domain.
|
inlineprotected |
Evaluate the energy flux across the interface.
|
inlineprotected |
|
inlineprotected |
|
inlineprotectedinherited |
Returns the distance between an scvf and the corresponding scv center.
|
inline |
Returns the mass flux across the coupling boundary as seen from the Darcy domain.
|
inline |
Returns the mass flux across the coupling boundary as seen from the free-flow domain.
|
inlineprotected |
Evaluate the compositional mole/mass flux across the interface.
|
inlineinherited |
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.
|
inlineprotectedinherited |
Returns the pressure at the interface.
|
inlineprotectedinherited |
Returns the transmissibility used for either molecular diffusion or thermal conductivity.