A compositional fluid system with water and heavy oil components in both the liquid and the gas phase. More...
#include <dumux/material/fluidsystems/h2oheavyoil.hh>
A compositional fluid system with water and heavy oil components in both the liquid and the gas phase.
Public Types | |
using | HeavyOil = Dumux::Components::HeavyOil< Scalar > |
using | H2O = H2OType |
using | Scalar = Scalar |
export the scalar type More... | |
using | ParameterCache = NullParameterCache |
The type of parameter cache objects. More... | |
Static Public Member Functions | |
static void | init () |
Initialize the fluid system's static parameters generically. More... | |
static void | init (Scalar tempMin, Scalar tempMax, unsigned nTemp, Scalar pressMin, Scalar pressMax, unsigned nPress) |
Initialize the fluid system's static parameters using problem specific temperature and pressure ranges. More... | |
static constexpr int | getMainComponent (int phaseIdx) |
Get the main component of a given 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 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 | phaseName (int phaseIdx) |
Return the human readable name of a phase (used in indices) More... | |
static std::string | componentName (int compIdx) |
Return the human readable name of a component (used in indices) More... | |
static Scalar | molarMass (int compIdx) |
Return the molar mass of a component in [kg/mol]. More... | |
template<class FluidState > | |
static Scalar | density (const FluidState &fluidState, int phaseIdx) |
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) |
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 | diffusionCoefficient (const FluidState &fluidState, int phaseIdx) |
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 | henryCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx) |
Henry coefficients \([N/m^2]\) of a component in a phase. More... | |
template<class FluidState > | |
static Scalar | partialPressureGas (const FluidState &fluidState, int phaseIdx, int compIdx) |
Partial pressures in the gas phase, taken from saturation vapor pressures. More... | |
template<class FluidState > | |
static Scalar | inverseVaporPressureCurve (const FluidState &fluidState, int phaseIdx, int compIdx) |
Inverse vapor pressures, taken from inverse saturation vapor pressures. More... | |
template<class FluidState > | |
static Scalar | enthalpy (const FluidState &fluidState, int phaseIdx) |
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 | heatCapacity (const FluidState &fluidState, int phaseIdx) |
template<class FluidState > | |
static Scalar | thermalConductivity (const FluidState &fluidState, int phaseIdx) |
template<class FluidState > | |
static Scalar | density (const FluidState &fluidState, int phaseIdx) |
Given all mole fractions in a phase, return the phase density [kg/m^3]. More... | |
template<class FluidState > | |
static Scalar | density (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx) |
Given all mole fractions in a phase, return the phase density [kg/m^3]. 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 ¶mCache, 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) |
Return the viscosity of a phase. More... | |
template<class FluidState > | |
static Scalar | viscosity (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx) |
Return the viscosity of a phase. 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 ¶mCache, 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 | 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 ¶mCache, 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 | enthalpy (const FluidState &fluidState, int phaseIdx) |
Given all mole fractions in a phase, return the specific phase enthalpy \(\mathrm{[J/kg]}\). More... | |
template<class FluidState > | |
static Scalar | enthalpy (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx) |
Given all mole fractions in a phase, return the specific phase enthalpy \(\mathrm{[J/kg]}\). 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 ¶mCache, int phaseIdx) |
Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\). 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 | thermalConductivity (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx) |
Thermal conductivity of a fluid phase \(\mathrm{[W/(m K)]}\). More... | |
static constexpr bool | isTracerFluidSystem () |
Some properties of the fluid system. More... | |
static constexpr bool | viscosityIsConstant (int phaseIdx) |
Returns true if and only if a fluid phase is assumed to have a constant viscosity. More... | |
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... | |
static Scalar | fugacityCoefficient (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx, int compIdx) |
Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase. More... | |
Static Public Attributes | |
static const int | numPhases = 3 |
static const int | numComponents = 2 |
static const int | wPhaseIdx = 0 |
static const int | nPhaseIdx = 1 |
static const int | gPhaseIdx = 2 |
static const int | H2OIdx = 0 |
static const int | NAPLIdx = 1 |
static const int | wCompIdx = H2OIdx |
static const int | nCompIdx = NAPLIdx |
using Dumux::FluidSystems::H2OHeavyOil< Scalar, H2OType >::H2O = H2OType |
using Dumux::FluidSystems::H2OHeavyOil< Scalar, H2OType >::HeavyOil = Dumux::Components::HeavyOil<Scalar> |
|
inherited |
The type of parameter cache objects.
|
inherited |
export the scalar type
|
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.
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
compIIdx | Index of the component i |
compJIdx | Index of the component j |
|
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.
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
compIIdx | Index of the component i |
compJIdx | Index of the component j |
|
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.
Be aware that in this case there are only two components in three phases. Therefore, we assume the diffusion to simply be the binary diffusion coefficients. This was previously implemented in diffusionCoefficient(), but is now moved.
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
compIIdx | Index of the component i |
compJIdx | Index of the component j |
|
inlinestatic |
Returns the specific enthalpy \(\mathrm{[J/kg]}\) of a component in a specific phase.
fluidState | The fluid state |
phaseIdx | The index of the phase |
componentIdx | The index of the component |
|
inlinestatic |
Return the human readable name of a component (used in indices)
|
inlinestatic |
Given all mole fractions in a phase, return the phase density [kg/m^3].
|
inlinestatic |
Given all mole fractions in a phase, return the phase density [kg/m^3].
|
inlinestatic |
|
inlinestatic |
Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\).
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
compIdx | Index 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.
|
inlinestatic |
Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\).
fluidState | The fluid state |
phaseIdx | Index of the fluid phase 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.
|
inlinestatic |
Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\).
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
compIdx | Index 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.
|
inlinestatic |
Given all mole fractions in a phase, return the specific phase enthalpy \(\mathrm{[J/kg]}\).
|
inlinestatic |
Given all mole fractions in a phase, return the specific phase enthalpy \(\mathrm{[J/kg]}\).
|
inlinestatic |
|
inlinestaticinherited |
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 \]
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
compIdx | Index of the component |
|
inlinestaticinherited |
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 \]
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
compIdx | Index of the component |
|
inlinestaticconstexpr |
Get the main component of a given phase.
phaseIdx | The index of the fluid phase to consider |
|
inlinestatic |
Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\).
fluidState | represents all relevant thermodynamic quantities of a fluid system |
paramCache | mutable parameters |
phaseIdx | Index 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} \)
|
inlinestatic |
Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\).
fluidState | represents all relevant thermodynamic quantities of a fluid system |
phaseIdx | Index 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} \)
|
inlinestatic |
|
inlinestatic |
Henry coefficients \([N/m^2]\) of a component in a phase.
|
inlinestatic |
Initialize the fluid system's static parameters generically.
If a tabulated H2O component is used, we do our best to create tables that always work.
|
inlinestatic |
Initialize the fluid system's static parameters using problem specific temperature and pressure ranges.
tempMin | The minimum temperature used for tabulation of water [K] |
tempMax | The maximum temperature used for tabulation of water [K] |
nTemp | The number of ticks on the temperature axis of the table of water |
pressMin | The minimum pressure used for tabulation of water [Pa] |
pressMax | The maximum pressure used for tabulation of water [Pa] |
nPress | The number of ticks on the pressure axis of the table of water |
|
inlinestatic |
Inverse vapor pressures, taken from inverse saturation vapor pressures.
|
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.
phaseIdx | The index of the fluid phase to consider |
|
inlinestaticconstexpr |
Return whether a phase is gaseous.
phaseIdx | The index of the fluid phase to consider |
|
inlinestatic |
Returns true if and only if a fluid phase is assumed to be an ideal gas.
phaseIdx | The index of the fluid phase to consider |
|
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 indepent on the fluid composition. This assumtion 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.
phaseIdx | The index of the fluid phase to consider |
|
inlinestaticconstexpr |
Returns whether the fluids are miscible.
|
inlinestaticconstexprinherited |
Some properties of the fluid system.
If the fluid system only contains tracer components
|
inlinestatic |
Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase.
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase.
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
|
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} \;.\]
|
inlinestatic |
Return the molar mass of a component in [kg/mol].
|
inlinestatic |
Partial pressures in the gas phase, taken from saturation vapor pressures.
|
inlinestatic |
Return the human readable name of a phase (used in indices)
|
inlinestatic |
Thermal conductivity of a fluid phase \(\mathrm{[W/(m K)]}\).
Use the conductivity of water (wPhase and gPhase) and oil (nPhase) as a first approximation.
fluidState | An arbitrary fluid state |
phaseIdx | The index of the fluid phase to consider |
|
inlinestatic |
Thermal conductivity of a fluid phase \(\mathrm{[W/(m K)]}\).
Use the conductivity of water (wPhase and gPhase) and oil (nPhase) as a first approximation.
fluidState | An arbitrary fluid state |
phaseIdx | The index of the fluid phase to consider |
|
inlinestatic |
|
inlinestatic |
Return the viscosity of a phase.
|
inlinestatic |
Return the viscosity of a phase.
|
inlinestatic |
|
inlinestaticconstexprinherited |
Returns true if and only if a fluid phase is assumed to have a constant viscosity.
phaseIdx | The index of the fluid phase to consider |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |