version 3.10-dev
Dumux::PorousMediumFluxVariables< TypeTag, UpScheme > Class Template Reference

The porous medium flux variables class that computes advective / convective, molecular diffusive and heat conduction fluxes. More...

#include <dumux/porousmediumflow/fluxvariables.hh>

Inheritance diagram for Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >:

Description

template<class TypeTag, class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
class Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >
Parameters
TypeTagThe type tag for access to type traits
UpSchemeThe upwind scheme to be applied to advective fluxes
Note
Not all specializations are currently implemented

Public Types

using UpwindScheme = UpScheme
 
using AdvectionType = GetPropType< TypeTag, Properties::AdvectionType >
 
using DispersionFluxType = GetPropType< TypeTag, Properties::DispersionFluxType >
 
using MolecularDiffusionType = GetPropType< TypeTag, Properties::MolecularDiffusionType >
 
using HeatConductionType = GetPropType< TypeTag, Properties::HeatConductionType >
 

Public Member Functions

 PorousMediumFluxVariables ()
 The constructor. More...
 
template<typename FunctionType >
Scalar advectiveFlux (const int phaseIdx, const FunctionType &upwindTerm) const
 Returns the advective flux computed by the respective law. More...
 
Dune::FieldVector< Scalar, numComponents > molecularDiffusionFlux (const int phaseIdx) const
 Returns the diffusive fluxes computed by the respective law. More...
 
Dune::FieldVector< Scalar, numComponents > compositionalDispersionFlux (const int phaseIdx) const
 Returns the compositional dispersion flux computed by the respective law. More...
 
Dune::FieldVector< Scalar, 1 > thermalDispersionFlux (const int phaseIdx=0) const
 Returns the thermal dispersion flux computed by the respective law. More...
 
Scalar heatConductionFlux () const
 Returns the conductive flux computed by the respective law. More...
 
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 enableCompositionalDispersion = ModelTraits::enableCompositionalDispersion()
 
static constexpr bool enableThermalDispersion = ModelTraits::enableThermalDispersion()
 
static constexpr bool enableEnergyBalance = ModelTraits::enableEnergyBalance()
 
static constexpr bool enableThermalNonEquilibrium = getPropValue<TypeTag, Properties::EnableThermalNonEquilibrium>()
 

Member Typedef Documentation

◆ AdvectionType

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
using Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::AdvectionType = GetPropType<TypeTag, Properties::AdvectionType>

◆ DispersionFluxType

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
using Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::DispersionFluxType = GetPropType<TypeTag, Properties::DispersionFluxType>

◆ HeatConductionType

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
using Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::HeatConductionType = GetPropType<TypeTag, Properties::HeatConductionType>

◆ MolecularDiffusionType

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
using Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::MolecularDiffusionType = GetPropType<TypeTag, Properties::MolecularDiffusionType>

◆ UpwindScheme

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
using Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::UpwindScheme = UpScheme

Constructor & Destructor Documentation

◆ PorousMediumFluxVariables()

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::PorousMediumFluxVariables ( )
inline

Member Function Documentation

◆ advectiveFlux()

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
template<typename FunctionType >
Scalar Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::advectiveFlux ( const int  phaseIdx,
const FunctionType &  upwindTerm 
) const
inline

Give the upwind scheme access to the cached variables

◆ compositionalDispersionFlux()

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
Dune::FieldVector< Scalar, numComponents > Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::compositionalDispersionFlux ( const int  phaseIdx) const
inline

◆ element()

const Element & Dumux::FluxVariablesBase< GetPropType< TypeTag, Properties::Problem > , GetPropType< TypeTag, Properties::GridGeometry >::LocalView , GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView , GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView >::element ( ) const
inlineinherited

◆ elemFluxVarsCache()

const GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView & Dumux::FluxVariablesBase< GetPropType< TypeTag, Properties::Problem > , GetPropType< TypeTag, Properties::GridGeometry >::LocalView , GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView , GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView >::elemFluxVarsCache ( ) const
inlineinherited

◆ elemVolVars()

const GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView & Dumux::FluxVariablesBase< GetPropType< TypeTag, Properties::Problem > , GetPropType< TypeTag, Properties::GridGeometry >::LocalView , GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView , GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView >::elemVolVars ( ) const
inlineinherited

◆ fvGeometry()

const GetPropType< TypeTag, Properties::GridGeometry >::LocalView & Dumux::FluxVariablesBase< GetPropType< TypeTag, Properties::Problem > , GetPropType< TypeTag, Properties::GridGeometry >::LocalView , GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView , GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView >::fvGeometry ( ) const
inlineinherited

◆ heatConductionFlux() [1/2]

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
Scalar Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::heatConductionFlux ( ) const
inline
Note
This overload is used in models considering local thermal equilibrium

◆ heatConductionFlux() [2/2]

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
Scalar Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::heatConductionFlux ( const int  phaseIdx) const
inline
Note
This overload is used in models considering local thermal nonequilibrium

◆ init()

void Dumux::FluxVariablesBase< GetPropType< TypeTag, Properties::Problem > , GetPropType< TypeTag, Properties::GridGeometry >::LocalView , GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView , GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView >::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 
)
inlineinherited

◆ molecularDiffusionFlux()

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
Dune::FieldVector< Scalar, numComponents > Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::molecularDiffusionFlux ( const int  phaseIdx) const
inline

◆ problem()

const GetPropType< TypeTag, Properties::Problem > & Dumux::FluxVariablesBase< GetPropType< TypeTag, Properties::Problem > , GetPropType< TypeTag, Properties::GridGeometry >::LocalView , GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView , GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView >::problem ( ) const
inlineinherited

◆ scvFace()

const SubControlVolumeFace & Dumux::FluxVariablesBase< GetPropType< TypeTag, Properties::Problem > , GetPropType< TypeTag, Properties::GridGeometry >::LocalView , GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView , GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView >::scvFace ( ) const
inlineinherited

◆ thermalDispersionFlux()

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
Dune::FieldVector< Scalar, 1 > Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::thermalDispersionFlux ( const int  phaseIdx = 0) const
inline

Member Data Documentation

◆ enableAdvection

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
constexpr bool Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::enableAdvection = ModelTraits::enableAdvection()
staticconstexpr

◆ enableCompositionalDispersion

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
constexpr bool Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::enableCompositionalDispersion = ModelTraits::enableCompositionalDispersion()
staticconstexpr

◆ enableEnergyBalance

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
constexpr bool Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::enableEnergyBalance = ModelTraits::enableEnergyBalance()
staticconstexpr

◆ enableMolecularDiffusion

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
constexpr bool Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::enableMolecularDiffusion = ModelTraits::enableMolecularDiffusion()
staticconstexpr

◆ enableThermalDispersion

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
constexpr bool Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::enableThermalDispersion = ModelTraits::enableThermalDispersion()
staticconstexpr

◆ enableThermalNonEquilibrium

template<class TypeTag , class UpScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
constexpr bool Dumux::PorousMediumFluxVariables< TypeTag, UpScheme >::enableThermalNonEquilibrium = getPropValue<TypeTag, Properties::EnableThermalNonEquilibrium>()
staticconstexpr

The documentation for this class was generated from the following file: