|
| 1 | +"""Set the full path to the flow executable and flags""" |
| 2 | +mpirun -np 12 flow --relaxed-max-pv-fraction=0 --partition-method=2 --edge-weights-method=2 --solver-max-time-step-in-days=3650 --imbalance-tol=1.1 --tolerance-mb=1e-7 --enable-tuning=true --enable-opm-rst-file=true --output-extra-convergence-info=steps,iterations --newton-min-iterations=1 --linear-solver=cpr_trueimpes --time-step-control=newtoniterationcount --newton-max-iterations=6 --time-step-control-growth-rate=1.15 --time-step-control-decay-rate=0.85 --time-step-control-target-newton-iterations=3 --time-step-after-event-in-days=1 --solver-restart-factor=0.33 |
| 3 | + |
| 4 | +"""Set the model parameters""" |
| 5 | +spe11c master #Name of the spe case (spe11a, spe11b, or spe11c) and OPM Flow version (master or release) |
| 6 | +complete gaswater #Name of the co2 model (immiscible or complete) and co2store implementation (gaswater or gasoil [oil properties are set to water internally in OPM flow]) |
| 7 | +corner-point #Type of grid (cartesian, tensor, or corner-point) |
| 8 | +8400 5000 1200 #Length, width, and depth [m] |
| 9 | +168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment |
| 10 | +100 #If cartesian, number of y cells [-]; otherwise, variable array of y-refinment [-] (for spe11c) |
| 11 | +9,7,1,5,5,3,7,7,10,7,7,8,6,15,5,24,24,7 #If cartesian, number of z cells [-]; if tensor, variable array of z-refinment; if corner-point, fix array of z-refinment (18 entries) |
| 12 | +70 36.12 #Temperature bottom and top rig [C] |
| 13 | +300 3e7 0.1 #Datum [m], pressure at the datum [Pa], and multiplier for the permeability in the z direction [-] |
| 14 | +1e-9 2e-8 #Diffusion (in liquid and gas) [m^2/s] |
| 15 | +8.5e-1 2500 #Rock specific heat and density (for spe11b/c) |
| 16 | +0 5e4 1 #Added pore volume on top boundary (for spe11a [if 0, free flow bc]), pore volume on lateral boundaries, and width of buffer cell [m] (for spe11b/c) |
| 17 | +150 10 #Elevation of the parabola and back [m] (for spe11c) |
| 18 | + |
| 19 | +"""Set the saturation functions""" |
| 20 | +(max(0, (s_w - swi) / (1 - swi))) ** 1.5 #Wetting rel perm saturation function [-] |
| 21 | +(max(0, (1 - s_w - sni) / (1 - sni))) ** 1.5 #Non-wetting rel perm saturation function [-] |
| 22 | +penmax * math.erf(pen * ((s_w-swi) / (1.-swi)) ** (-(1.0 / 1.5)) * math.pi**0.5 / (penmax * 2)) #Capillary pressure saturation function [Pa] |
| 23 | +(np.exp(np.flip(np.linspace(0, 5.0, npoints))) - 1) / (np.exp(5.0) - 1) #Points to evaluate the saturation functions (s_w) [-] |
| 24 | + |
| 25 | +"""Properties sat functions""" |
| 26 | +"""swi [-], sni [-], pen [Pa], penmax [Pa], npoints [-]""" |
| 27 | +SWI1 0.32 SNI1 0.1 PEN1 193531.39 PENMAX1 3e7 NPOINTS1 1000 |
| 28 | +SWI2 0.14 SNI2 0.1 PEN2 8654.99 PENMAX2 3e7 NPOINTS2 1000 |
| 29 | +SWI3 0.12 SNI3 0.1 PEN3 6120.00 PENMAX3 3e7 NPOINTS3 1000 |
| 30 | +SWI4 0.12 SNI4 0.1 PEN4 3870.63 PENMAX4 3e7 NPOINTS4 1000 |
| 31 | +SWI5 0.12 SNI5 0.1 PEN5 3060.00 PENMAX5 3e7 NPOINTS5 1000 |
| 32 | +SWI6 0.10 SNI6 0.1 PEN6 2560.18 PENMAX6 3e7 NPOINTS6 1000 |
| 33 | +SWI7 0 SNI7 0 PEN7 0 PENMAX7 3e7 NPOINTS7 2 |
| 34 | + |
| 35 | +"""Properties rock""" |
| 36 | +"""K [mD], phi [-], disp [m], thconr [W m-1 K-1]""" |
| 37 | +PERM1 0.10132 PORO1 0.10 DISP1 10 THCONR1 1.90 |
| 38 | +PERM2 101.324 PORO2 0.20 DISP2 10 THCONR2 1.25 |
| 39 | +PERM3 202.650 PORO3 0.20 DISP3 10 THCONR3 1.25 |
| 40 | +PERM4 506.625 PORO4 0.20 DISP4 10 THCONR4 1.25 |
| 41 | +PERM5 1013.25 PORO5 0.25 DISP5 10 THCONR5 0.92 |
| 42 | +PERM6 2026.50 PORO6 0.35 DISP6 10 THCONR6 0.26 |
| 43 | +PERM7 1e-5 PORO7 1e-6 DISP7 0 THCONR7 2.00 |
| 44 | + |
| 45 | +"""Wells radius and position""" |
| 46 | +"""radius (0 to use the SOURCE keyword instead of well keywords), x, y, and z position [m] (final positions as well for spe11c)""" |
| 47 | +0 2700. 1000. 300. 2700. 4000. 300. #Well 1 |
| 48 | +0 5100. 1000. 700. 5100. 4000. 700. #Well 2 |
| 49 | + |
| 50 | +"""Define the injection values ([hours] for spe11a; [years] for spe11b/c)""" |
| 51 | +"""injection time, time step size to write results, maximum solver time step, injected fluid (0 water, 1 co2) (well1), injection rate [kg/s] (well1), temperature [C] (well1), injected fluid (0 water, 1 co2) (well2), ...""" |
| 52 | +999.9 999.9 10 1 0 10 1 0 10 |
| 53 | + 0.1 0.1 0.1 1 0 10 1 0 10 |
| 54 | + 25 5 0.25 1 50 10 1 0 10 |
| 55 | + 25 5 0.25 1 50 10 1 50 10 |
| 56 | + 50 25 0.25 1 0 10 1 0 10 |
| 57 | + 400 50 0.5 1 0 10 1 0 10 |
| 58 | + 500 100 1 1 0 10 1 0 10 |
0 commit comments