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 [61] . 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 |