version 3.11-dev
Loading...
Searching...
No Matches

Contains the quantities which are constant within a coarse-level finite volume in the two-phase VE model. More...

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

Inheritance diagram for Dumux::TwoPVEVolumeVariables< Traits >:

Description

template<class Traits>
class Dumux::TwoPVEVolumeVariables< Traits >

The coarse-level mobilities are the permeability-weighted vertical averages of the reconstructed fine-level mobilities. Permeability [m^2] and dimensionless porosity are column averages; extrusion supplies the column height.

Public Types

using PrimaryVariables = typename Traits::PrimaryVariables
 Export the type used for the primary variables.
using FluidSystem = typename Traits::FluidSystem
 Export type of fluid system.
using FluidState = typename Traits::FluidState
 Export type of fluid state.
using Indices = typename ModelTraits::Indices
 Export the indices.

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, these volume variables refer to the coarse level of the VE scheme.
template<class ElemSol, class Problem, class Element, class Scv>
void completeFluidStateCoarse (const ElemSol &elemSol, const Problem &problemCoarse, const Element &element, const Scv &scv, FluidState &fluidState, Scalar temperature, Scalar pcCoarse, Scalar gasPlumeDist)
 Sets complete fluid state. This function is used for the coarse-level elements.
const FluidState & fluidState () const
 Returns the phase state for the control volume.
Scalar saturation (int phaseIdx) const
 Returns the saturation of a given phase within the control volume in \([-]\).
Scalar density (int phaseIdx) const
 Returns the mass density of a given phase within the control volume in \([kg/m^3]\).
Scalar pressure (int phaseIdx) const
 Returns the effective pressure of a given phase within the control volume in \([kg/(m*s^2)=N/m^2=Pa]\).
Scalar capillaryPressure () const
 Returns the capillary pressure within the control volume in \([kg/(m*s^2)=N/m^2=Pa]\).
Scalar temperature () const
 Returns temperature inside the sub-control volume in \([K]\).
Scalar viscosity (int phaseIdx) const
 Returns the dynamic viscosity of the fluid within the control volume in \(\mathrm{[Pa s]}\).
Scalar mobility (int phaseIdx) const
 Returns the effective mobility of a given phase within the control volume in \([s*m/kg]\).
Scalar porosity () const
 Returns the dimensionless column-average porosity.
const PermeabilityType & permeability () const
 Returns the column-average intrinsic permeability in \([m^2]\).
Scalar porosityIntegral () const
 Vertical integral of porosity [m].
PermeabilityType permeabilityIntegral () const
 Vertical integral of permeability [m^3].
int wettingPhase () const
 Returns the wetting phase index.
Scalar gasPlumeDist () const
 Returns the gas plume distance within a coarse-level element.
Scalar columnHeight () const
 Height of the reconstructed column [m].
const PrimaryVariables & priVars () const
 Returns the vector of primary variables.
Scalar priVar (const int pvIdx) const
 Returns a component of primary variable vector.
Scalar extrusionFactor () const
 Returns how much the sub-control volume is extruded.

Static Public Member Functions

static constexpr int numFluidPhases ()
 Return number of phases considered by the model.
static constexpr int numFluidComponents ()
 Return number of components considered by the model.

Protected Attributes

FluidState fluidState_

Member Typedef Documentation

◆ FluidState

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

◆ FluidSystem

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

◆ Indices

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

◆ PrimaryVariables

template<class Traits>
using Dumux::TwoPVEVolumeVariables< Traits >::PrimaryVariables = typename Traits::PrimaryVariables

Member Function Documentation

◆ capillaryPressure()

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

◆ columnHeight()

template<class Traits>
Scalar Dumux::TwoPVEVolumeVariables< Traits >::columnHeight ( ) const
inline

◆ completeFluidStateCoarse()

template<class Traits>
template<class ElemSol, class Problem, class Element, class Scv>
void Dumux::TwoPVEVolumeVariables< Traits >::completeFluidStateCoarse ( const ElemSol & elemSol,
const Problem & problemCoarse,
const Element & element,
const Scv & scv,
FluidState & fluidState,
Scalar temperature,
Scalar pcCoarse,
Scalar gasPlumeDist )
inline
Parameters
elemSola vector containing all primary variables connected to the element
problemCoarsethe object specifying the coarse-level 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
temperatureprescribed column temperature
pcCoarsecoarsened capillary pressure of coarse-level element
gasPlumeDistgas plume distance/height belonging to the coarse-level element

Set temperature, saturations, capillary pressures, viscosities, densities.

◆ density()

template<class Traits>
Scalar Dumux::TwoPVEVolumeVariables< Traits >::density ( 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::TwoPVEVolumeVariables< Traits >::fluidState ( ) const
inline

◆ gasPlumeDist()

template<class Traits>
Scalar Dumux::TwoPVEVolumeVariables< Traits >::gasPlumeDist ( ) const
inline

◆ mobility()

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

◆ numFluidComponents()

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

◆ numFluidPhases()

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

◆ permeability()

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

◆ permeabilityIntegral()

template<class Traits>
PermeabilityType Dumux::TwoPVEVolumeVariables< Traits >::permeabilityIntegral ( ) const
inline

◆ porosity()

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

◆ porosityIntegral()

template<class Traits>
Scalar Dumux::TwoPVEVolumeVariables< Traits >::porosityIntegral ( ) const
inline

◆ pressure()

template<class Traits>
Scalar Dumux::TwoPVEVolumeVariables< Traits >::pressure ( 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

◆ priVars()

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

◆ saturation()

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

◆ temperature()

template<class Traits>
Scalar Dumux::TwoPVEVolumeVariables< Traits >::temperature ( ) const
inline

Note that we assume thermodynamic equilibrium, i.e. the temperature 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::TwoPVEVolumeVariables< 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

◆ viscosity()

template<class Traits>
Scalar Dumux::TwoPVEVolumeVariables< Traits >::viscosity ( int phaseIdx) const
inline
Parameters
phaseIdxthe phase index

◆ wettingPhase()

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

Member Data Documentation

◆ fluidState_

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

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