Skip to content

Commit

Permalink
Merge pull request #44 from daavid00/dataReport
Browse files Browse the repository at this point in the history
Adding spe11c results in ca 21 M cells
  • Loading branch information
daavid00 authored Mar 12, 2024
2 parents 7504b8f + 2e74eae commit 8679dfa
Show file tree
Hide file tree
Showing 18 changed files with 192 additions and 35 deletions.
Binary file removed docs/_images/spe11b_performance_detailed_finner.png
Binary file not shown.
Binary file removed docs/_images/spe11b_performance_finner.png
Binary file not shown.
Binary file removed docs/_images/spe11b_sparse_data_finner.png
Binary file not shown.
Binary file removed docs/_images/spe11b_wden_2Dmaps_finner.png
Binary file not shown.
Binary file added docs/_images/spe11c.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 added docs/_images/spe11c_performance.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 added docs/_images/spe11c_sparse_data.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 21 additions & 1 deletion docs/_sources/examples.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,24 @@ skipped and the results were printed ever 25 years instead of 5 years):

.. figure:: figs/spe11b_performance_1m.png

Performance data in the 1 m Cartesian grid.
Performance data in the 1 m Cartesian grid.

=============================
SPE11C in a corner-point grid
=============================

The following are simulation results in a corner-point grid `(spe11c_cp.txt) <https://github.com/OPM/pyopmspe11/blob/main/examples/finner_grids/spe11c_cp.txt>`_ with 21729920 active cells (the inizialization time of 1000 years was skipped):

.. code-block:: bash
pyopmspe11 -i spe11c_cp.txt -o spe11c_cp -m all -g all -r 168,100,120 -t 0,5,10,15,20,25,30,35,40,45,50,75,100,150,200,250,300,350,400,450,500,600,700,800,900,1000
.. figure:: figs/spe11c_sparse_data.png

Sparse data in the corner-point grid.

.. figure:: figs/spe11c_performance.png

Performance data in the corner-point grid.

.. image:: ./figs/spe11c.gif
21 changes: 21 additions & 0 deletions docs/examples.html
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
<li class="toctree-l2"><a class="reference internal" href="#presentation">Presentation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#spe11a-in-a-1-mm-cartesian-grid">SPE11A in a 1 mm Cartesian grid</a></li>
<li class="toctree-l2"><a class="reference internal" href="#spe11b-in-a-1-m-cartesian-grid">SPE11B in a 1 m Cartesian grid</a></li>
<li class="toctree-l2"><a class="reference internal" href="#spe11c-in-a-corner-point-grid">SPE11C in a corner-point grid</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="api.html">pyopmspe11 Python API</a></li>
Expand Down Expand Up @@ -191,6 +192,26 @@ <h2>SPE11B in a 1 m Cartesian grid<a class="headerlink" href="#spe11b-in-a-1-m-c
</figcaption>
</figure>
</section>
<section id="spe11c-in-a-corner-point-grid">
<h2>SPE11C in a corner-point grid<a class="headerlink" href="#spe11c-in-a-corner-point-grid" title="Link to this heading"></a></h2>
<p>The following are simulation results in a corner-point grid <a class="reference external" href="https://github.com/OPM/pyopmspe11/blob/main/examples/finner_grids/spe11c_cp.txt">(spe11c_cp.txt)</a> with 21729920 active cells (the inizialization time of 1000 years was skipped):</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyopmspe11<span class="w"> </span>-i<span class="w"> </span>spe11c_cp.txt<span class="w"> </span>-o<span class="w"> </span>spe11c_cp<span class="w"> </span>-m<span class="w"> </span>all<span class="w"> </span>-g<span class="w"> </span>all<span class="w"> </span>-r<span class="w"> </span><span class="m">168</span>,100,120<span class="w"> </span>-t<span class="w"> </span><span class="m">0</span>,5,10,15,20,25,30,35,40,45,50,75,100,150,200,250,300,350,400,450,500,600,700,800,900,1000
</pre></div>
</div>
<figure class="align-default" id="id7">
<img alt="_images/spe11c_sparse_data.png" src="_images/spe11c_sparse_data.png" />
<figcaption>
<p><span class="caption-text">Sparse data in the corner-point grid.</span><a class="headerlink" href="#id7" title="Link to this image"></a></p>
</figcaption>
</figure>
<figure class="align-default" id="id8">
<img alt="_images/spe11c_performance.png" src="_images/spe11c_performance.png" />
<figcaption>
<p><span class="caption-text">Performance data in the corner-point grid.</span><a class="headerlink" href="#id8" title="Link to this image"></a></p>
</figcaption>
</figure>
<img alt="_images/spe11c.gif" src="_images/spe11c.gif" />
</section>
</section>


Expand Down
1 change: 1 addition & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ <h1>Welcome to pyopmspe11’s documentation!<a class="headerlink" href="#welcome
<li class="toctree-l2"><a class="reference internal" href="examples.html#presentation">Presentation</a></li>
<li class="toctree-l2"><a class="reference internal" href="examples.html#spe11a-in-a-1-mm-cartesian-grid">SPE11A in a 1 mm Cartesian grid</a></li>
<li class="toctree-l2"><a class="reference internal" href="examples.html#spe11b-in-a-1-m-cartesian-grid">SPE11B in a 1 m Cartesian grid</a></li>
<li class="toctree-l2"><a class="reference internal" href="examples.html#spe11c-in-a-corner-point-grid">SPE11C in a corner-point grid</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="api.html">pyopmspe11 Python API</a><ul>
Expand Down
2 changes: 1 addition & 1 deletion docs/searchindex.js

Large diffs are not rendered by default.

22 changes: 21 additions & 1 deletion docs/text/examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,24 @@ skipped and the results were printed ever 25 years instead of 5 years):

.. figure:: figs/spe11b_performance_1m.png

Performance data in the 1 m Cartesian grid.
Performance data in the 1 m Cartesian grid.

=============================
SPE11C in a corner-point grid
=============================

The following are simulation results in a corner-point grid `(spe11c_cp.txt) <https://github.com/OPM/pyopmspe11/blob/main/examples/finner_grids/spe11c_cp.txt>`_ with 21729920 active cells (the inizialization time of 1000 years was skipped):

.. code-block:: bash
pyopmspe11 -i spe11c_cp.txt -o spe11c_cp -m all -g all -r 168,100,120 -t 0,5,10,15,20,25,30,35,40,45,50,75,100,150,200,250,300,350,400,450,500,600,700,800,900,1000
.. figure:: figs/spe11c_sparse_data.png

Sparse data in the corner-point grid.

.. figure:: figs/spe11c_performance.png

Performance data in the corner-point grid.

.. image:: ./figs/spe11c.gif
Binary file added docs/text/figs/spe11c.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 added docs/text/figs/spe11c_performance.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 added docs/text/figs/spe11c_sparse_data.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/spe11c_cp.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 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] (dispersion requires a Flow version newer than 17-11-2023), 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, this requires a Flow version newer than 23-01-2024), 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), ..."""
25 5 0.1 1 50 10 1 0 10
25 5 0.1 1 50 10 1 50 10
50 25 0.1 1 0 10 1 0 10
400 50 0.1 1 0 10 1 0 10
500 100 0.1 1 0 10 1 0 10
Loading

0 comments on commit 8679dfa

Please sign in to comment.