Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated results in finer grids spe11b/c #57

Merged
merged 1 commit into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified docs/_images/animationspe11b.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/animationspe11c.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/spe11b_performance_new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/spe11b_sparse_data_new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/spe11c_performance_new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/spe11c_sparse_data_new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 1 addition & 10 deletions docs/_sources/examples.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@ Before the 13.06.2024 workshop
==============================
The results below are the ones presented in the second CSP workshop. There have been two bug fixes that change
some of the results (see `this <https://github.com/OPM/pyopmspe11/pull/54>`_ and `this PR <https://github.com/OPM/pyopmspe11/pull/55>`_).
See the results in :ref:`new_results` for the new simulation results (currently only for the simulations with the grid size of the same order
as the reporting grid, later we will update the results for the finner grids).
See the results in :ref:`new_results` for the latest simulation results.

------
SPE11A
Expand Down Expand Up @@ -73,14 +72,6 @@ and in a 1 cmish corner-point grid `(spe11a_cp_1cmish.txt) <https://github.com/O

Sparse data.

.. note::
For the spe11a1mm, regarding the mob and imm results in the sparse data (blue lines in the boxA and boxB plots), the immobile saturations
were computed as the fraction of mobile saturation that will be immobilized due to future migration, and after
clarification of the definition of immobile saturations for the benchmark (CO2 at saturations for which the nonwetting
relative permeability equals zero), then this has been implemented, and the spe11a_cp_1cmish results (and also the
results in hello world, SPE11B, and SPE11C) follow this definition. Since running the spe11a1mm requires many many days,
then we will rerun the case after feedback from the workshop in June.

------
SPE11B
------
Expand Down
12 changes: 1 addition & 11 deletions docs/examples.html
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,7 @@ <h2>Hello world<a class="headerlink" href="#hello-world" title="Link to this hea
<h2>Before the 13.06.2024 workshop<a class="headerlink" href="#before-the-13-06-2024-workshop" title="Link to this heading"></a></h2>
<p>The results below are the ones presented in the second CSP workshop. There have been two bug fixes that change
some of the results (see <a class="reference external" href="https://github.com/OPM/pyopmspe11/pull/54">this</a> and <a class="reference external" href="https://github.com/OPM/pyopmspe11/pull/55">this PR</a>).
See the results in <a class="reference internal" href="#new-results"><span class="std std-ref">After the 13.06.2024 workshop</span></a> for the new simulation results (currently only for the simulations with the grid size of the same order
as the reporting grid, later we will update the results for the finner grids).</p>
See the results in <a class="reference internal" href="#new-results"><span class="std std-ref">After the 13.06.2024 workshop</span></a> for the latest simulation results.</p>
<section id="spe11a">
<h3>SPE11A<a class="headerlink" href="#spe11a" title="Link to this heading"></a></h3>
<p>In a 1 mm Cartesian grid for the spe11a <a class="reference external" href="https://github.com/OPM/pyopmspe11/blob/main/examples/finner_grids/spe11a1mm.txt">(spe11a1mm.txt)</a>
Expand Down Expand Up @@ -161,15 +160,6 @@ <h3>SPE11A<a class="headerlink" href="#spe11a" title="Link to this heading"><
<p><span class="caption-text">Sparse data.</span><a class="headerlink" href="#id6" title="Link to this image"></a></p>
</figcaption>
</figure>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>For the spe11a1mm, regarding the mob and imm results in the sparse data (blue lines in the boxA and boxB plots), the immobile saturations
were computed as the fraction of mobile saturation that will be immobilized due to future migration, and after
clarification of the definition of immobile saturations for the benchmark (CO2 at saturations for which the nonwetting
relative permeability equals zero), then this has been implemented, and the spe11a_cp_1cmish results (and also the
results in hello world, SPE11B, and SPE11C) follow this definition. Since running the spe11a1mm requires many many days,
then we will rerun the case after feedback from the workshop in June.</p>
</div>
</section>
<section id="spe11b">
<h3>SPE11B<a class="headerlink" href="#spe11b" title="Link to this heading"></a></h3>
Expand Down
2 changes: 1 addition & 1 deletion docs/searchindex.js

Large diffs are not rendered by default.

11 changes: 1 addition & 10 deletions docs/text/examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@ Before the 13.06.2024 workshop
==============================
The results below are the ones presented in the second CSP workshop. There have been two bug fixes that change
some of the results (see `this <https://github.com/OPM/pyopmspe11/pull/54>`_ and `this PR <https://github.com/OPM/pyopmspe11/pull/55>`_).
See the results in :ref:`new_results` for the new simulation results (currently only for the simulations with the grid size of the same order
as the reporting grid, later we will update the results for the finner grids).
See the results in :ref:`new_results` for the latest simulation results.

------
SPE11A
Expand Down Expand Up @@ -73,14 +72,6 @@ and in a 1 cmish corner-point grid `(spe11a_cp_1cmish.txt) <https://github.com/O

Sparse data.

.. note::
For the spe11a1mm, regarding the mob and imm results in the sparse data (blue lines in the boxA and boxB plots), the immobile saturations
were computed as the fraction of mobile saturation that will be immobilized due to future migration, and after
clarification of the definition of immobile saturations for the benchmark (CO2 at saturations for which the nonwetting
relative permeability equals zero), then this has been implemented, and the spe11a_cp_1cmish results (and also the
results in hello world, SPE11B, and SPE11C) follow this definition. Since running the spe11a1mm requires many many days,
then we will rerun the case after feedback from the workshop in June.

------
SPE11B
------
Expand Down
Binary file modified docs/text/figs/animationspe11b.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/text/figs/animationspe11c.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/text/figs/spe11b_performance_new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/text/figs/spe11b_sparse_data_new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/text/figs/spe11c_performance_new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/text/figs/spe11c_sparse_data_new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 56 additions & 0 deletions examples/finner_grids/spe11b_cart_1m.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
"""Set the full path to the flow executable and flags"""
mpirun -np 68 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterations=1 --enable-tuning=true --enable-opm-rst-file=true --output-extra-convergence-info=steps,iterations

"""Set the model parameters"""
spe11b master #Name of the spe case (spe11a, spe11b, or spe11c) and OPM Flow version (master or release)
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])
cartesian #Type of grid (cartesian, tensor, or corner-point)
8400 1 1200 #Length, width, and depth [m]
8400 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment
1 #If cartesian, number of y cells [-]; otherwise, variable array of y-refinment [-] (for spe11c)
1200 #If cartesian, number of z cells [-]; if tensor, variable array of z-refinment; if corner-point, fix array of z-refinment (18 entries)
70 40 #Temperature bottom and top rig [C]
300 3e7 0.1 #Datum [m], pressure at the datum [Pa], and multiplier for the permeability in the z direction [-]
1e-9 2e-8 #Diffusion (in liquid and gas) [m^2/s]
8.5e-1 2500 #Rock specific heat and density (for spe11b/c)
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)
0 0 #Elevation of the parabola and back boundary [m] (for spe11c)

"""Set the saturation functions"""
(max(0, (s_w - swi) / (1 - swi))) ** 1.5 #Wetting rel perm saturation function [-]
(max(0, (1 - s_w - sni) / (1 - sni))) ** 1.5 #Non-wetting rel perm saturation function [-]
penmax * math.erf(pen * ((s_w-swi) / (1.-swi)) ** (-(1.0 / 1.5)) * math.pi**0.5 / (penmax * 2)) #Capillary pressure saturation function [Pa]
(np.exp(np.flip(np.linspace(0, 5.0, npoints))) - 1) / (np.exp(5.0) - 1) #Points to evaluate the saturation functions (s_w) [-]

"""Properties sat functions"""
"""swi [-], sni [-], pen [Pa], penmax [Pa], npoints [-]"""
SWI1 0.32 SNI1 0.1 PEN1 193531.39 PENMAX1 3e7 NPOINTS1 1000
SWI2 0.14 SNI2 0.1 PEN2 8654.99 PENMAX2 3e7 NPOINTS2 1000
SWI3 0.12 SNI3 0.1 PEN3 6120.00 PENMAX3 3e7 NPOINTS3 1000
SWI4 0.12 SNI4 0.1 PEN4 3870.63 PENMAX4 3e7 NPOINTS4 1000
SWI5 0.12 SNI5 0.1 PEN5 3060.00 PENMAX5 3e7 NPOINTS5 1000
SWI6 0.10 SNI6 0.1 PEN6 2560.18 PENMAX6 3e7 NPOINTS6 1000
SWI7 0 SNI7 0 PEN7 0 PENMAX7 3e7 NPOINTS7 2

"""Properties rock"""
"""K [mD], phi [-], disp [m], thconr [W m-1 K-1]"""
PERM1 0.10132 PORO1 0.10 DISP1 10 THCONR1 1.90
PERM2 101.324 PORO2 0.20 DISP2 10 THCONR2 1.25
PERM3 202.650 PORO3 0.20 DISP3 10 THCONR3 1.25
PERM4 506.625 PORO4 0.20 DISP4 10 THCONR4 1.25
PERM5 1013.25 PORO5 0.25 DISP5 10 THCONR5 0.92
PERM6 2026.50 PORO6 0.35 DISP6 10 THCONR6 0.26
PERM7 1e-5 PORO7 1e-6 DISP7 0 THCONR7 2.00

"""Wells radius and position"""
"""radius (0 to use the SOURCE keyword instead of well keywords), x, y, and z position [m] (final positions as well for spe11c)"""
0 2700. 0.5 300. #Well 1
0 5100. 0.5 700. #Well 2

"""Define the injection values ([hours] for spe11a; [years] for spe11b/c)"""
"""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), ..."""
999.9 999.9 1 1 0 10 1 0 10
0.1 0.1 0.1 1 0 10 1 0 10
25 5 0.005 1 0.035 10 1 0 10
25 5 0.005 1 0.035 10 1 0.035 10
950 5 0.005 1 0 10 1 0 10
58 changes: 58 additions & 0 deletions examples/finner_grids/spe11c_cp_ca20e6cells.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
"""Set the full path to the flow executable and flags"""
mpirun -np 71 flow --zoltan-imbalance-tol=1.05 --tolerance-mb=1e-7 --linear-solver=cprw --enable-tuning=true --enable-opm-rst-file=true --output-extra-convergence-info=steps,iterations --newton-min-iterations=1

"""Set the model parameters"""
spe11c master #Name of the spe case (spe11a, spe11b, or spe11c) and OPM Flow version (master or release)
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])
corner-point #Type of grid (cartesian, tensor, or corner-point)
8400 5000 1200 #Length, width, and depth [m]
840 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment
30,40,50,40,30 #If cartesian, number of y cells [-]; otherwise, variable array of y-refinment [-] (for spe11c)
5,3,1,2,3,2,4,4,8,4,6,6,4,8,10,30,30,6 #If cartesian, number of z cells [-]; if tensor, variable array of z-refinment; if corner-point, fix array of z-refinment (18 entries)
70 36.12 #Temperature bottom and top rig [C]
300 3e7 0.1 #Datum [m], pressure at the datum [Pa], and multiplier for the permeability in the z direction [-]
1e-9 2e-8 #Diffusion (in liquid and gas) [m^2/s]
8.5e-1 2500 #Rock specific heat and density (for spe11b/c)
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)
150 10 #Elevation of the parabola and back [m] (for spe11c)

"""Set the saturation functions"""
(max(0, (s_w - swi) / (1 - swi))) ** 1.5 #Wetting rel perm saturation function [-]
(max(0, (1 - s_w - sni) / (1 - sni))) ** 1.5 #Non-wetting rel perm saturation function [-]
penmax * math.erf(pen * ((s_w-swi) / (1.-swi)) ** (-(1.0 / 1.5)) * math.pi**0.5 / (penmax * 2)) #Capillary pressure saturation function [Pa]
(np.exp(np.flip(np.linspace(0, 5.0, npoints))) - 1) / (np.exp(5.0) - 1) #Points to evaluate the saturation functions (s_w) [-]

"""Properties sat functions"""
"""swi [-], sni [-], pen [Pa], penmax [Pa], npoints [-]"""
SWI1 0.32 SNI1 0.1 PEN1 193531.39 PENMAX1 3e7 NPOINTS1 1000
SWI2 0.14 SNI2 0.1 PEN2 8654.99 PENMAX2 3e7 NPOINTS2 1000
SWI3 0.12 SNI3 0.1 PEN3 6120.00 PENMAX3 3e7 NPOINTS3 1000
SWI4 0.12 SNI4 0.1 PEN4 3870.63 PENMAX4 3e7 NPOINTS4 1000
SWI5 0.12 SNI5 0.1 PEN5 3060.00 PENMAX5 3e7 NPOINTS5 1000
SWI6 0.10 SNI6 0.1 PEN6 2560.18 PENMAX6 3e7 NPOINTS6 1000
SWI7 0 SNI7 0 PEN7 0 PENMAX7 3e7 NPOINTS7 2

"""Properties rock"""
"""K [mD], phi [-], disp [m], thconr [W m-1 K-1]"""
PERM1 0.10132 PORO1 0.10 DISP1 10 THCONR1 1.90
PERM2 101.324 PORO2 0.20 DISP2 10 THCONR2 1.25
PERM3 202.650 PORO3 0.20 DISP3 10 THCONR3 1.25
PERM4 506.625 PORO4 0.20 DISP4 10 THCONR4 1.25
PERM5 1013.25 PORO5 0.25 DISP5 10 THCONR5 0.92
PERM6 2026.50 PORO6 0.35 DISP6 10 THCONR6 0.26
PERM7 1e-5 PORO7 1e-6 DISP7 0 THCONR7 2.00

"""Wells radius and position"""
"""radius (0 to use the SOURCE keyword instead of well keywords), x, y, and z position [m] (final positions as well for spe11c)"""
0 2700. 1000. 300. 2700. 4000. 300. #Well 1
0 5100. 1000. 700. 5100. 4000. 700. #Well 2

"""Define the injection values ([hours] for spe11a; [years] for spe11b/c)"""
"""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), ..."""
999.9 999.9 1 1 0 10 1 0 10
0.1 0.1 0.1 1 0 10 1 0 10
25 5 0.005 1 50 10 1 0 10
25 5 0.005 1 50 10 1 50 10
50 25 0.005 1 0 10 1 0 10
400 50 0.01 1 0 10 1 0 10
500 100 0.01 1 0 10 1 0 10
Loading