If DISGASW is in the input deck gas in allowed to dissolved into water
Currently only works in combination with CO2STORE
For general support assosiated input tables needs to be provided
The CO2BRINE model is activated by setting CO2STOR in the RUNSPEC section
The CO2 and brine pvt properties are computed based on pvt models in opm-material
- CO2 density is from Span and Wager (1996) as given in co2table.inc
- CO2 viscosity is from Fenhour et al (1998)
- Brine density and viscosity is based on H20 + correction based on Batzle and Wang (1992)
- H20 density is from Hu et al (2007)
- H20 viscosity is computed from density based on correlation given in IAPWS 97
At the current stage the oil-phase is used to model the brine. If a proper gas-water
simulator is made, the Brine PVT should be moved to the water phase.
Known limitations:
- Currently the viscosity of the Brine does not depend on the composition
- Salinity is assumed to be constant and given by SALINITY [mol/kg].
The phaseIsActive_ array has size numPhases. We must not form the
expression phaseIsActive_[numPhases]. Switch to using fill_n in
place of fill lest we have to write
fill(&phaseIsActive_[0], &phaseIsActive_[0] + numPhases, v)
the maximum oil saturation *can* depend on the most current solution,
so it needs to include derivatives. Note that this fix should not
change the converged solution, only the convergence behaviour, i.e.,
if changes in the results are encountered, these are likely only
numerical noise.
this is done by introducing an "IndexTraits" template parameter to the
BlackOilFluidSystem class which only specifies
`{oil,gas,water}{Phase,Comp}Idx`. By default, nothing which faces user
code changes.
this has mildly annoyed me for quite some time, and finally managed to
bring myself to changing it: The Opm::FluidSystems namespace is pretty
useless because the number of classes contained within it is quite
small and mismatch between the naming convention of the file names the
actual classes is somewhat confusing IMO. Thus, this patch changes the
naming of fluid systems from `Opm::FluidSystems::Foo` to
`Opm::FooFluidSystem`.
(also, flat hierarchies currently seem to be popular with the cool
people!?)
this patch requires some simple mop-ups for `ewoms` and `opm-simulators`.