An adapter for multi-phase fluid systems to be used with (compositional) one-phase models. More...
#include <dumux/material/fluidsystems/1padapter.hh>
MPFluidSystem | the multi-phase fluid system to be adapted |
phase | the index of the phase we choose from the multi-phase fluid system |
Public Types | |
using | Scalar = typename MPFluidSystem::Scalar |
using | ParameterCache = NullParameterCache |
using | MultiPhaseFluidSystem = MPFluidSystem |
export the wrapped MultiPhaseFluidSystem type More... | |
Static Public Member Functions | |
static constexpr int | compIdx (int multiPhaseFluidSystemCompIdx) |
convert a component index of the multi-phase component index to the actual component index More... | |
template<class ... Args> | |
static void | init (Args &&... args) |
Initialize the fluid system's static parameters generically. More... | |
static std::string | phaseName (int phaseIdx=0) |
Return the human readable name of a fluid phase. More... | |
static std::string | componentName (int compIdx) |
A human readable name for the component. More... | |
static std::string | name () |
A human readable name for the component. More... | |
static constexpr bool | isMiscible () |
There is only one phase, so no mass transfer between phases can occur. More... | |
static constexpr bool | isGas (int phaseIdx=0) |
Returns whether the fluid is gaseous. More... | |
static constexpr bool | isIdealMixture (int phaseIdx=0) |
Returns true if and only if a fluid phase is assumed to be an ideal mixture. More... | |
static constexpr bool | isCompressible (int phaseIdx=0) |
Returns true if the fluid is assumed to be compressible. More... | |
static constexpr bool | viscosityIsConstant (int phaseIdx=0) |
Returns true if the fluid viscosity is constant. More... | |
static constexpr bool | isIdealGas (int phaseIdx=0) |
Returns true if the fluid is assumed to be an ideal gas. More... | |
static Scalar | molarMass (int compIdx) |
The mass in \(\mathrm{[kg]}\) of one mole of the component. More... | |
template<class FluidState > | |
static Scalar | density (const FluidState &fluidState, int phaseIdx=0) |
Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase. More... | |
template<class FluidState > | |
static Scalar | molarDensity (const FluidState &fluidState, int phaseIdx=0) |
Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase. More... | |
template<class FluidState > | |
static Scalar | enthalpy (const FluidState &fluidState, int phaseIdx=0) |
Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\). More... | |
template<class FluidState > | |
static Scalar | componentEnthalpy (const FluidState &fluidState, int phaseIdx, int compIdx) |
Returns the specific enthalpy \(\mathrm{[J/kg]}\) of a component in a specific phase. More... | |
template<class FluidState > | |
static Scalar | viscosity (const FluidState &fluidState, int phaseIdx=0) |
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 | 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 | thermalConductivity (const FluidState &fluidState, int phaseIdx=0) |
Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\). More... | |
template<class FluidState > | |
static Scalar | heatCapacity (const FluidState &fluidState, int phaseIdx=0) |
Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*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 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 | multiphaseFluidsystemPhaseIdx = phase |
the index of the phase we choose from the multi-phase fluid system More... | |
static constexpr int | numPhases = 1 |
number of phases in the fluid system More... | |
static constexpr int | numComponents = MultiPhaseFluidSystem::isMiscible() ? MultiPhaseFluidSystem::numComponents : numPhases |
static constexpr int | phase0Idx = 0 |
number of components has to be the same as in the multi-phase fluid system as the composition needs to be defined More... | |
using Dumux::FluidSystems::OnePAdapter< MPFluidSystem, phase >::MultiPhaseFluidSystem = MPFluidSystem |
using Dumux::FluidSystems::OnePAdapter< MPFluidSystem, phase >::ParameterCache = NullParameterCache |
using Dumux::FluidSystems::OnePAdapter< MPFluidSystem, phase >::Scalar = typename MPFluidSystem::Scalar |
|
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 |
phaseIdx | Index of the fluid phase |
compIIdx | Index of the component i |
compJIdx | Index of the component j |
|
inlinestaticconstexpr |
|
inlinestatic |
fluidState | An arbitrary fluid state |
phaseIdx | The index of the fluid phase to consider |
compIdx | The index of the component to consider |
|
inlinestatic |
compIdx | The index of the component to consider |
|
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 |
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 |
phaseIdx | Index of the fluid phase |
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 |
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 |
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 |
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 |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
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 only a single component is involved. 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 |
|
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 |
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
|
inlinestatic |
|
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 |
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 |
phaseIdx | Index of the fluid phase |
|
inlinestaticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
for compositional models, the number of components has to be the same as in the multi-phase fluid system as the composition needs to be defined, while for non-compositional models, the number of components must equal the number of phases (1 in this case)
|
staticconstexpr |
|
staticconstexpr |
index of the only phase