3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Classes | Public Types | Static Public Member Functions | Static Public Attributes | List of all members
Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy > Class Template Reference

A compositional fluid with brine (H2O & NaCl) and carbon dioxide as components in both the liquid and the gas (supercritical) phase. More...

#include <dumux/material/fluidsystems/brineco2.hh>

Inheritance diagram for Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >:
Inheritance graph

Description

template<class Scalar, class CO2Table, class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
class Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >

A compositional fluid with brine (H2O & NaCl) and carbon dioxide as components in both the liquid and the gas (supercritical) phase.

Note
Depending on the chosen policy, the salinity is assumed to be constant (in which case Brine is used as a pseudo component) or salt (here NaCl) is considered as an individual component.
This implemetation always assumes NaCl stays in the liquid phase.

Public Types

using ParameterCache = NullParameterCache
 
using H2O = H2OType
 
using Brine = BrineType
 
using CO2 = Dumux::Components::CO2< Scalar, CO2Table >
 

Static Public Member Functions

static std::string phaseName (int phaseIdx)
 Return the human readable name of a fluid phase. More...
 
static constexpr bool isMiscible ()
 Returns whether the fluids are miscible. More...
 
static constexpr bool isGas (int phaseIdx)
 Return whether a phase is gaseous. More...
 
static constexpr bool isIdealGas (int phaseIdx)
 Returns true if and only if a fluid phase is assumed to be an ideal gas. More...
 
static bool isIdealMixture (int phaseIdx)
 Returns true if and only if a fluid phase is assumed to be an ideal mixture. More...
 
static constexpr bool isCompressible (int phaseIdx)
 Returns true if and only if a fluid phase is assumed to be compressible. More...
 
static std::string componentName (int compIdx)
 Return the human readable name of a component. More...
 
static Scalar molarMass (int compIdx)
 Return the molar mass of a component in \(\mathrm{[kg/mol]}\). More...
 
static void init ()
 
static void init (Scalar startTemp, Scalar endTemp, int tempSteps, Scalar startPressure, Scalar endPressure, int pressureSteps)
 
template<class FluidState >
static Scalar density (const FluidState &fluidState, int phaseIdx)
 Given a phase's composition, temperature, pressure, and the partial pressures of all components, return its density \(\mathrm{[kg/m^3]}\). More...
 
template<class FluidState >
static Scalar molarDensity (const FluidState &fluidState, int phaseIdx)
 The molar density \(\rho_{mol,\alpha}\) of a fluid phase \(\alpha\) in \(\mathrm{[mol/m^3]}\). More...
 
template<class FluidState >
static Scalar viscosity (const FluidState &fluidState, int phaseIdx)
 Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\). More...
 
template<class FluidState >
static Scalar fugacityCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx)
 Returns the fugacity coefficient \(\mathrm{[-]}\) of a component in a phase. More...
 
template<class FluidState >
static Scalar equilibriumMoleFraction (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Returns the equilibrium concentration of the dissolved component in a phase. More...
 
template<class FluidState >
static Scalar diffusionCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx)
 Calculate the molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\). More...
 
template<class FluidState >
static Scalar binaryDiffusionCoefficient (const FluidState &fluidState, int phaseIdx, int compIIdx, int compJIdx)
 Given the phase compositions, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) of two components in a phase. More...
 
template<class FluidState >
static Scalar enthalpy (const FluidState &fluidState, int phaseIdx)
 Given the phase composition, return the specific phase enthalpy \(\mathrm{[J/kg]}\). More...
 
template<class FluidState >
static Scalar componentEnthalpy (const FluidState &fluidState, int phaseIdx, int componentIdx)
 Returns the specific enthalpy \(\mathrm{[J/kg]}\) of a component in a specific phase. More...
 
template<class FluidState >
static Scalar thermalConductivity (const FluidState &fluidState, int phaseIdx)
 Thermal conductivity of a fluid phase \(\mathrm{[W/(m K)]}\). More...
 
template<class FluidState >
static Scalar heatCapacity (const FluidState &fluidState, int phaseIdx)
 Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\). More...
 
template<class FluidState >
static Scalar density (const FluidState &fluidState, int phaseIdx)
 Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase. More...
 
template<class FluidState >
static Scalar density (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase. More...
 
template<class FluidState >
static Scalar molarDensity (const FluidState &fluidState, int phaseIdx)
 Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase. More...
 
template<class FluidState >
static Scalar molarDensity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase. More...
 
template<class FluidState >
static Scalar viscosity (const FluidState &fluidState, int phaseIdx)
 Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\). More...
 
template<class FluidState >
static Scalar viscosity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\). More...
 
template<class FluidState >
static Scalar fugacityCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx)
 Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase. More...
 
template<class FluidState >
static Scalar fugacityCoefficient (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx, int compIdx)
 Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase. More...
 
template<class FluidState >
static Scalar diffusionCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx)
 Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\). More...
 
template<class FluidState >
static Scalar diffusionCoefficient (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx, int compIdx)
 Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\). More...
 
template<class FluidState >
static Scalar binaryDiffusionCoefficient (const FluidState &fluidState, int phaseIdx, int compIIdx, int compJIdx)
 Given a phase's composition, temperature and pressure, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) for components \(\mathrm{i}\) and \(\mathrm{j}\) in this phase. More...
 
template<class FluidState >
static Scalar binaryDiffusionCoefficient (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx, int compIIdx, int compJIdx)
 Given a phase's composition, temperature and pressure, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) for components \(\mathrm{i}\) and \(\mathrm{j}\) in this phase. More...
 
template<class FluidState >
static Scalar enthalpy (const FluidState &fluidState, int phaseIdx)
 Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\). More...
 
template<class FluidState >
static Scalar enthalpy (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\). More...
 
template<class FluidState >
static Scalar thermalConductivity (const FluidState &fluidState, int phaseIdx)
 Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\). More...
 
template<class FluidState >
static Scalar thermalConductivity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\). More...
 
template<class FluidState >
static Scalar heatCapacity (const FluidState &fluidState, int phaseIdx)
 Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\). More...
 
template<class FluidState >
static Scalar heatCapacity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\). More...
 

Static Public Attributes

static constexpr int numComponents = useConstantSalinity ? 2 : 3
 
static constexpr int numPhases = 2
 
static constexpr int liquidPhaseIdx = 0
 index of the liquid phase More...
 
static constexpr int gasPhaseIdx = 1
 index of the gas phase More...
 
static constexpr int phase0Idx = liquidPhaseIdx
 index of the first phase More...
 
static constexpr int phase1Idx = gasPhaseIdx
 index of the second phase More...
 
static constexpr int comp0Idx = 0
 
static constexpr int comp1Idx = 1
 
static constexpr int CO2Idx = comp1Idx
 

Member Typedef Documentation

◆ Brine

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
using Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::Brine = BrineType

◆ CO2

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
using Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::CO2 = Dumux::Components::CO2<Scalar, CO2Table>

◆ H2O

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
using Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::H2O = H2OType

◆ ParameterCache

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
using Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::ParameterCache = NullParameterCache

Member Function Documentation

◆ binaryDiffusionCoefficient() [1/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::binaryDiffusionCoefficient ( const FluidState &  fluidState,
const ParameterCache paramCache,
int  phaseIdx,
int  compIIdx,
int  compJIdx 
)
inlinestatic

Given a phase's composition, temperature and pressure, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) for components \(\mathrm{i}\) and \(\mathrm{j}\) in this phase.

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase
compIIdxIndex of the component i
compJIdxIndex of the component j

◆ binaryDiffusionCoefficient() [2/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::binaryDiffusionCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIIdx,
int  compJIdx 
)
inlinestatic

Given a phase's composition, temperature and pressure, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) for components \(\mathrm{i}\) and \(\mathrm{j}\) in this phase.

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase
compIIdxIndex of the component i
compJIdxIndex of the component j

◆ binaryDiffusionCoefficient() [3/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::binaryDiffusionCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIIdx,
int  compJIdx 
)
inlinestatic

Given the phase compositions, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) of two components in a phase.

Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider
compIIdxIndex of the component i
compJIdxIndex of the component j

◆ componentEnthalpy()

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::componentEnthalpy ( const FluidState &  fluidState,
int  phaseIdx,
int  componentIdx 
)
inlinestatic

Returns the specific enthalpy \(\mathrm{[J/kg]}\) of a component in a specific phase.

Parameters
fluidStateThe fluid state
phaseIdxThe index of the phase
componentIdxThe index of the component

◆ componentName()

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
static std::string Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::componentName ( int  compIdx)
inlinestatic

Return the human readable name of a component.

Parameters
compIdxThe index of the component to consider

◆ density() [1/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::density ( const FluidState &  fluidState,
const ParameterCache paramCache,
int  phaseIdx 
)
inlinestatic

Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase.

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase

◆ density() [2/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::density ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase.

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase

◆ density() [3/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::density ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Given a phase's composition, temperature, pressure, and the partial pressures of all components, return its density \(\mathrm{[kg/m^3]}\).

Parameters
fluidStateThe fluid state
phaseIdxThe index of the phase

◆ diffusionCoefficient() [1/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::diffusionCoefficient ( const FluidState &  fluidState,
const ParameterCache paramCache,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\).

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase
compIdxIndex of the component Molecular diffusion of a component \(\mathrm{\kappa}\) is caused by a gradient of the chemical potential and follows the law

\[ J = - D \mathbf{grad} \mu_\kappa \]

where \(\mathrm{\mu_\kappa}\) is the component's chemical potential, \(\mathrm{D}\) is the diffusion coefficient and \(\mathrm{J}\) is the diffusive flux. \(\mathrm{\mu_\kappa}\) is connected to the component's fugacity \(\mathrm{f_\kappa}\) by the relation

\[ \mu_\kappa = R T_\alpha \mathrm{ln} \frac{f_\kappa}{p_\alpha} \]

where \(\mathrm{p_\alpha}\) and \(\mathrm{T_\alpha}\) are the fluid phase' pressure and temperature.

◆ diffusionCoefficient() [2/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::diffusionCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\).

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase
compIdxIndex of the component Molecular diffusion of a component \(\mathrm{\kappa}\) is caused by a gradient of the chemical potential and follows the law

\[ J = - D \mathbf{grad} \mu_\kappa \]

where \(\mathrm{\mu_\kappa}\) is the component's chemical potential, \(\mathrm{D}\) is the diffusion coefficient and \(\mathrm{J}\) is the diffusive flux. \(\mathrm{\mu_\kappa}\) is connected to the component's fugacity \(\mathrm{f_\kappa}\) by the relation

\[ \mu_\kappa = R T_\alpha \mathrm{ln} \frac{f_\kappa}{p_\alpha} \]

where \(\mathrm{p_\alpha}\) and \(\mathrm{T_\alpha}\) are the fluid phase' pressure and temperature.

◆ diffusionCoefficient() [3/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::diffusionCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Calculate the molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\).

Molecular diffusion of a compoent \(\mathrm{\kappa}\) is caused by a gradient of the chemical potential and follows the law

\[ J = - D \textbf{grad} mu_\kappa \]

where \(\mathrm{\mu_\kappa}\) is the component's chemical potential, \(D\) is the diffusion coefficient and \(\mathrm{J}\) is the diffusive flux. \(\mathrm{mu_\kappa}\) is connected to the component's fugacity \(\mathrm{f_\kappa}\) by the relation

\[ \mu_\kappa = R T_\alpha \mathrm{ln} \frac{f_\kappa}{p_\alpha} \]

where \(\mathrm{p_\alpha}\) and \(\mathrm{T_\alpha}\) are the fluid phase' pressure and temperature.

Maybe see http://www.ddbst.de/en/EED/PCP/DIF_C1050.php

Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider
compIdxThe index of the component to consider

◆ enthalpy() [1/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::enthalpy ( const FluidState &  fluidState,
const ParameterCache paramCache,
int  phaseIdx 
)
inlinestatic

Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\).

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase

◆ enthalpy() [2/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::enthalpy ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\).

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase

◆ enthalpy() [3/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::enthalpy ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Given the phase composition, return the specific phase enthalpy \(\mathrm{[J/kg]}\).

Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider

◆ equilibriumMoleFraction()

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::equilibriumMoleFraction ( const FluidState &  fluidState,
const ParameterCache paramCache,
int  phaseIdx 
)
inlinestatic

Returns the equilibrium concentration of the dissolved component in a phase.

Parameters
fluidStateAn arbitrary fluid state
paramCacheParameter cache
phaseIdxThe index of the fluid phase to consider

◆ fugacityCoefficient() [1/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::fugacityCoefficient ( const FluidState &  fluidState,
const ParameterCache paramCache,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase.

The fugacity coefficient \(\mathrm{\phi^\kappa_\alpha}\) is connected to the fugacity \(\mathrm{f^\kappa_\alpha}\) and the component's mole fraction \(\mathrm{x^\kappa_\alpha}\) by means of the relation

\[ f^\kappa_\alpha = \phi^\kappa_\alpha\;x^\kappa_\alpha\;p_\alpha \]

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase
compIdxIndex of the component

◆ fugacityCoefficient() [2/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::fugacityCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase.

The fugacity coefficient \(\mathrm{\phi^\kappa_\alpha}\) is connected to the fugacity \(\mathrm{f^\kappa_\alpha}\) and the component's mole fraction \(\mathrm{x^\kappa_\alpha}\) by means of the relation

\[ f^\kappa_\alpha = \phi^\kappa_\alpha\;x^\kappa_\alpha\;p_\alpha \]

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase
compIdxIndex of the component

◆ fugacityCoefficient() [3/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::fugacityCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Returns the fugacity coefficient \(\mathrm{[-]}\) of a component in a phase.

The fugacity coefficient \(\mathrm{\phi^\kappa_\alpha}\) of component \(\mathrm{\kappa}\) in phase \(\mathrm{\alpha}\) is connected to the fugacity \(\mathrm{f^\kappa_\alpha}\) and the component's mole fraction \(\mathrm{x^\kappa_\alpha}\) by means of the relation

\[ f^\kappa_\alpha = \phi^\kappa_\alpha\;x^\kappa_\alpha\;p_\alpha \]

where \(\mathrm{p_\alpha}\) is the pressure of the fluid phase.

The fugacity itself is just an other way to express the chemical potential \(\mathrm{\zeta^\kappa_\alpha}\) of the component:

\[ f^\kappa_\alpha := \exp\left\{\frac{\zeta^\kappa_\alpha}{k_B T_\alpha} \right\} \]

where \(\mathrm{k_B}\) is Boltzmann's constant.

Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider
compIdxThe index of the component

◆ heatCapacity() [1/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::heatCapacity ( const FluidState &  fluidState,
const ParameterCache paramCache,
int  phaseIdx 
)
inlinestatic

Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\).

Parameters
fluidStaterepresents all relevant thermodynamic quantities of a fluid system
paramCachemutable parameters
phaseIdxIndex of the fluid phase

Given a fluid state, an up-to-date parameter cache and a phase index, this method computes the isobaric heat capacity \(c_{p,\alpha}\) of the fluid phase. The isobaric heat capacity is defined as the partial derivative of the specific enthalpy \(h_\alpha\) to the fluid pressure \(p_\alpha\):

\( c_{p,\alpha} = \frac{\partial h_\alpha}{\partial p_\alpha} \)

◆ heatCapacity() [2/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::heatCapacity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\).

Parameters
fluidStaterepresents all relevant thermodynamic quantities of a fluid system
phaseIdxIndex of the fluid phase

Given a fluid state, an up-to-date parameter cache and a phase index, this method computes the isobaric heat capacity \(c_{p,\alpha}\) of the fluid phase. The isobaric heat capacity is defined as the partial derivative of the specific enthalpy \(h_\alpha\) to the fluid pressure \(p_\alpha\):

\( c_{p,\alpha} = \frac{\partial h_\alpha}{\partial p_\alpha} \)

◆ heatCapacity() [3/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::heatCapacity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\).

Note
We employ the heat capacity of the pure phases.
Todo:
TODO Implement heat capacity for gaseous CO2
Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider

◆ init() [1/2]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
static void Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::init ( )
inlinestatic

◆ init() [2/2]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
static void Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::init ( Scalar  startTemp,
Scalar  endTemp,
int  tempSteps,
Scalar  startPressure,
Scalar  endPressure,
int  pressureSteps 
)
inlinestatic

◆ isCompressible()

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
static constexpr bool Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::isCompressible ( int  phaseIdx)
inlinestaticconstexpr

Returns true if and only if a fluid phase is assumed to be compressible.

Compressible means that the partial derivative of the density to the fluid pressure is always larger than zero.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ isGas()

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
static constexpr bool Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::isGas ( int  phaseIdx)
inlinestaticconstexpr

Return whether a phase is gaseous.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ isIdealGas()

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
static constexpr bool Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::isIdealGas ( int  phaseIdx)
inlinestaticconstexpr

Returns true if and only if a fluid phase is assumed to be an ideal gas.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ isIdealMixture()

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
static bool Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::isIdealMixture ( int  phaseIdx)
inlinestatic

Returns true if and only if a fluid phase is assumed to be an ideal mixture.

We define an ideal mixture as a fluid phase where the fugacity coefficients of all components times the pressure of the phase are independent on the fluid composition. This assumption is true if Henry's law and Raoult's law apply. If you are unsure what this function should return, it is safe to return false. The only damage done will be (slightly) increased computation times in some cases.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ isMiscible()

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
static constexpr bool Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::isMiscible ( )
inlinestaticconstexpr

Returns whether the fluids are miscible.

◆ molarDensity() [1/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::molarDensity ( const FluidState &  fluidState,
const ParameterCache paramCache,
int  phaseIdx 
)
inlinestatic

Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase.

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase

◆ molarDensity() [2/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::molarDensity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase.

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase

◆ molarDensity() [3/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::molarDensity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

The molar density \(\rho_{mol,\alpha}\) of a fluid phase \(\alpha\) in \(\mathrm{[mol/m^3]}\).

The molar density is defined by the mass density \(\rho_\alpha\) and the mean molar mass \(\overline M_\alpha\):

\[\rho_{mol,\alpha} = \frac{\rho_\alpha}{\overline M_\alpha} \;.\]

◆ molarMass()

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::molarMass ( int  compIdx)
inlinestatic

Return the molar mass of a component in \(\mathrm{[kg/mol]}\).

Parameters
compIdxThe index of the component to consider

◆ phaseName()

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
static std::string Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::phaseName ( int  phaseIdx)
inlinestatic

Return the human readable name of a fluid phase.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ thermalConductivity() [1/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::thermalConductivity ( const FluidState &  fluidState,
const ParameterCache paramCache,
int  phaseIdx 
)
inlinestatic

Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\).

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase

◆ thermalConductivity() [2/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::thermalConductivity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\).

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase

◆ thermalConductivity() [3/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::thermalConductivity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Thermal conductivity of a fluid phase \(\mathrm{[W/(m K)]}\).

Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider
Note
For the thermal conductivity of the phases the contribution of the minor component is neglected. This contribution is probably not big, but somebody would have to find out its influence.

◆ viscosity() [1/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::viscosity ( const FluidState &  fluidState,
const ParameterCache paramCache,
int  phaseIdx 
)
inlinestatic

Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\).

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase

◆ viscosity() [2/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::viscosity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\).

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase

◆ viscosity() [3/3]

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
template<class FluidState >
static Scalar Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::viscosity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\).

Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider
Note
For the viscosity of the phases the contribution of the minor component is neglected. This contribution is probably not big, but somebody would have to find out its influence.

Member Data Documentation

◆ CO2Idx

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
constexpr int Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::CO2Idx = comp1Idx
staticconstexpr

◆ comp0Idx

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
constexpr int Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::comp0Idx = 0
staticconstexpr

◆ comp1Idx

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
constexpr int Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::comp1Idx = 1
staticconstexpr

◆ gasPhaseIdx

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
constexpr int Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::gasPhaseIdx = 1
staticconstexpr

index of the gas phase

◆ liquidPhaseIdx

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
constexpr int Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::liquidPhaseIdx = 0
staticconstexpr

index of the liquid phase

◆ numComponents

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
constexpr int Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::numComponents = useConstantSalinity ? 2 : 3
staticconstexpr

◆ numPhases

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
constexpr int Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::numPhases = 2
staticconstexpr

◆ phase0Idx

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
constexpr int Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::phase0Idx = liquidPhaseIdx
staticconstexpr

index of the first phase

◆ phase1Idx

template<class Scalar , class CO2Table , class H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>, class Policy = BrineCO2DefaultPolicy<true>>
constexpr int Dumux::FluidSystems::BrineCO2< Scalar, CO2Table, H2OType, Policy >::phase1Idx = gasPhaseIdx
staticconstexpr

index of the second phase


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