The porous medium flux variables class that computes advective / convective, molecular diffusive and heat conduction fluxes. More...
#include <dumux/porousmediumflow/fluxvariables.hh>
The porous medium flux variables class that computes advective / convective, molecular diffusive and heat conduction fluxes.
TypeTag | The type tag for access to type traits |
UpwindScheme | The upwind scheme to be applied to advective fluxes |
Public Types | |
using | AdvectionType = GetPropType< TypeTag, Properties::AdvectionType > |
using | MolecularDiffusionType = GetPropType< TypeTag, Properties::MolecularDiffusionType > |
using | HeatConductionType = GetPropType< TypeTag, Properties::HeatConductionType > |
Public Member Functions | |
PorousMediumFluxVariables () | |
The constructor. More... | |
template<typename FunctionType , bool enable = enableAdvection, std::enable_if_t< enable, int > = 0> | |
Scalar | advectiveFlux (const int phaseIdx, const FunctionType &upwindTerm) const |
Returns the advective flux computed by the respective law. Specialization for enabled advection. More... | |
template<typename FunctionType , bool enable = enableAdvection, typename std::enable_if_t<!enable, int > = 0> | |
Scalar | advectiveFlux (const int phaseIdx, const FunctionType &upwindTerm) const |
Returns the advective flux computed by the respective law. Specialization for disabled advection. Advective fluxes are zero. More... | |
template<bool enable = enableMolecularDiffusion, typename std::enable_if_t< enable, int > = 0> | |
Dune::FieldVector< Scalar, numComponents > | molecularDiffusionFlux (const int phaseIdx) const |
Returns the diffusive fluxes computed by the respective law. More... | |
template<bool enable = enableMolecularDiffusion, typename std::enable_if_t<!enable, int > = 0> | |
Dune::FieldVector< Scalar, numComponents > | molecularDiffusionFlux (const int phaseIdx) const |
Returns the diffusive fluxes computed by the respective law. More... | |
template<bool enable = enableEnergyBalance && !enableThermalNonEquilibrium, typename std::enable_if_t< enable, int > = 0> | |
Scalar | heatConductionFlux () const |
Returns the conductive flux computed by the respective law. More... | |
template<bool enable = enableEnergyBalance && enableThermalNonEquilibrium, typename std::enable_if_t< enable, int > = 0> | |
Scalar | heatConductionFlux (const int phaseIdx) const |
Returns the conductive flux computed by the respective law. More... | |
template<bool enable = enableEnergyBalance, typename std::enable_if_t<!enable, int > = 0> | |
Scalar | heatConductionFlux (const int phaseIdx) const |
Returns the conductive flux computed by the respective law. More... | |
void | init (const GetPropType< TypeTag, Properties::Problem > &problem, const Element &element, const GetPropType< TypeTag, Properties::GridGeometry >::LocalView &fvGeometry, const GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView &elemVolVars, const SubControlVolumeFace &scvFace, const GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView &elemFluxVarsCache) |
Initialize the flux variables storing some temporary pointers. More... | |
const GetPropType< TypeTag, Properties::Problem > & | problem () const |
const Element & | element () const |
const SubControlVolumeFace & | scvFace () const |
const GetPropType< TypeTag, Properties::GridGeometry >::LocalView & | fvGeometry () const |
const GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView & | elemVolVars () const |
const GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView & | elemFluxVarsCache () const |
Static Public Attributes | |
static constexpr bool | enableAdvection = ModelTraits::enableAdvection() |
static constexpr bool | enableMolecularDiffusion = ModelTraits::enableMolecularDiffusion() |
static constexpr bool | enableEnergyBalance = ModelTraits::enableEnergyBalance() |
static constexpr bool | enableThermalNonEquilibrium = getPropValue<TypeTag, Properties::EnableThermalNonEquilibrium>() |
using Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme >::AdvectionType = GetPropType<TypeTag, Properties::AdvectionType> |
using Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme >::HeatConductionType = GetPropType<TypeTag, Properties::HeatConductionType> |
using Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme >::MolecularDiffusionType = GetPropType<TypeTag, Properties::MolecularDiffusionType> |
|
inline |
The constructor.
|
inline |
Returns the advective flux computed by the respective law. Specialization for enabled advection.
Give the upwind scheme access to the cached variables
|
inline |
Returns the advective flux computed by the respective law. Specialization for disabled advection. Advective fluxes are zero.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
Returns the conductive flux computed by the respective law.
Specialization for enabled heat conduction and thermal equilibrium between all phases.
|
inline |
Returns the conductive flux computed by the respective law.
Specialization for enabled heat conduction and thermal non-equilibrium.
|
inline |
Returns the conductive flux computed by the respective law.
Specialization for disabled heat conduction. Conductive fluxes are zero.
|
inlineinherited |
Initialize the flux variables storing some temporary pointers.
|
inline |
Returns the diffusive fluxes computed by the respective law.
Specialization for enabled diffusion.
|
inline |
Returns the diffusive fluxes computed by the respective law.
Specialization for disabled diffusion. Fluxes are zero.
|
inlineinherited |
|
inlineinherited |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |