An adapter for multi-phase fluid systems to be used with (compositional) one-phase models. More...
#include <dumux/material/fluidsystems/1padapter.hh>
An adapter for multi-phase fluid systems to be used with (compositional) one-phase models.
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 Base::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 not 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) |
The density \(\mathrm{[kg/m^3]}\) of the component at a given pressure and temperature. More... | |
template<class FluidState > | |
static Scalar | molarDensity (const FluidState &fluidState, int phaseIdx=0) |
The molar density \(\rho_{mol,\alpha}\) of a fluid phase \(\alpha\) in \(\mathrm{[mol/m^3]}\). More... | |
template<class FluidState > | |
static Scalar | enthalpy (const FluidState &fluidState, int phaseIdx=0) |
Specific enthalpy \(\mathrm{[J/kg]}\) the pure component as a liquid. 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) |
The dynamic liquid viscosity \(\mathrm{[N/m^3*s]}\) of the pure component. 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 of the fluid \(\mathrm{[W/(m K)]}\). More... | |
template<class FluidState > | |
static Scalar | heatCapacity (const FluidState &fluidState, int phaseIdx=0) |
Specific isobaric heat capacity of the fluid \(\mathrm{[J/(kg K)]}\). 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 | density (const FluidState &fluidState, const ParameterCache ¶mCache, 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) |
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 | enthalpy (const FluidState &fluidState, int phaseIdx) |
Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\). More... | |
template<class FluidState > | |
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... | |
template<class FluidState > | |
static Scalar | viscosity (const FluidState &fluidState, int phaseIdx) |
Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\). More... | |
template<class FluidState > | |
static Scalar | viscosity (const FluidState &fluidState, const ParameterCache ¶mCache, int phaseIdx) |
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 | 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... | |
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 | 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 | thermalConductivity (const FluidState &fluidState, int phaseIdx) |
Thermal conductivity \(\lambda_\alpha \) 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 \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\). 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... | |
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 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 |
export the wrapped MultiPhaseFluidSystem type
using Dumux::FluidSystems::OnePAdapter< MPFluidSystem, phase >::ParameterCache = NullParameterCache |
using Dumux::FluidSystems::OnePAdapter< MPFluidSystem, phase >::Scalar = typename Base::Scalar |
|
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.
fluidState | An arbitrary fluid state |
phaseIdx | The index of the fluid phase to consider |
compIIdx | The index of the component to consider |
compJIdx | The index of the component to consider |
|
inlinestaticconstexpr |
convert a component index of the multi-phase component index to the actual component index
|
inlinestatic |
Returns the specific enthalpy \(\mathrm{[J/kg]}\) of a component in a specific phase.
fluidState | An arbitrary fluid state |
phaseIdx | The index of the fluid phase to consider |
compIdx | The index of the component to consider |
|
inlinestatic |
A human readable name for the component.
compIdx | The index of the component to consider |
|
inlinestatic |
Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase.
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase.
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
The density \(\mathrm{[kg/m^3]}\) of the component at a given 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 |
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 |
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 | An arbitrary fluid state |
phaseIdx | The index of the fluid phase to consider |
compIdx | The index of the component to consider |
|
inlinestatic |
Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\).
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\).
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
Specific enthalpy \(\mathrm{[J/kg]}\) the pure component as a liquid.
|
inlinestatic |
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 |
|
inlinestatic |
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 |
|
inlinestatic |
Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase.
fluidState | An arbitrary fluid state |
phaseIdx | The index of the fluid phase to consider |
compIdx | The index of the component to consider |
|
inlinestaticconstexprinherited |
Get the main component of a given phase if possible.
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 |
Specific isobaric heat capacity of the fluid \(\mathrm{[J/(kg K)]}\).
|
inlinestatic |
Initialize the fluid system's static parameters generically.
|
inlinestaticconstexpr |
Returns true if the fluid is assumed to be compressible.
|
inlinestaticconstexpr |
Returns whether the fluid is gaseous.
|
inlinestaticconstexpr |
Returns true if the fluid is assumed to be an ideal gas.
|
inlinestaticconstexpr |
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 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 |
There is only one phase, so not mass transfer between phases can occur.
|
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 main component molar mass \(M_\alpha\):
\[\rho_{mol,\alpha} = \frac{\rho_\alpha}{M_\alpha} \;.\]
|
inlinestatic |
The mass in \(\mathrm{[kg]}\) of one mole of the component.
|
inlinestatic |
A human readable name for the component.
|
inlinestatic |
Return the human readable name of a fluid phase.
phaseIdx | The index of the fluid phase to consider |
|
inlinestatic |
Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\).
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\).
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
Thermal conductivity of the fluid \(\mathrm{[W/(m K)]}\).
|
inlinestatic |
Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\).
fluidState | The fluid state |
paramCache | mutable parameters |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\).
fluidState | The fluid state |
phaseIdx | Index of the fluid phase |
|
inlinestatic |
The dynamic liquid viscosity \(\mathrm{[N/m^3*s]}\) of the pure component.
|
inlinestaticconstexpr |
Returns true if the fluid viscosity is constant.
|
staticconstexpr |
the index of the phase we choose from the multi-phase fluid system
|
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 |
number of phases in the fluid system
|
staticconstexpr |
number of components has to be the same as in the multi-phase fluid system as the composition needs to be defined
index of the only phase