version 3.10-dev
Dumux::TwoPOneCVolumeVariables< Traits > Class Template Reference

The volume variables (i.e. secondary variables) for the two-phase one-component model.

#include <dumux/porousmediumflow/2p1c/volumevariables.hh>

Inheritance diagram for Dumux::TwoPOneCVolumeVariables< Traits >:

Public Types

using FluidState = typename Traits::FluidState
 The type of the object returned by the fluidState() method. More...
 
using FluidSystem = typename Traits::FluidSystem
 The type of the fluid system. More...
 
using Indices = typename Traits::ModelTraits::Indices
 The type of the indices. More...
 
using SolidState = typename Traits::SolidState
 Export type of solid state. More...
 
using SolidSystem = typename Traits::SolidSystem
 Export type of solid system. More...
 
using PrimaryVariableSwitch = TwoPOneCPrimaryVariableSwitch
 Export the primary variable switch. More...
 
using PrimaryVariables = typename Traits::PrimaryVariables
 Export the type used for the primary variables. More...
 

Public Member Functions

template<class ElemSol , class Problem , class Element , class Scv >
void update (const ElemSol &elemSol, const Problem &problem, const Element &element, const Scv &scv)
 Updates all quantities for a given control volume. More...
 
template<class ElemSol , class Problem , class Element , class Scv >
void completeFluidState (const ElemSol &elemSol, const Problem &problem, const Element &element, const Scv &scv, FluidState &fluidState, SolidState &solidState)
 Sets complete fluid state. More...
 
template<class ElemSol , class Problem , class Element , class Scv >
void updateTemperature (const ElemSol &elemSol, const Problem &problem, const Element &element, const Scv &scv, FluidState &fluidState, SolidState &solidState)
 
const FluidStatefluidState () const
 Returns the fluid state for the control-volume. More...
 
const SolidStatesolidState () const
 Returns the phase state for the control volume. More...
 
Scalar averageMolarMass (int phaseIdx) const
 Returns the average molar mass \(\mathrm{[kg/mol]}\) of the fluid phase. More...
 
Scalar saturation (const int phaseIdx) const
 Returns the effective saturation of a given phase within the control volume. More...
 
Scalar density (const int phaseIdx) const
 Returns the mass density of a given phase within the control volume. More...
 
Scalar molarDensity (const int phaseIdx) const
 Returns the molar density of a given phase within the control volume. More...
 
Scalar pressure (const int phaseIdx) const
 Returns the effective pressure of a given phase within the control volume. More...
 
Scalar temperature (const int phaseIdx=0) const
 Returns temperature inside the sub-control volume. More...
 
Scalar mobility (const int phaseIdx) const
 Returns the effective mobility of a given phase within the control volume. More...
 
Scalar capillaryPressure () const
 Returns the effective capillary pressure within the control volume in \([kg/(m*s^2)=N/m^2=Pa]\). More...
 
Scalar porosity () const
 Returns the average porosity within the control volume. More...
 
const PermeabilityType & permeability () const
 Returns the average permeability within the control volume in \([m^2]\). More...
 
Scalar vaporTemperature () const
 Returns the vapor temperature \(T_{vap}(p_n)\) of the fluid within the control volume. More...
 
int wettingPhase () const
 Returns the wetting phase index. More...
 
const PrimaryVariablespriVars () const
 Returns the vector of primary variables. More...
 
Scalar priVar (const int pvIdx) const
 Returns a component of primary variable vector. More...
 
Scalar extrusionFactor () const
 Returns how much the sub-control volume is extruded. More...
 

Static Public Member Functions

static constexpr TwoPFormulation priVarFormulation ()
 Return the two-phase formulation used here. More...
 
static constexpr int numFluidComponents ()
 Return number of components considered by the model. More...
 

Protected Attributes

FluidState fluidState_
 
SolidState solidState_
 

Member Typedef Documentation

◆ FluidState

template<class Traits >
using Dumux::TwoPOneCVolumeVariables< Traits >::FluidState = typename Traits::FluidState

◆ FluidSystem

template<class Traits >
using Dumux::TwoPOneCVolumeVariables< Traits >::FluidSystem = typename Traits::FluidSystem

◆ Indices

template<class Traits >
using Dumux::TwoPOneCVolumeVariables< Traits >::Indices = typename Traits::ModelTraits::Indices

◆ PrimaryVariables

template<class Traits >
using Dumux::PorousMediumFlowVolumeVariables< Traits >::PrimaryVariables = typename Traits::PrimaryVariables
inherited

◆ PrimaryVariableSwitch

template<class Traits >
using Dumux::TwoPOneCVolumeVariables< Traits >::PrimaryVariableSwitch = TwoPOneCPrimaryVariableSwitch

◆ SolidState

template<class Traits >
using Dumux::TwoPOneCVolumeVariables< Traits >::SolidState = typename Traits::SolidState

◆ SolidSystem

template<class Traits >
using Dumux::TwoPOneCVolumeVariables< Traits >::SolidSystem = typename Traits::SolidSystem

Member Function Documentation

◆ averageMolarMass()

template<class Traits >
Scalar Dumux::TwoPOneCVolumeVariables< Traits >::averageMolarMass ( int  phaseIdx) const
inline
Parameters
phaseIdxThe phase index

◆ capillaryPressure()

template<class Traits >
Scalar Dumux::TwoPOneCVolumeVariables< Traits >::capillaryPressure ( ) const
inline

◆ completeFluidState()

template<class Traits >
template<class ElemSol , class Problem , class Element , class Scv >
void Dumux::TwoPOneCVolumeVariables< Traits >::completeFluidState ( const ElemSol &  elemSol,
const Problem &  problem,
const Element &  element,
const Scv &  scv,
FluidState fluidState,
SolidState solidState 
)
inline
Parameters
elemSolA vector containing all primary variables connected to the element
problemThe object specifying the problem which ought to be simulated
elementAn element which contains part of the control volume
scvThe sub-control volume
fluidStateA container with the current (physical) state of the fluid
solidStateA container with the current (physical) state of the solid

◆ density()

template<class Traits >
Scalar Dumux::TwoPOneCVolumeVariables< Traits >::density ( const int  phaseIdx) const
inline
Parameters
phaseIdxThe phase index

◆ extrusionFactor()

template<class Traits >
Scalar Dumux::PorousMediumFlowVolumeVariables< Traits >::extrusionFactor ( ) const
inlineinherited

This means the factor by which a lower-dimensional (1D or 2D) entity needs to be expanded to get a full dimensional cell. The default is 1.0 which means that 1D problems are actually thought as pipes with a cross section of 1 m^2 and 2D problems are assumed to extend 1 m to the back.

◆ fluidState()

template<class Traits >
const FluidState & Dumux::TwoPOneCVolumeVariables< Traits >::fluidState ( ) const
inline

◆ mobility()

template<class Traits >
Scalar Dumux::TwoPOneCVolumeVariables< Traits >::mobility ( const int  phaseIdx) const
inline
Parameters
phaseIdxThe phase index

◆ molarDensity()

template<class Traits >
Scalar Dumux::TwoPOneCVolumeVariables< Traits >::molarDensity ( const int  phaseIdx) const
inline
Parameters
phaseIdxThe phase index

◆ numFluidComponents()

template<class Traits >
static constexpr int Dumux::PorousMediumFlowVolumeVariables< Traits >::numFluidComponents ( )
inlinestaticconstexprinherited

◆ permeability()

template<class Traits >
const PermeabilityType & Dumux::TwoPOneCVolumeVariables< Traits >::permeability ( ) const
inline

◆ porosity()

template<class Traits >
Scalar Dumux::TwoPOneCVolumeVariables< Traits >::porosity ( ) const
inline

◆ pressure()

template<class Traits >
Scalar Dumux::TwoPOneCVolumeVariables< Traits >::pressure ( const int  phaseIdx) const
inline
Parameters
phaseIdxThe phase index

◆ priVar()

template<class Traits >
Scalar Dumux::PorousMediumFlowVolumeVariables< Traits >::priVar ( const int  pvIdx) const
inlineinherited
Parameters
pvIdxThe index of the primary variable of interest

◆ priVarFormulation()

template<class Traits >
static constexpr TwoPFormulation Dumux::TwoPOneCVolumeVariables< Traits >::priVarFormulation ( )
inlinestaticconstexpr

◆ priVars()

template<class Traits >
const PrimaryVariables & Dumux::PorousMediumFlowVolumeVariables< Traits >::priVars ( ) const
inlineinherited

◆ saturation()

template<class Traits >
Scalar Dumux::TwoPOneCVolumeVariables< Traits >::saturation ( const int  phaseIdx) const
inline
Parameters
phaseIdxThe phase index

◆ solidState()

template<class Traits >
const SolidState & Dumux::TwoPOneCVolumeVariables< Traits >::solidState ( ) const
inline

◆ temperature()

template<class Traits >
Scalar Dumux::TwoPOneCVolumeVariables< Traits >::temperature ( const int  phaseIdx = 0) const
inline

Note that we assume thermodynamic equilibrium, i.e. the temperatures of the rock matrix and of all fluid phases are identical.

◆ update()

template<class Traits >
template<class ElemSol , class Problem , class Element , class Scv >
void Dumux::TwoPOneCVolumeVariables< Traits >::update ( const ElemSol &  elemSol,
const Problem &  problem,
const Element &  element,
const Scv &  scv 
)
inline
Parameters
elemSolA vector containing all primary variables connected to the element
problemThe object specifying the problem which ought to be simulated
elementAn element which contains part of the control volume
scvThe sub-control volume

◆ updateTemperature()

template<class Traits >
template<class ElemSol , class Problem , class Element , class Scv >
void Dumux::TwoPOneCVolumeVariables< Traits >::updateTemperature ( const ElemSol &  elemSol,
const Problem &  problem,
const Element &  element,
const Scv &  scv,
FluidState fluidState,
SolidState solidState 
)
inline

Depending on the phase state, the fluid temperature is either obtained as a primary variable from the solution vector or calculated from the liquid's vapor pressure.

◆ vaporTemperature()

template<class Traits >
Scalar Dumux::TwoPOneCVolumeVariables< Traits >::vaporTemperature ( ) const
inline

◆ wettingPhase()

template<class Traits >
int Dumux::TwoPOneCVolumeVariables< Traits >::wettingPhase ( ) const
inline

Member Data Documentation

◆ fluidState_

template<class Traits >
FluidState Dumux::TwoPOneCVolumeVariables< Traits >::fluidState_
protected

◆ solidState_

template<class Traits >
SolidState Dumux::TwoPOneCVolumeVariables< Traits >::solidState_
protected

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