Complete annotated co2.toml#
These blocks reproduce the documented co2.toml in file order. Explanations
and figures are kept on the focused configuration pages.
1#Set mpirun, the full path to the flow executable, and simulator flags (except --output-dir)
2flow = "flow --relaxed-max-pv-fraction=0 --enable-opm-rst-file=true --newton-min-iterations=1 --enable-tuning=true"
3
4#Set the model parameters
5model = "co2store" #Model: co2store, co2eor, foam, h2store, or saltprec
6template = "base" #Template file (see src/pyopmnearwell/templates/)
7grid = "cake" #Grid type: cake, radial, core, cartesian2d, coord2d, tensor2d, cartesian, cpg3d, coord3d, or tensor3d
8adim = 60 #Grid cake/radial: theta [degrees]; core: input/output pipe length [m]; cartesian2d, coord2d, tensor2d: width[m]
9xdim = 100 #Length [m] (for cartesian/cpg3d/coord3d/tensor3d, Length=Width=2*xdim)
10xcn = [80] #Number of x-cells [-]; coordinates for grid type coord2d/coord3d [m]; numbers of x-cells for grid type tensor2d/tensor3d [-]
11xfac = 2 #Exponential factor for the telescopic x-gridding (0 to use an equidistant partition)
12diameter = 0.1 #Well diameter [m]
13pressure = 100 #Pressure [bar] on the top
14temperature = [40,40] #Top and bottom temperatures [C]
15initialphase = 0 #Initial phase in the reservoir (0 wetting, 1 non-wetting)
16pvmult = 1e10 #Pore volume multiplier on the boundary [-] (-1 to ignore; 0 to use well producers instead)
17perforations = [1,5,6] #Activate perforations [-], number of well perforations [-], and length [m]
18ehystr = "1* 2 2* KR" #Define Hysteresis model and parameters (see EHYSTR in the OPM Flow manual)
19zxy = "2-2*np.cos((2*np.pi*x/50)) + 10*(x/100)**2" #The function for the reservoir surface
20
21#Set the saturation functions
22krw = "krw * ((sw - swi) / (1.0 - sni -swi)) ** nkrw" #Wetting rel perm saturation function [-]
23krn = "krn * ((1.0 - sw - sni) / (1.0 - sni - swi)) ** nkrn" #Non-wetting rel perm saturation function [-]
24pcap = "pen * ((sw - swi) / (1.0 - swi)) ** (-(1.0 / npen))" #Capillary pressure saturation function [bar]
25
26#Properties sat functions: 1) swi [-], 2) sni [-], 3) krw [-], 4) krn [-], 5) pen [bar], 6) nkrw [-],
27#7) nkrn [-], 8) npen [-], 9) threshold cP evaluation, 10) ignore swi for cP? (sl* for cplog)
28#11) npoints [-] (entry per layer, if hysteresis, additional entries per layer)
29safu = [[0.14,0.1,1,1,8655e-5,2,2,2,1e-4,0,10000],
30[0.12,0.1,1,1,6120e-5,2,2,2,1e-4,0,10000],
31[0.12,0.1,1,1,3871e-5,2,2,2,1e-4,0,10000],
32[0.12,0.1,1,1,3060e-5,2,2,2,1e-4,0,10000],
33[0,0,1,1,0,1,1,1,1e-4,0,10000],
34[0.14,0.2,1,1,8655e-5,2,3,2,1e-4,0,10000],
35[0.12,0.2,1,1,6120e-5,2,3,2,1e-4,0,10000],
36[0.12,0.2,1,1,3871e-5,2,3,2,1e-4,0,10000],
37[0.12,0.2,1,1,3060e-5,2,3,2,1e-4,0,10000],
38[0,0,1,1,0,1,1,1,1e-4,0,10000]]
39
40#Properties rock: 1) Kxy [mD], 2) Kz [mD], 3) phi [-], 4) thickness [m], and 5) no cells in the z dir [-] (entry per layer)
41rock = [[101.324,10.1324,0.2,6,6],
42[202.650,20.2650,0.2,6,6],
43[506.625,50.6625,0.2,6,6],
44[1013.25,101.325,0.25,6,6],
45[2013.25,201.325,0.45]]
46
47#Define the injection values (entry per change in the schedule):
48#1) injection time [d], 2) time step size to write results [d],
49#3) fluid (0 wetting, 1 non-wetting), 4) injection rates [kg/day].
50#If --enable-tuning=1, then 5) for TUNING values as described in the OPM manual.
51inj = [[7,1e-1,1,57611.52,"1* 1e-2 1e-12"],
52[7,1e-1,0,57611.52,"1* 5e-2 1e-12"],
53[7,1e-1,1,57611.52,"1* 5e-2 1e-12"]]
See this configuration file for an example setting more TUNING values, where entries are given for the three different records (lines) of the TUNING keyword. In practice, TUNING helps to speed up simulations, e.g., to limit the time step for periods with higher injection rates, while relaxing it for periods where the wells are shut.