Commit Graph

152 Commits

Author SHA1 Message Date
Svenn Tveit
f400b3b189 Brine-H2 PVT model To be used with H2STORE
Mostly copied CO2STORE and added specifications for brine-H2.
2023-04-12 14:28:01 +02:00
Tor Harald Sandve
63340df84e Compute mixture innerEnergy and denisty assuming ideal mixtures 2023-03-24 12:24:16 +01:00
Tor Harald Sandve
b5ac472f14 add convert XgWToxgW 2023-03-24 12:24:16 +01:00
Tor Harald Sandve
1db6e4d7dd add convertRswToXwg 2023-03-16 08:48:56 +01:00
Arne Morten Kvarving
3fddcc0dd8 split out timing macros to separate header 2023-03-01 13:17:00 +01:00
hnil
a3e025290f added timingblocks most important functions 2023-02-15 09:39:14 +01:00
Arne Morten Kvarving
8f10bb666d BlackOilFluidSystem: move more code to compile unit 2023-01-05 13:34:10 +01:00
Arne Morten Kvarving
77886b1307 BlackOilFluidSystem: put initFromState in separate compile unit
thus encapsulating EclipseState and friends
2022-12-22 13:35:08 +01:00
Tor Harald Sandve
9d583b2293 Add support for dissolved gas in water in the blackoil fluidsystem
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
2022-12-16 13:49:44 +01:00
Arne Morten Kvarving
9a77d47c35 changed: drop exceptions class from material
use the opm-common exception classes directly
2022-12-13 12:47:20 +01:00
Paul Egberts
58da92b420 added water evaporation as function of pressure and salt concentration 2022-10-20 11:16:37 +02:00
Arne Morten Kvarving
f9d4059071 BlackOilFluidSystem: some modernization
- typedef -> using
- use constexpr where appropriate
2022-08-09 11:03:21 +02:00
Paul Egberts
a2aa7b9603 adjusted internal energy calculation to include (optional) Joule-Thomson effect 2022-06-13 11:39:10 +02:00
Paul Egberts
a721fbba1f joule thomson 2022-06-13 11:39:10 +02:00
Paul Egberts
2cc76c5c53 PVT for combined wet(vaporized oil) and humid (vaprized water) gas 2022-04-12 11:15:22 +02:00
Paul Egberts
1a0cfe48cd gas density correction for humid gas 2022-03-06 17:26:04 +01:00
Paul Egberts
114e30540e add pvt for dry gas with vaporized water 2022-03-01 16:29:07 +01:00
Paul Egberts
31b08b4512 removed OPM_UNUSED 2022-01-20 11:36:28 +01:00
Paul Egberts
cbaa467104 add getSaltSaturation 2022-01-06 14:40:10 +01:00
Joakim Hove
4b8f2f9814 Downstream of opm-common filesystem reorganisation 2022-01-02 14:32:39 +01:00
Tor Harald Sandve
4a292455e0 Merge pull request #429 from goncalvesmachadoc/vapwat
Preparation for Water Evaporation and Salt Precipitation
2021-12-09 15:37:24 +01:00
Cintia Goncalves Machado
599c55b9a7 preparation for water evaporation and salt precipitatio 2021-08-04 22:31:51 +02:00
Arne Morten Kvarving
24dba01e99 changed: get rid of OPM_UNUSED macro usage
prefer anonymous parameters and c++17 [[maybe_unused]]
2021-08-03 09:32:02 +02:00
Arne Morten Kvarving
50c8cbea78 fixed: do not assert conditions guaranteed by unsigned 2021-06-18 13:24:02 +02:00
Arne Morten Kvarving
6689e6d08f fixed: do not use Opm:: prefix within Opm namespace part 2
have to use anchoring to root namespace in some places due
to overlapping namespace and class type names.
2021-05-05 21:58:33 +02:00
Tor Harald Sandve
f9552a2081 fix assert statement 2021-02-04 09:44:56 +01:00
Tor Harald Sandve
e55568a646 dont allow for default molar weight in DIFFC table 2021-02-04 09:44:56 +01:00
Tor Harald Sandve
f406ecd914 fix molar weights 2021-02-04 09:44:56 +01:00
Tor Harald Sandve
570ec20598 init diffusion from deck 2021-02-04 09:44:56 +01:00
Tor Harald Sandve
ceb71c53a2 Add diffusion to blackoil fluidsystem. Diffusion coefficients are only implemented for the CO2-Brine system 2021-02-04 09:44:56 +01:00
Tor Harald Sandve
15ff65ffcd Add a co2brine pvt model
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].
2020-10-01 16:15:39 +02:00
Tor Harald Sandve
b4c8dd5e86 make the water PVT salt dependent 2020-07-02 13:42:58 +02:00
Arne Morten Kvarving
36d9df1876 drop serialization templates for BlackoilFluidSystem 2020-03-03 15:57:58 +01:00
Arne Morten Kvarving
51d644b96c changed: get rid of last deck usage in BlackoilFluidSystem
rename initFromDeck to initFromState. Pass the Schedule instead
of the deck.
2020-03-03 15:57:58 +01:00
Arne Morten Kvarving
43232d878f Merge pull request #409 from akva2/less_deck_blackoil_fluid_system
changed: lessen deck usage setting up BlackoilFluidSystem
2020-03-03 15:57:05 +01:00
Arne Morten Kvarving
2c270cb4f3 changed: lessen deck usage setting up BlackoilFluidSystem 2020-03-03 15:56:33 +01:00
Arne Morten Kvarving
3dc71ffb5b use standard conditions from EclipseState 2020-03-03 12:03:48 +01:00
Atgeirr Flø Rasmussen
6dfe5c7ac9 Silence unused variable warning. 2020-02-13 09:18:01 +01:00
Bård Skaflestad
2f827bfae5 Don't Index Out of Bounds
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)
2020-01-24 20:44:26 +01:00
Arne Morten Kvarving
44d81819f6 add serialization support for BlackoilFluidSystem 2020-01-20 11:16:19 +01:00
Arne Morten Kvarving
e2841d943c use std::array instead of C array
motivation: simpler serialization
2020-01-20 11:16:14 +01:00
Trine S. Mykkeltvedt
36eda7f17e renamed saltwater-->brine and fixed other things commented in review 2020-01-07 09:30:08 +01:00
Trine S. Mykkeltvedt
1841b05b16 implemented simple salt/brine option 2020-01-07 09:30:08 +01:00
hnil
f2711be107 Small changes to try to make onephase work 2019-06-18 14:47:59 +02:00
Andreas Lauser
14351c5794 black oil PVT: make the maximum oil saturation a evaluation
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.
2019-05-03 14:30:30 +02:00
Atgeirr Flø Rasmussen
215af283e2 Stop interpolating between unsaturated/saturated regions.
This is possible since the new interpolation ensures continuity
up to the boundary between the regions.
2019-03-22 14:18:48 +01:00
Andreas Lauser
e72b27fd8b BlackOilFluidSystem: make it easy to change the indices of phases and components
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.
2019-03-11 13:48:37 +01:00
Tor Harald Sandve
ef5154951a BlackOilFluidState: Only store active phases in the two phase case 2018-10-18 12:41:29 +02:00
Andreas Lauser
6cb7df3541 remove the Opm::FluidSystems namespace
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`.
2018-07-27 12:57:09 +02:00
Arne Morten Kvarving
53b24d482a adjustments for moved eclipse support (now in opm-common) 2018-03-05 12:49:22 +01:00