A fluid system for three-phase models assuming immiscibility and thermodynamic equilibrium. More...
#include <dumux/material/fluidsystems/3pimmiscible.hh>
The fluid phases are completely specified by means of their constituting components. The wetting and the nonwetting phase can be defined individually via FluidSystem::OnePLiquid<Scalar, Component>. The gas phase can be defined via FluidSystems::OnePGas<Scalar, Component> These phases consist of one pure component.
Scalar | the scalar type |
WettingFluid | the wetting phase fluid system (use FluidSystem::OnePLiquid<Scalar, Component>) |
NonwettingFluid | the wetting phase fluid system (use FluidSystem::OnePLiquid<Scalar, Component>) |
Gas | the gas phase fluid system (use FluidSystem::OnePGas<Scalar, Component>) |
Public Types | |
using | Scalar = Scalar |
export the scalar type More... | |
using | ParameterCache = NullParameterCache |
The type of parameter cache objects. More... | |
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 | 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 constexpr bool | isIdealGas (int phaseIdx) |
Returns true if and only if a fluid phase is assumed to be an ideal gas. 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 Scalar | criticalTemperature (int compIdx) |
Critical temperature of a component \(\mathrm{[K]}\). More... | |
static Scalar | criticalPressure (int compIdx) |
Critical pressure of a component \(\mathrm{[Pa]}\). More... | |
static Scalar | acentricFactor (int compIdx) |
The acentric factor of a component \(\mathrm{[-]}\). More... | |
static constexpr void | init () |
Initialize the fluid system's static parameters. 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... | |
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 | 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) |
Return the viscosity of a phase \(\mathrm{[Pa*s]}\). More... | |
template<class FluidState > | |
static Scalar | fugacityCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx) |
Calculate the fugacity coefficient \(\mathrm{[-]}\) 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 | 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 | enthalpy (const FluidState &fluidState, int phaseIdx) |
Return the specific enthalpy of a fluid phase \(\mathrm{[J/kg]}\). 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) |
Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\). More... | |
static constexpr bool | isTracerFluidSystem () |
Some properties of the fluid system. More... | |
static constexpr int | getMainComponent (int phaseIdx) |
Get the main component of a given phase if possible. 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 | density (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx) |
Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase. More... | |
static Scalar | molarDensity (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx) |
Calculate the molar density \(\mathrm{[mol/m^3]}\) of 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 Scalar | viscosity (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx) |
Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\). More... | |
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... | |
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... | |
static Scalar | enthalpy (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx) |
Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\). More... | |
static Scalar | thermalConductivity (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx) |
Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\). More... | |
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... | |
Static Public Attributes | |
static constexpr int | numPhases = 3 |
Number of phases in the fluid system. More... | |
static constexpr int | wPhaseIdx = 0 |
Index of the wetting phase. More... | |
static constexpr int | nPhaseIdx = 1 |
Index of the nonwetting phase. More... | |
static constexpr int | gPhaseIdx = 2 |
Index of the gas phase. More... | |
static constexpr int | numComponents = 3 |
Number of components in the fluid system. More... | |
static constexpr int | wCompIdx = 0 |
Index of the wetting phase's component. More... | |
static constexpr int | nCompIdx = 1 |
Index of the nonwetting phase's component. More... | |
static constexpr int | gCompIdx = 2 |
Index of the gas phase's component. More... | |
|
inherited |
|
inherited |
|
inlinestatic |
compIdx | index of the component |
|
inlinestaticinherited |
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 |
fluidState | The fluid state of the two-phase model |
phaseIdx | Index of the fluid phase |
compIIdx | index of the component i |
compJIdx | index of the component j |
|
inlinestatic |
compIdx | index of the component |
|
inlinestatic |
compIdx | index of the component |
|
inlinestatic |
compIdx | index of the component |
|
inlinestaticinherited |
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
|
inlinestaticinherited |
Molecular diffusion of a component \(\mathrm{\kappa}\) is caused by a gradient of the chemical potential and follows the law
\[ J = - D \nabla \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.
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
compIdx | Index of the component |
|
inlinestatic |
fluidState | The fluid state of the two-phase model |
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 \nabla \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.
|
inlinestaticinherited |
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
fluidState | The fluid state of the two-phase model |
phaseIdx | Index of the fluid phase |
|
inlinestaticinherited |
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 |
|
inlinestatic |
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 of the two-phase model |
phaseIdx | Index of the fluid phase |
compIdx | index of the component |
|
inlinestaticconstexprinherited |
phaseIdx | The index of the fluid phase to consider |
|
inlinestaticinherited |
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} \)
fluidState | represents all relevant thermodynamic quantities of a fluid system |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
Additional comments:
Specific isobaric heat capacity of a fluid phase. \(\mathrm{[J/(kg*K)]}\).
fluidState | The fluid state of the two-phase model |
phaseIdx | for which phase to give back the heat capacity |
|
inlinestaticconstexpr |
|
inlinestatic |
tempMin | The minimum temperature used for tabulation of water \(\mathrm{[K]}\) |
tempMax | The maximum temperature used for tabulation of water \(\mathrm{[K]}\) |
nTemp | The number of ticks on the temperature axis of the table of water |
pressMin | The minimum pressure used for tabulation of water \(\mathrm{[Pa]}\) |
pressMax | The maximum pressure used for tabulation of water \(\mathrm{[Pa]}\) |
nPress | The number of ticks on the pressure axis of the table of water |
|
inlinestaticconstexpr |
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 |
phaseIdx | The index of the fluid phase to consider |
|
inlinestaticconstexpr |
phaseIdx | The index of the fluid phase to consider |
|
inlinestaticconstexpr |
phaseIdx | The index of the fluid phase to consider |
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 immiscibility is assumed. 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.
|
inlinestaticconstexpr |
|
inlinestaticconstexprinherited |
If the fluid system only contains tracer components
|
inlinestaticinherited |
The molar density is defined by the mass density \(\rho_\alpha\) and the component molar mass \(M_\alpha\) after
\[\rho_{mol,\alpha} = \frac{\rho_\alpha}{M_\alpha} \;.\]
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
The molar density is defined by the mass density \(\rho_\alpha\) and the component molar mass \(M_\alpha\):
\[\rho_{mol,\alpha} = \frac{\rho_\alpha}{M_\alpha} \;.\]
|
inlinestatic |
compIdx | index of the component |
|
inlinestatic |
phaseIdx | The index of the fluid phase to consider |
|
inlinestaticinherited |
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
fluidState | The fluid state of the two-phase model |
phaseIdx | Index of the fluid phase |
|
inlinestaticinherited |
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
fluidState | The fluid state of the two-phase model |
phaseIdx | Index of the fluid phase |
|
inlinestaticconstexprinherited |
phaseIdx | The index of the fluid phase to consider |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |