Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility and thermodynamic equilibrium. More...
#include <dumux/material/fluidstates/immiscible.hh>
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility and thermodynamic equilibrium.
Public Types | |
using | Scalar = ScalarType |
export the scalar type More... | |
Public Member Functions | |
ImmiscibleFluidState ()=default | |
default constructor More... | |
template<class FluidState , typename std::enable_if_t<!std::is_same< FluidState, ImmiscibleFluidState >::value, int > = 0> | |
ImmiscibleFluidState (const FluidState &fs) | |
copy constructor from arbitrary fluid state More... | |
ImmiscibleFluidState (const ImmiscibleFluidState &fs)=default | |
ImmiscibleFluidState (ImmiscibleFluidState &&fs)=default | |
ImmiscibleFluidState & | operator= (const ImmiscibleFluidState &fs)=default |
ImmiscibleFluidState & | operator= (ImmiscibleFluidState &&fs)=default |
int | wettingPhase () const |
Returns the index of the most wetting phase in the fluid-solid configuration (for porous medium systems). More... | |
Scalar | saturation (int phaseIdx) const |
Returns the saturation \(S_\alpha\) of a fluid phase \(\alpha\) in \(\mathrm{[-]}\). More... | |
Scalar | moleFraction (int phaseIdx, int compIdx) const |
Returns the molar fraction \(x^\kappa_\alpha\) of the component \(\kappa\) in fluid phase \(\alpha\) in \(\mathrm{[-]}\). More... | |
Scalar | massFraction (int phaseIdx, int compIdx) const |
Returns the mass fraction \(X^\kappa_\alpha\) of component \(\kappa\) in fluid phase \(\alpha\) in \(\mathrm{[-]}\). More... | |
Scalar | averageMolarMass (int phaseIdx) const |
The average molar mass \(\overline M_\alpha\) of phase \(\alpha\) in \(\mathrm{[kg/mol]}\). More... | |
Scalar | molarity (int phaseIdx, int compIdx) const |
The molar concentration \(c^\kappa_\alpha\) of component \(\kappa\) in fluid phase \(\alpha\) in \(\mathrm{[mol/m^3]}\). More... | |
Scalar | fugacity (int phaseIdx, int compIdx) const |
The fugacity \(f^\kappa_\alpha\) of component \(\kappa\) in fluid phase \(\alpha\) in \(\mathrm{[Pa]}\). More... | |
Scalar | fugacityCoefficient (int phaseIdx, int compIdx) const |
The fugacity coefficient \(\Phi^\kappa_\alpha\) of component \(\kappa\) in fluid phase \(\alpha\) in \(\mathrm{[-]}\). More... | |
Scalar | partialPressure (int phaseIdx, int compIdx) const |
The partial pressure of a component in a phase \(\mathrm{[Pa]}\). More... | |
Scalar | molarVolume (int phaseIdx) const |
The molar volume \(v_{mol,\alpha}\) of a fluid phase \(\alpha\) in \(\mathrm{[m^3/mol]}\). More... | |
Scalar | density (int phaseIdx) const |
The mass density \(\rho_\alpha\) of the fluid phase \(\alpha\) in \(\mathrm{[kg/m^3]}\). More... | |
Scalar | molarDensity (int phaseIdx) const |
The molar density \(\rho_{mol,\alpha}\) of a fluid phase \(\alpha\) in \(\mathrm{[mol/m^3]}\). More... | |
Scalar | temperature (int phaseIdx) const |
The absolute temperature \(T_\alpha\) of a fluid phase \(\alpha\) in \(\mathrm{[K]}\). More... | |
Scalar | pressure (int phaseIdx) const |
The pressure \(p_\alpha\) of a fluid phase \(\alpha\) in \(\mathrm{[Pa]}\). More... | |
Scalar | enthalpy (int phaseIdx) const |
The specific enthalpy \(h_\alpha\) of a fluid phase \(\alpha\) in \(\mathrm{[J/kg]}\). More... | |
Scalar | internalEnergy (int phaseIdx) const |
The specific internal energy \(u_\alpha\) of a fluid phase \(\alpha\) in \(\mathrm{[J/kg]}\). More... | |
Scalar | viscosity (int phaseIdx) const |
The dynamic viscosity \(\mu_\alpha\) of fluid phase \(\alpha\) in \(\mathrm{[Pa s]}\). More... | |
Scalar | temperature () const |
The temperature within the domain \(\mathrm{[K]}\). More... | |
Scalar | fugacity (int compIdx) const |
The fugacity of a component \(\mathrm{[Pa]}\). More... | |
template<class FluidState > | |
void | assign (const FluidState &fs) |
Retrieve all parameters from an arbitrary fluid state. More... | |
void | setTemperature (int phaseIdx, Scalar value) |
Set the temperature \(\mathrm{[K]}\) of a fluid phase. More... | |
void | setTemperature (Scalar value) |
Set the temperature \(\mathrm{[K]}\) of a fluid phase. More... | |
void | setPressure (int phaseIdx, Scalar value) |
Set the fluid pressure of a phase \(\mathrm{[Pa]}\). More... | |
void | setSaturation (int phaseIdx, Scalar value) |
Set the saturation of a phase \(\mathrm{[-]}\). More... | |
void | setDensity (int phaseIdx, Scalar value) |
Set the density of a phase \(\mathrm{[kg/m^3]}\). More... | |
void | setMolarDensity (int phaseIdx, Scalar value) |
Set the molar density of a phase \(\mathrm{[kg/m^3]}\). More... | |
void | setEnthalpy (int phaseIdx, Scalar value) |
Set the specific enthalpy of a phase \(\mathrm{[J/kg]}\). More... | |
void | setViscosity (int phaseIdx, Scalar value) |
Set the dynamic viscosity of a phase \(\mathrm{[Pa s]}\). More... | |
void | setWettingPhase (int phaseIdx) |
Set the index of the most wetting phase. More... | |
Static Public Attributes | |
static constexpr int | numPhases = FluidSystem::numPhases |
static constexpr int | numComponents = FluidSystem::numComponents |
Protected Attributes | |
Scalar | pressure_ [numPhases] = {} |
zero-initialize all data members with braces syntax More... | |
Scalar | saturation_ [numPhases] = {} |
Scalar | density_ [numPhases] = {} |
Scalar | molarDensity_ [numPhases] = {} |
Scalar | enthalpy_ [numPhases] = {} |
Scalar | viscosity_ [numPhases] = {} |
Scalar | temperature_ [numPhases] = {} |
int | wPhaseIdx_ {0} |
using Dumux::ImmiscibleFluidState< ScalarType, FluidSystem >::Scalar = ScalarType |
export the scalar type
|
default |
default constructor
|
inline |
copy constructor from arbitrary fluid state
|
default |
|
default |
|
inline |
Retrieve all parameters from an arbitrary fluid state.
fs | Fluidstate |
|
inline |
The average molar mass \(\overline M_\alpha\) of phase \(\alpha\) in \(\mathrm{[kg/mol]}\).
The average molar mass is the mean mass of a mole of the fluid at current composition. It is defined as the sum of the component's molar masses weighted by the current mole fraction:
\[\mathrm{ \overline M_\alpha = \sum_\kappa M^\kappa x_\alpha^\kappa}\]
Since this is an immiscible fluidstate we simply consider the molarMass of the pure component/phase.
|
inline |
The mass density \(\rho_\alpha\) of the fluid phase \(\alpha\) in \(\mathrm{[kg/m^3]}\).
|
inline |
The specific enthalpy \(h_\alpha\) of a fluid phase \(\alpha\) in \(\mathrm{[J/kg]}\).
|
inline |
The fugacity of a component \(\mathrm{[Pa]}\).
This assumes chemical equilibrium.
|
inline |
The fugacity \(f^\kappa_\alpha\) of component \(\kappa\) in fluid phase \(\alpha\) in \(\mathrm{[Pa]}\).
The fugacity is defined as: \(f_\alpha^\kappa := \Phi^\kappa_\alpha x^\kappa_\alpha p_\alpha \;,\) where \(\Phi^\kappa_\alpha\) is the fugacity coefficient [56] . The physical meaning of fugacity becomes clear from the equation:
\[f_\alpha^\kappa = p_\alpha \exp\left\{\frac{\zeta^\kappa_\alpha}{R T_\alpha} \right\} \;,\]
where \(\zeta^\kappa_\alpha\) represents the \(\kappa\)'s chemical potential in phase \(\alpha\), \(R\) stands for the ideal gas constant, and \(T_\alpha\) for the absolute temperature of phase \(\alpha\). Assuming thermal equilibrium, there is a one-to-one mapping between a component's chemical potential \(\zeta^\kappa_\alpha\) and its fugacity \(f^\kappa_\alpha\). In this case chemical equilibrium can thus be expressed by:
\[f^\kappa := f^\kappa_\alpha = f^\kappa_\beta\quad\forall \alpha, \beta\]
To avoid numerical issues with code that assumes miscibility, we return a fugacity of 0 for components which do not mix with the specified phase. (Actually it is undefined, but for finite fugacity coefficients, the only way to get components completely out of a phase is 0 to feed it zero fugacity.)
|
inline |
The fugacity coefficient \(\Phi^\kappa_\alpha\) of component \(\kappa\) in fluid phase \(\alpha\) in \(\mathrm{[-]}\).
Since we assume immiscibility, the fugacity coefficients for the components which are not miscible with the phase is infinite. Beware that this will very likely break your code if you don't keep that in mind.
|
inline |
The specific internal energy \(u_\alpha\) of a fluid phase \(\alpha\) in \(\mathrm{[J/kg]}\).
The specific internal energy is defined by the relation:
\[u_\alpha = h_\alpha - \frac{p_\alpha}{\rho_\alpha}\]
|
inline |
Returns the mass fraction \(X^\kappa_\alpha\) of component \(\kappa\) in fluid phase \(\alpha\) in \(\mathrm{[-]}\).
They are set either 1 or 0 in a phase since this is an immiscible fluidstate.
phaseIdx | the index of the phase |
compIdx | the index of the component |
|
inline |
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} \;.\]
|
inline |
The molar concentration \(c^\kappa_\alpha\) of component \(\kappa\) in fluid phase \(\alpha\) in \(\mathrm{[mol/m^3]}\).
This quantity is usually called "molar concentration" or just "concentration", but there are many other (though less common) measures for concentration.
|
inline |
The molar volume \(v_{mol,\alpha}\) of a fluid phase \(\alpha\) in \(\mathrm{[m^3/mol]}\).
This quantity is the inverse of the molar density.
|
inline |
Returns the molar fraction \(x^\kappa_\alpha\) of the component \(\kappa\) in fluid phase \(\alpha\) in \(\mathrm{[-]}\).
The molar fraction \(x^\kappa_\alpha\) is defined as the ratio of the number of molecules of component \(\kappa\) and the total number of molecules of the phase \(\alpha\). They are set either 1 or 0 in a phase since this is an immiscible fluidstate.
phaseIdx | the index of the phase |
compIdx | the index of the component |
|
default |
|
default |
|
inline |
The partial pressure of a component in a phase \(\mathrm{[Pa]}\).
To avoid numerical issues with code that assumes miscibility, we return a partial pressure of 0 for components which do not mix with the specified phase. Actually it is undefined.
|
inline |
The pressure \(p_\alpha\) of a fluid phase \(\alpha\) in \(\mathrm{[Pa]}\).
|
inline |
Returns the saturation \(S_\alpha\) of a fluid phase \(\alpha\) in \(\mathrm{[-]}\).
The saturation is defined as the pore space occupied by the fluid divided by the total pore space:
\[S_\alpha := \frac{\phi \mathcal{V}_\alpha}{\phi \mathcal{V}}\]
phaseIdx | the index of the phase |
|
inline |
Set the density of a phase \(\mathrm{[kg/m^3]}\).
|
inline |
Set the specific enthalpy of a phase \(\mathrm{[J/kg]}\).
|
inline |
Set the molar density of a phase \(\mathrm{[kg/m^3]}\).
|
inline |
Set the fluid pressure of a phase \(\mathrm{[Pa]}\).
|
inline |
Set the saturation of a phase \(\mathrm{[-]}\).
|
inline |
Set the temperature \(\mathrm{[K]}\) of a fluid phase.
|
inline |
Set the temperature \(\mathrm{[K]}\) of a fluid phase.
|
inline |
Set the dynamic viscosity of a phase \(\mathrm{[Pa s]}\).
|
inline |
Set the index of the most wetting phase.
|
inline |
The temperature within the domain \(\mathrm{[K]}\).
|
inline |
The absolute temperature \(T_\alpha\) of a fluid phase \(\alpha\) in \(\mathrm{[K]}\).
|
inline |
The dynamic viscosity \(\mu_\alpha\) of fluid phase \(\alpha\) in \(\mathrm{[Pa s]}\).
|
inline |
Returns the index of the most wetting phase in the fluid-solid configuration (for porous medium systems).
|
protected |
|
protected |
|
protected |
|
staticconstexpr |
|
staticconstexpr |
|
protected |
zero-initialize all data members with braces syntax
|
protected |
|
protected |
|
protected |
|
protected |