3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Attributes | List of all members
Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme > 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, UpwindScheme >:
Inheritance graph

Description

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

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

Parameters
TypeTagThe type tag for access to type traits
UpwindSchemeThe upwind scheme to be applied to advective fluxes
Note
Not all specializations are currently implemented

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>()
 

Member Typedef Documentation

◆ AdvectionType

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

◆ HeatConductionType

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

◆ MolecularDiffusionType

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

Constructor & Destructor Documentation

◆ PorousMediumFluxVariables()

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

The constructor.

Member Function Documentation

◆ advectiveFlux() [1/2]

template<class TypeTag , class UpwindScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
template<typename FunctionType , bool enable = enableAdvection, std::enable_if_t< enable, int > = 0>
Scalar Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme >::advectiveFlux ( const int  phaseIdx,
const FunctionType &  upwindTerm 
) const
inline

Returns the advective flux computed by the respective law. Specialization for enabled advection.

Give the upwind scheme access to the cached variables

◆ advectiveFlux() [2/2]

template<class TypeTag , class UpwindScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
template<typename FunctionType , bool enable = enableAdvection, typename std::enable_if_t<!enable, int > = 0>
Scalar Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme >::advectiveFlux ( const int  phaseIdx,
const FunctionType &  upwindTerm 
) const
inline

Returns the advective flux computed by the respective law. Specialization for disabled advection. Advective fluxes are zero.

◆ 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/3]

template<class TypeTag , class UpwindScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
template<bool enable = enableEnergyBalance && !enableThermalNonEquilibrium, typename std::enable_if_t< enable, int > = 0>
Scalar Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme >::heatConductionFlux ( ) const
inline

Returns the conductive flux computed by the respective law.

Specialization for enabled heat conduction and thermal equilibrium between all phases.

◆ heatConductionFlux() [2/3]

template<class TypeTag , class UpwindScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
template<bool enable = enableEnergyBalance && enableThermalNonEquilibrium, typename std::enable_if_t< enable, int > = 0>
Scalar Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme >::heatConductionFlux ( const int  phaseIdx) const
inline

Returns the conductive flux computed by the respective law.

Specialization for enabled heat conduction and thermal non-equilibrium.

◆ heatConductionFlux() [3/3]

template<class TypeTag , class UpwindScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
template<bool enable = enableEnergyBalance, typename std::enable_if_t<!enable, int > = 0>
Scalar Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme >::heatConductionFlux ( const int  phaseIdx) const
inline

Returns the conductive flux computed by the respective law.

Specialization for disabled heat conduction. Conductive fluxes are zero.

◆ 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

Initialize the flux variables storing some temporary pointers.

◆ molecularDiffusionFlux() [1/2]

template<class TypeTag , class UpwindScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
template<bool enable = enableMolecularDiffusion, typename std::enable_if_t< enable, int > = 0>
Dune::FieldVector< Scalar, numComponents > Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme >::molecularDiffusionFlux ( const int  phaseIdx) const
inline

Returns the diffusive fluxes computed by the respective law.

Specialization for enabled diffusion.

◆ molecularDiffusionFlux() [2/2]

template<class TypeTag , class UpwindScheme = UpwindScheme<GetPropType<TypeTag, Properties::GridGeometry>>>
template<bool enable = enableMolecularDiffusion, typename std::enable_if_t<!enable, int > = 0>
Dune::FieldVector< Scalar, numComponents > Dumux::PorousMediumFluxVariables< TypeTag, UpwindScheme >::molecularDiffusionFlux ( const int  phaseIdx) const
inline

Returns the diffusive fluxes computed by the respective law.

Specialization for disabled diffusion. Fluxes are zero.

◆ 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

Member Data Documentation

◆ enableAdvection

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

◆ enableEnergyBalance

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

◆ enableMolecularDiffusion

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

◆ enableThermalNonEquilibrium

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

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