A two-phase fluid system with water and CO2. More...
#include <BrineCO2FluidSystem.hpp>
Classes | |
struct | ParameterCache |
Public Types | |
typedef Opm::BinaryCoeff::Brine_CO2 < Scalar, CO2Tables > | BinaryCoeffBrineCO2 |
The binary coefficients for brine and CO2 used by this fluid system. | |
typedef Brine_Tabulated | Brine |
The type of the component for brine used by the fluid system. | |
typedef Opm::CO2< Scalar, CO2Tables > | CO2 |
The type of the component for pure CO2 used by the fluid system. | |
Static Public Member Functions | |
static const char * | phaseName (unsigned phaseIdx) |
static bool | isLiquid (unsigned phaseIdx) |
static bool | isIdealGas (unsigned phaseIdx) |
static bool | isIdealMixture (unsigned phaseIdx OPM_OPTIM_UNUSED) |
static bool | isCompressible (unsigned phaseIdx OPM_OPTIM_UNUSED) |
static const char * | componentName (unsigned compIdx) |
static Scalar | molarMass (unsigned compIdx) |
static void | init () |
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. | |
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval> | |
static LhsEval | density (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx) |
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval> | |
static LhsEval | viscosity (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx) |
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval> | |
static LhsEval | fugacityCoefficient (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx, unsigned compIdx) |
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval> | |
static LhsEval | diffusionCoefficient (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx, unsigned) |
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval> | |
static LhsEval | enthalpy (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx) |
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval> | |
static LhsEval | thermalConductivity (const FluidState &, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx) |
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval> | |
static LhsEval | heatCapacity (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx) |
Static Public Attributes | |
static const int | numPhases = 2 |
The number of phases considered by the fluid system. | |
static const int | liquidPhaseIdx = 0 |
The index of the liquid phase. | |
static const int | gasPhaseIdx = 1 |
The index of the gas phase. | |
static const int | numComponents = 2 |
static const int | BrineIdx = 0 |
The index of the brine component. | |
static const int | CO2Idx = 1 |
The index of the CO2 component. |
A two-phase fluid system with water and CO2.
This fluid system uses the a tabulated CO2 component to achieve high thermodynamic accuracy and thus requires the tables of the sampling to be supplied as template argument.
static const char* Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::componentName | ( | unsigned | compIdx | ) | [inline, static] |
Return the human readable name of a component.
Reimplemented from Opm::BaseFluidSystem< Scalar, BrineCO2< Scalar, CO2Tables > >.
static LhsEval Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::density | ( | const FluidState & | fluidState, | |
const ParameterCache< ParamCacheEval > & | , | |||
unsigned | phaseIdx | |||
) | [inline, static] |
Calculate the density [kg/m^3] of a fluid phase.
static LhsEval Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::diffusionCoefficient | ( | const FluidState & | fluidState, | |
const ParameterCache< ParamCacheEval > & | , | |||
unsigned | phaseIdx, | |||
unsigned | ||||
) | [inline, static] |
Calculate the binary molecular diffusion coefficient for a component in a fluid phase [mol^2 * s / (kg*m^3)]. Molecular diffusion of a compoent is caused by a gradient of the mole fraction and follows the law
static LhsEval Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::enthalpy | ( | const FluidState & | fluidState, | |
const ParameterCache< ParamCacheEval > & | , | |||
unsigned | phaseIdx | |||
) | [inline, static] |
Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy [J/kg].
static LhsEval Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::fugacityCoefficient | ( | const FluidState & | fluidState, | |
const ParameterCache< ParamCacheEval > & | , | |||
unsigned | phaseIdx, | |||
unsigned | compIdx | |||
) | [inline, static] |
Calculate the fugacity coefficient [Pa] of an individual component in a fluid phase. The fugacity coefficient is connected to the fugacity
and the component's molarity
by means of the relation
static LhsEval Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::heatCapacity | ( | const FluidState & | fluidState, | |
const ParameterCache< ParamCacheEval > & | , | |||
unsigned | phaseIdx | |||
) | [inline, static] |
Specific isobaric heat capacity of a fluid phase [J/kg].
We employ the heat capacity of the pure phases.
Todo: Include compositional effects.
fluidState | An arbitrary fluid state | |
paramCache | The object which caches parameters which are expensive to compute | |
phaseIdx | The index of the fluid phase to consider |
FluidState | the fluid state class |
static void Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::init | ( | Scalar | tempMin, | |
Scalar | tempMax, | |||
unsigned | nTemp, | |||
Scalar | pressMin, | |||
Scalar | pressMax, | |||
unsigned | nPress | |||
) | [inline, static] |
Initialize the fluid system's static parameters using problem specific temperature and pressure ranges.
tempMin | The minimum temperature used for tabulation of water [K] | |
tempMax | The maximum temperature used for tabulation of water [K] | |
nTemp | The number of ticks on the temperature axis of the table of water | |
pressMin | The minimum pressure used for tabulation of water [Pa] | |
pressMax | The maximum pressure used for tabulation of water [Pa] | |
nPress | The number of ticks on the pressure axis of the table of water |
static void Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::init | ( | ) | [inline, static] |
Initialize the fluid system's static parameters.
Reimplemented from Opm::BaseFluidSystem< Scalar, BrineCO2< Scalar, CO2Tables > >.
static bool Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::isCompressible | ( | unsigned phaseIdx | OPM_OPTIM_UNUSED | ) | [inline, static] |
Returns true if and only if a fluid phase is assumed to be compressible. Compressible means that the partial derivative of the density to the fluid pressure is always larger than zero.
static bool Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::isIdealGas | ( | unsigned | phaseIdx | ) | [inline, static] |
Returns true if and only if a fluid phase is assumed to be an ideal gas.
Reimplemented from Opm::BaseFluidSystem< Scalar, BrineCO2< Scalar, CO2Tables > >.
static bool Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::isIdealMixture | ( | unsigned phaseIdx | OPM_OPTIM_UNUSED | ) | [inline, static] |
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 Henry's law and Rault's law apply. 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.
static bool Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::isLiquid | ( | unsigned | phaseIdx | ) | [inline, static] |
Return whether a phase is liquid.
Reimplemented from Opm::BaseFluidSystem< Scalar, BrineCO2< Scalar, CO2Tables > >.
static Scalar Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::molarMass | ( | unsigned | compIdx | ) | [inline, static] |
Return the molar mass of a component in [kg/mol].
Reimplemented from Opm::BaseFluidSystem< Scalar, BrineCO2< Scalar, CO2Tables > >.
static const char* Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::phaseName | ( | unsigned | phaseIdx | ) | [inline, static] |
Return the human readable name of a fluid phase.
Reimplemented from Opm::BaseFluidSystem< Scalar, BrineCO2< Scalar, CO2Tables > >.
static LhsEval Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::thermalConductivity | ( | const FluidState & | , | |
const ParameterCache< ParamCacheEval > & | , | |||
unsigned | phaseIdx | |||
) | [inline, static] |
Thermal conductivity of a fluid phase [W/(m K)].
static LhsEval Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::viscosity | ( | const FluidState & | fluidState, | |
const ParameterCache< ParamCacheEval > & | , | |||
unsigned | phaseIdx | |||
) | [inline, static] |
Calculate the dynamic viscosity of a fluid phase [Pa*s].
const int Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >::numComponents = 2 [static] |
Number of chemical species in the fluid system.
Reimplemented from Opm::BaseFluidSystem< Scalar, BrineCO2< Scalar, CO2Tables > >.