mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-11-22 09:16:27 -06:00
restore the hydrostatic equilibration test from opm-core
This involved quite a bit of kicking and screaming. The result certainly is not pretty, but it works.
This commit is contained in:
parent
f65e9fbb69
commit
4e37c53038
@ -29,13 +29,15 @@
|
||||
#ifndef EWOMS_EQUILIBRATIONHELPERS_HH
|
||||
#define EWOMS_EQUILIBRATIONHELPERS_HH
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/InitConfig/Equil.hpp>
|
||||
|
||||
#include <opm/material/common/Tabulated1DFunction.hpp>
|
||||
#include <opm/material/fluidsystems/BlackOilFluidSystem.hpp>
|
||||
#include <opm/material/fluidstates/SimpleModularFluidState.hpp>
|
||||
#include <opm/material/fluidmatrixinteractions/EclMaterialLawManager.hpp>
|
||||
|
||||
// due to a bug in Equil.hpp, cstddef must be included before Equil.hpp
|
||||
#include <cstddef>
|
||||
#include <opm/parser/eclipse/EclipseState/InitConfig/Equil.hpp>
|
||||
|
||||
#include <memory>
|
||||
|
||||
|
||||
|
115
tests/equil_base.DATA
Normal file
115
tests/equil_base.DATA
Normal file
@ -0,0 +1,115 @@
|
||||
RUNSPEC
|
||||
|
||||
WATER
|
||||
GAS
|
||||
OIL
|
||||
|
||||
METRIC
|
||||
|
||||
DIMENS
|
||||
10 1 10 /
|
||||
|
||||
GRID
|
||||
|
||||
DX
|
||||
100*1 /
|
||||
DY
|
||||
100*1 /
|
||||
DZ
|
||||
100*1 /
|
||||
|
||||
TOPS
|
||||
10*0. /
|
||||
|
||||
PORO
|
||||
100*0.3 /
|
||||
|
||||
PERMX
|
||||
100*500 /
|
||||
|
||||
PROPS
|
||||
|
||||
PVTW
|
||||
4017.55 1.038 3.22E-6 0.318 0.0 /
|
||||
|
||||
ROCK
|
||||
14.7 3E-6 /
|
||||
|
||||
SWOF
|
||||
0.12 0 1 0
|
||||
0.18 4.64876033057851E-008 1 0
|
||||
0.24 0.000000186 0.997 0
|
||||
0.3 4.18388429752066E-007 0.98 0
|
||||
0.36 7.43801652892562E-007 0.7 0
|
||||
0.42 1.16219008264463E-006 0.35 0
|
||||
0.48 1.67355371900826E-006 0.2 0
|
||||
0.54 2.27789256198347E-006 0.09 0
|
||||
0.6 2.97520661157025E-006 0.021 0
|
||||
0.66 3.7654958677686E-006 0.01 0
|
||||
0.72 4.64876033057851E-006 0.001 0
|
||||
0.78 0.000005625 0.0001 0
|
||||
0.84 6.69421487603306E-006 0 0
|
||||
0.91 8.05914256198347E-006 0 0
|
||||
1 0.00001 0 0 /
|
||||
|
||||
|
||||
SGOF
|
||||
0 0 1 0
|
||||
0.001 0 1 0
|
||||
0.02 0 0.997 0
|
||||
0.05 0.005 0.980 0
|
||||
0.12 0.025 0.700 0
|
||||
0.2 0.075 0.350 0
|
||||
0.25 0.125 0.200 0
|
||||
0.3 0.190 0.090 0
|
||||
0.4 0.410 0.021 0
|
||||
0.45 0.60 0.010 0
|
||||
0.5 0.72 0.001 0
|
||||
0.6 0.87 0.0001 0
|
||||
0.7 0.94 0.000 0
|
||||
0.85 0.98 0.000 0
|
||||
0.88 0.984 0.000 0 /
|
||||
|
||||
DENSITY
|
||||
53.66 64.49 0.0533 /
|
||||
|
||||
PVDG
|
||||
14.700 166.666 0.008000
|
||||
264.70 12.0930 0.009600
|
||||
514.70 6.27400 0.011200
|
||||
1014.7 3.19700 0.014000
|
||||
2014.7 1.61400 0.018900
|
||||
2514.7 1.29400 0.020800
|
||||
3014.7 1.08000 0.022800
|
||||
4014.7 0.81100 0.026800
|
||||
5014.7 0.64900 0.030900
|
||||
9014.7 0.38600 0.047000 /
|
||||
|
||||
PVTO
|
||||
0.0010 14.7 1.0620 1.0400 /
|
||||
0.0905 264.7 1.1500 0.9750 /
|
||||
0.1800 514.7 1.2070 0.9100 /
|
||||
0.3710 1014.7 1.2950 0.8300 /
|
||||
0.6360 2014.7 1.4350 0.6950 /
|
||||
0.7750 2514.7 1.5000 0.6410 /
|
||||
0.9300 3014.7 1.5650 0.5940 /
|
||||
1.2700 4014.7 1.6950 0.5100
|
||||
9014.7 1.5790 0.7400 /
|
||||
1.6180 5014.7 1.8270 0.4490
|
||||
9014.7 1.7370 0.6310 /
|
||||
/
|
||||
|
||||
SOLUTION
|
||||
|
||||
SWAT
|
||||
100*0.0 /
|
||||
|
||||
SGAS
|
||||
100*0.0 /
|
||||
|
||||
PRESSURE
|
||||
100*300.0 /
|
||||
|
||||
SUMMARY
|
||||
|
||||
SCHEDULE
|
87
tests/equil_capillary.DATA
Normal file
87
tests/equil_capillary.DATA
Normal file
@ -0,0 +1,87 @@
|
||||
-- Most of the following sections are not actually needed by the test,
|
||||
-- but it is required by the Eclipse reference manual that they are
|
||||
-- present. Also, the higher level opm-parser classes
|
||||
-- (i.e. Opm::EclipseState et al.) assume that they are present.
|
||||
|
||||
-------------------------------------
|
||||
RUNSPEC
|
||||
|
||||
WATER
|
||||
OIL
|
||||
GAS
|
||||
|
||||
DIMENS
|
||||
1 1 20 /
|
||||
|
||||
TABDIMS
|
||||
1 1 40 20 1 20 /
|
||||
|
||||
EQLDIMS
|
||||
-- NTEQUL
|
||||
1 /
|
||||
|
||||
-------------------------------------
|
||||
GRID
|
||||
|
||||
-- Opm::EclipseState assumes that _some_ grid gets defined, so let's
|
||||
-- specify a fake one...
|
||||
|
||||
DXV
|
||||
1*1 /
|
||||
|
||||
DYV
|
||||
1*1 /
|
||||
|
||||
DZV
|
||||
20*5 /
|
||||
|
||||
DEPTHZ
|
||||
4*0.0 /
|
||||
|
||||
PORO
|
||||
20*0.3 /
|
||||
|
||||
PERMX
|
||||
20*500 /
|
||||
|
||||
-------------------------------------
|
||||
PROPS
|
||||
|
||||
PVDO
|
||||
100 1.0 1.0
|
||||
200 0.9 1.0
|
||||
/
|
||||
|
||||
PVDG
|
||||
100 0.010 0.1
|
||||
200 0.005 0.2
|
||||
/
|
||||
|
||||
PVTW
|
||||
1.0 1.0 4.0E-5 0.96 0.0
|
||||
/
|
||||
|
||||
SWOF
|
||||
0.2 0 1 0.4
|
||||
1 1 0 0.1
|
||||
/
|
||||
|
||||
SGOF
|
||||
0 0 1 0.2
|
||||
0.8 1 0 0.5
|
||||
/
|
||||
|
||||
DENSITY
|
||||
700 1000 1
|
||||
/
|
||||
|
||||
-------------------------------------
|
||||
SOLUTION
|
||||
|
||||
EQUIL
|
||||
50 150 50 0.25 20 0.35 1* 1* 0
|
||||
/
|
||||
|
||||
-------------------------------------
|
||||
SCHEDULE
|
||||
-- empty section
|
128
tests/equil_capillary_overlap.DATA
Normal file
128
tests/equil_capillary_overlap.DATA
Normal file
@ -0,0 +1,128 @@
|
||||
NOECHO
|
||||
|
||||
RUNSPEC ======
|
||||
|
||||
WATER
|
||||
OIL
|
||||
GAS
|
||||
|
||||
TABDIMS
|
||||
1 1 40 20 1 20 /
|
||||
|
||||
DIMENS
|
||||
1 1 20
|
||||
/
|
||||
|
||||
WELLDIMS
|
||||
30 10 2 30 /
|
||||
|
||||
START
|
||||
1 'JAN' 1990 /
|
||||
|
||||
NSTACK
|
||||
25 /
|
||||
|
||||
EQLDIMS
|
||||
-- NTEQUL
|
||||
1 /
|
||||
|
||||
|
||||
FMTOUT
|
||||
FMTIN
|
||||
|
||||
GRID ======
|
||||
|
||||
DXV
|
||||
1.0
|
||||
/
|
||||
|
||||
DYV
|
||||
1.0
|
||||
/
|
||||
|
||||
DZV
|
||||
20*5.0
|
||||
/
|
||||
|
||||
|
||||
PORO
|
||||
20*0.2
|
||||
/
|
||||
|
||||
|
||||
PERMZ
|
||||
20*1.0
|
||||
/
|
||||
|
||||
PERMY
|
||||
20*100.0
|
||||
/
|
||||
|
||||
PERMX
|
||||
20*100.0
|
||||
/
|
||||
|
||||
BOX
|
||||
1 1 1 1 1 1 /
|
||||
|
||||
TOPS
|
||||
0.0
|
||||
/
|
||||
|
||||
PROPS ======
|
||||
|
||||
|
||||
PVDO
|
||||
100 1.0 1.0
|
||||
200 0.9 1.0
|
||||
/
|
||||
|
||||
PVDG
|
||||
100 0.010 0.1
|
||||
200 0.005 0.2
|
||||
/
|
||||
|
||||
SWOF
|
||||
0.2 0 1 0.9
|
||||
1 1 0 0.1
|
||||
/
|
||||
|
||||
SGOF
|
||||
0 0 1 0.2
|
||||
0.8 1 0 0.5
|
||||
/
|
||||
|
||||
PVTW
|
||||
--RefPres Bw Comp Vw Cv
|
||||
1. 1.0 4.0E-5 0.96 0.0 /
|
||||
|
||||
|
||||
ROCK
|
||||
--RefPres Comp
|
||||
1. 5.0E-5 /
|
||||
|
||||
DENSITY
|
||||
700 1000 1
|
||||
/
|
||||
|
||||
SOLUTION ======
|
||||
|
||||
EQUIL
|
||||
45 150 50 0.25 45 0.35 1* 1* 0
|
||||
/
|
||||
|
||||
RPTSOL
|
||||
'PRES' 'PGAS' 'PWAT' 'SOIL' 'SWAT' 'SGAS' 'RESTART=2' /
|
||||
|
||||
SUMMARY ======
|
||||
RUNSUM
|
||||
|
||||
SEPARATE
|
||||
|
||||
SCHEDULE ======
|
||||
|
||||
RPTSCHED
|
||||
'PRES' 'PGAS' 'PWAT' 'SOIL' 'SWAT' 'SGAS' 'RESTART=3' 'NEWTON=2' /
|
||||
|
||||
|
||||
END
|
102
tests/equil_capillary_swatinit.DATA
Normal file
102
tests/equil_capillary_swatinit.DATA
Normal file
@ -0,0 +1,102 @@
|
||||
-- Most of the following sections are not actually needed by the test,
|
||||
-- but it is required by the Eclipse reference manual that they are
|
||||
-- present. Also, the higher level opm-parser classes
|
||||
-- (i.e. Opm::EclipseState et al.) assume that they are present.
|
||||
|
||||
-------------------------------------
|
||||
RUNSPEC
|
||||
|
||||
WATER
|
||||
OIL
|
||||
GAS
|
||||
|
||||
DIMENS
|
||||
1 1 20 /
|
||||
|
||||
TABDIMS
|
||||
1 1 40 20 1 20 /
|
||||
|
||||
EQLDIMS
|
||||
-- NTEQUL
|
||||
1 /
|
||||
|
||||
START
|
||||
1 'JAN' 2015 /
|
||||
-------------------------------------
|
||||
GRID
|
||||
|
||||
-- Opm::EclipseState assumes that _some_ grid gets defined, so let's
|
||||
-- specify a fake one...
|
||||
|
||||
DXV
|
||||
1 /
|
||||
|
||||
DYV
|
||||
1 /
|
||||
|
||||
DZ
|
||||
20*5 /
|
||||
|
||||
TOPS
|
||||
0 /
|
||||
|
||||
PORO
|
||||
20*0.3 /
|
||||
|
||||
PERMX
|
||||
20*500 /
|
||||
|
||||
PERMZ
|
||||
20*500 /
|
||||
-------------------------------------
|
||||
PROPS
|
||||
|
||||
ROCK
|
||||
14.7 3E-6 /
|
||||
|
||||
PVDO
|
||||
100 1.0 1.0
|
||||
200 0.9 1.0
|
||||
/
|
||||
|
||||
PVDG
|
||||
100 0.010 0.1
|
||||
200 0.005 0.2
|
||||
/
|
||||
|
||||
PVTW
|
||||
1.0 1.0 4.0E-5 0.96 0.0
|
||||
/
|
||||
|
||||
SWOF
|
||||
0.2 0 1 0.4
|
||||
1 1 0 0.1
|
||||
/
|
||||
|
||||
SGOF
|
||||
0 0 1 0.2
|
||||
0.8 1 0 0.5
|
||||
/
|
||||
|
||||
DENSITY
|
||||
700 1000 1
|
||||
/
|
||||
|
||||
SWATINIT
|
||||
5*0
|
||||
10*0.5
|
||||
5*1 /
|
||||
|
||||
-------------------------------------
|
||||
SOLUTION
|
||||
|
||||
EQUIL
|
||||
50 150 50 0.25 20 0.35 1* 1* 0
|
||||
/
|
||||
|
||||
RPTSOL
|
||||
SWATINIT SWAT SGAS SOIL PCOG PCOW
|
||||
/
|
||||
-------------------------------------
|
||||
SCHEDULE
|
||||
-- empty section
|
88
tests/equil_deadfluids.DATA
Normal file
88
tests/equil_deadfluids.DATA
Normal file
@ -0,0 +1,88 @@
|
||||
-- Most of the following sections are not actually needed by the test,
|
||||
-- but it is required by the Eclipse reference manual that they are
|
||||
-- present. Also, the higher level opm-parser classes
|
||||
-- (i.e. Opm::EclipseState et al.) assume that they are present.
|
||||
|
||||
-------------------------------------
|
||||
RUNSPEC
|
||||
|
||||
WATER
|
||||
GAS
|
||||
OIL
|
||||
|
||||
METRIC
|
||||
|
||||
DIMENS
|
||||
1 1 10 /
|
||||
|
||||
TABDIMS
|
||||
1 1 40 20 1 20 /
|
||||
|
||||
EQLDIMS
|
||||
-- NTEQUL
|
||||
1 /
|
||||
|
||||
GRID
|
||||
|
||||
-- Opm::EclipseState assumes that _some_ grid gets defined, so let's
|
||||
-- specify a fake one...
|
||||
|
||||
DXV
|
||||
1*1 /
|
||||
|
||||
DYV
|
||||
1*1 /
|
||||
|
||||
DZV
|
||||
10*1 /
|
||||
|
||||
TOPS
|
||||
1*0.0 /
|
||||
|
||||
PORO
|
||||
10*0.3 /
|
||||
|
||||
PERMX
|
||||
10*500 /
|
||||
|
||||
-------------------------------------
|
||||
PROPS
|
||||
|
||||
PVDO
|
||||
100 1.0 1.0
|
||||
200 0.5 1.0
|
||||
/
|
||||
|
||||
PVDG
|
||||
100 0.05 0.1
|
||||
200 0.02 0.2
|
||||
/
|
||||
|
||||
PVTW
|
||||
1.0 1.0 4.0E-5 0.96 0.0
|
||||
/
|
||||
|
||||
SWOF
|
||||
0 0 1 0
|
||||
1 1 0 0
|
||||
/
|
||||
|
||||
SGOF
|
||||
0 0 1 0
|
||||
1 1 0 0
|
||||
/
|
||||
|
||||
DENSITY
|
||||
700 1000 10
|
||||
/
|
||||
|
||||
-------------------------------------
|
||||
SOLUTION
|
||||
|
||||
EQUIL
|
||||
5 150 5 0 2 0 1* 1* 0
|
||||
/
|
||||
|
||||
-------------------------------------
|
||||
SCHEDULE
|
||||
-- empty section
|
1014
tests/test_equil.cc
Normal file
1014
tests/test_equil.cc
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user