diff --git a/benchmark/spe11a/result1.txt b/benchmark/spe11a/result1.txt index 2b4cea8..9f6fd3a 100644 --- a/benchmark/spe11a/result1.txt +++ b/benchmark/spe11a/result1.txt @@ -3,7 +3,7 @@ mpirun -np 32 flow --partition-method=2 --edge-weights-method=2 --imbalance-tol= """Set the model parameters""" spe11a 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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 280 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/benchmark/spe11a/result2.txt b/benchmark/spe11a/result2.txt index a823f33..3c59924 100644 --- a/benchmark/spe11a/result2.txt +++ b/benchmark/spe11a/result2.txt @@ -3,7 +3,7 @@ mpirun -np 32 flow --partition-method=2 --edge-weights-method=2 --imbalance-tol= """Set the model parameters""" spe11a 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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 280 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/benchmark/spe11a/result3.txt b/benchmark/spe11a/result3.txt index e15fa79..f57e188 100644 --- a/benchmark/spe11a/result3.txt +++ b/benchmark/spe11a/result3.txt @@ -3,7 +3,7 @@ mpirun -np 32 flow --partition-method=2 --edge-weights-method=2 --imbalance-tol= """Set the model parameters""" spe11a 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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 280 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/benchmark/spe11a/result4.txt b/benchmark/spe11a/result4.txt index f92bb8a..5d35908 100644 --- a/benchmark/spe11a/result4.txt +++ b/benchmark/spe11a/result4.txt @@ -3,7 +3,7 @@ mpirun -np 70 flow --partition-method=2 --edge-weights-method=2 --imbalance-tol= """Set the model parameters""" spe11a 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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 2800 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/benchmark/spe11b/result1.txt b/benchmark/spe11b/result1.txt index 0c373bb..67d30b9 100644 --- a/benchmark/spe11b/result1.txt +++ b/benchmark/spe11b/result1.txt @@ -3,7 +3,7 @@ mpirun -np 32 flow --solver-max-time-step-in-days=3650 --relaxed-max-pv-fraction """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 840 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/benchmark/spe11b/result2.txt b/benchmark/spe11b/result2.txt index 15a071d..7315e7f 100644 --- a/benchmark/spe11b/result2.txt +++ b/benchmark/spe11b/result2.txt @@ -3,7 +3,7 @@ mpirun -np 32 flow --solver-max-time-step-in-days=3650 --relaxed-max-pv-fraction """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 1 1200 #Length, width, and depth [m] 840 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/benchmark/spe11b/result3.txt b/benchmark/spe11b/result3.txt index b96aeca..0bc75e0 100644 --- a/benchmark/spe11b/result3.txt +++ b/benchmark/spe11b/result3.txt @@ -3,7 +3,7 @@ mpirun -np 64 flow --relaxed-max-pv-fraction=0 --partition-method=2 --edge-weigh """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 diff --git a/benchmark/spe11c/result1.txt b/benchmark/spe11c/result1.txt index 68bde3f..b48e4fc 100644 --- a/benchmark/spe11c/result1.txt +++ b/benchmark/spe11c/result1.txt @@ -1,14 +1,14 @@ """Set the full path to the flow executable and flags""" -mpirun -np 64 flow --relaxed-max-pv-fraction=0 --partition-method=2 --edge-weights-method=2 --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=13 --solver-growth-factor=1.9 --time-step-control-growth-rate=1.5 --enable-drift-compensation=0 +mpirun -np 64 flow --solver-max-time-step-in-days=3650 --relaxed-max-pv-fraction=0 --partition-method=2 --edge-weights-method=2 --imbalance-tol=1.1 --tolerance-mb=1e-7 --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=12 --solver-growth-factor=1.6 --time-step-control-growth-rate=1.1 --solver-restart-factor=0.2 --time-step-control-decay-rate=0.65 --enable-drift-compensation=0 """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) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 5000 1200 #Length, width, and depth [m] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment 100 #If cartesian, number of y cells [-]; otherwise, variable array of y-refinment [-] (for spe11c) -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) +120 #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] @@ -51,8 +51,8 @@ PERM7 1e-5 PORO7 1e-6 DISP7 0 THCONR7 2.00 """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 10 1 0 10 1 0 10 0.1 0.1 0.1 1 0 10 1 0 10 - 25 5 1 1 50 10 1 0 10 - 25 5 0.3 1 50 10 1 50 10 - 50 25 0.5 1 0 10 1 0 10 - 400 50 0.5 1 0 10 1 0 10 - 500 100 1 1 0 10 1 0 10 \ No newline at end of file + 25 5 5 1 50 10 1 0 10 + 25 5 5 1 50 10 1 50 10 + 50 25 25 1 0 10 1 0 10 + 400 50 50 1 0 10 1 0 10 + 500 100 100 1 0 10 1 0 10 \ No newline at end of file diff --git a/benchmark/spe11c/result2.txt b/benchmark/spe11c/result2.txt index 9cf6238..b9c2643 100644 --- a/benchmark/spe11c/result2.txt +++ b/benchmark/spe11c/result2.txt @@ -1,14 +1,14 @@ """Set the full path to the flow executable and flags""" -mpirun -np 64 flow --solver-max-time-step-in-days=3650 --relaxed-max-pv-fraction=0 --partition-method=2 --edge-weights-method=2 --imbalance-tol=1.1 --tolerance-mb=1e-7 --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=12 --solver-growth-factor=1.6 --time-step-control-growth-rate=1.1 --solver-restart-factor=0.2 --time-step-control-decay-rate=0.65 --enable-drift-compensation=0 +mpirun -np 64 flow --relaxed-max-pv-fraction=0 --partition-method=2 --edge-weights-method=2 --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=13 --solver-growth-factor=1.9 --time-step-control-growth-rate=1.5 --enable-drift-compensation=0 """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]) -cartesian #Type of grid (cartesian, tensor, or corner-point) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment 100 #If cartesian, number of y cells [-]; otherwise, variable array of y-refinment [-] (for spe11c) -120 #If cartesian, number of z cells [-]; if tensor, variable array of z-refinment; if corner-point, fix array of z-refinment (18 entries) +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) 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] @@ -51,8 +51,8 @@ PERM7 1e-5 PORO7 1e-6 DISP7 0 THCONR7 2.00 """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 10 1 0 10 1 0 10 0.1 0.1 0.1 1 0 10 1 0 10 - 25 5 5 1 50 10 1 0 10 - 25 5 5 1 50 10 1 50 10 - 50 25 25 1 0 10 1 0 10 - 400 50 50 1 0 10 1 0 10 - 500 100 100 1 0 10 1 0 10 \ No newline at end of file + 25 5 1 1 50 10 1 0 10 + 25 5 0.3 1 50 10 1 50 10 + 50 25 0.5 1 0 10 1 0 10 + 400 50 0.5 1 0 10 1 0 10 + 500 100 1 1 0 10 1 0 10 \ No newline at end of file diff --git a/benchmark/spe11c/result3.txt b/benchmark/spe11c/result3.txt index b1d724e..3ca7f14 100644 --- a/benchmark/spe11c/result3.txt +++ b/benchmark/spe11c/result3.txt @@ -3,7 +3,7 @@ mpirun -np 1024 flow --partition-method=2 --edge-weights-method=2 --imbalance-to """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 1050 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/docs/_images/fipnum.png b/docs/_images/fipnum.png index ee11815..89e173d 100644 Binary files a/docs/_images/fipnum.png and b/docs/_images/fipnum.png differ diff --git a/docs/_sources/configuration_file.rst.txt b/docs/_sources/configuration_file.rst.txt index 43d7d97..1e9871e 100644 --- a/docs/_sources/configuration_file.rst.txt +++ b/docs/_sources/configuration_file.rst.txt @@ -35,7 +35,7 @@ The following input lines in the configuration file are: """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]) + complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 420 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment @@ -52,7 +52,8 @@ In line 5 you specify if you are using OPM Flow from the master branch or from t This since there are continuous changues in the OPM master branch. Then we will keep updating the decks for using Flow from master and also we will keep the framework to produce decks compatible for the latest OPM stable release. The immiscible model allows for faster prototyping while the complete model includes dissolution of the components in the -gas and liquid phases, in addition to thermal effects. Regarding the grid type, the cartesian mode generates an uniform grid +gas and liquid phases, in addition to thermal effects. The convective model requires a Flow version newer than 22-08-2024; details on the model and keyword can be found in this `link `_. +Regarding the grid type, the cartesian mode generates an uniform grid with the defined number of elements in lines 9 to 11. The tensor grid allows to define arrays in each direction where the grid is first divided with the number of entries in the array, and after it divides each of these elements by the assigned number in the array entry. The corner-point mode generates a grid where the x and y direction are defined as in the array mode, but the diff --git a/docs/_static/logo.png b/docs/_static/logo.png index a44d036..954a034 100644 Binary files a/docs/_static/logo.png and b/docs/_static/logo.png differ diff --git a/docs/configuration_file.html b/docs/configuration_file.html index ac4e3ea..9b45f87 100644 --- a/docs/configuration_file.html +++ b/docs/configuration_file.html @@ -113,7 +113,7 @@

Reservoir-related parameters
 4"""Set the model parameters"""
  5spe11c master     #Name of the spe case (spe11a, spe11b, or spe11c) and OPM Flow version (master or release)
- 6complete 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])
+ 6complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], or complete) and co2store implementation (gaswater or gasoil [oil properties are set to water internally in OPM flow])
  7corner-point      #Type of grid (cartesian, tensor, or corner-point)
  88400 5000 1200    #Length, width, and depth [m]
  9420               #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment
@@ -131,7 +131,8 @@ 

Reservoir-related parameterslink. +Regarding the grid type, the cartesian mode generates an uniform grid with the defined number of elements in lines 9 to 11. The tensor grid allows to define arrays in each direction where the grid is first divided with the number of entries in the array, and after it divides each of these elements by the assigned number in the array entry. The corner-point mode generates a grid where the x and y direction are defined as in the array mode, but the diff --git a/docs/genindex.html b/docs/genindex.html index fbf1792..8df9d27 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -87,6 +87,7 @@

Index

| C | D | G + | H | I | L | M @@ -159,6 +160,14 @@

G

+

H

+ + +
+

I

    diff --git a/docs/objects.inv b/docs/objects.inv index 32222ba..17301be 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/pyopmspe11.html b/docs/pyopmspe11.html index 3c5f514..0fcb8dd 100644 --- a/docs/pyopmspe11.html +++ b/docs/pyopmspe11.html @@ -106,6 +106,7 @@

    SubpackagesSubmodules
    • pyopmspe11.utils.inputvalues module
      • check_deck()
      • +
      • handle_tuning()
      • process_input()
      • readthefirstpart()
      • readthesecondpart()
      • diff --git a/docs/pyopmspe11.utils.html b/docs/pyopmspe11.utils.html index 512d16d..cea2176 100644 --- a/docs/pyopmspe11.utils.html +++ b/docs/pyopmspe11.utils.html @@ -92,6 +92,7 @@

        Submodulespyopmspe11.utils.inputvalues module
        • check_deck()
        • +
        • handle_tuning()
        • process_input()
        • readthefirstpart()
        • readthesecondpart()
        • diff --git a/docs/pyopmspe11.utils.inputvalues.html b/docs/pyopmspe11.utils.inputvalues.html index c0256c5..29fbc59 100644 --- a/docs/pyopmspe11.utils.inputvalues.html +++ b/docs/pyopmspe11.utils.inputvalues.html @@ -100,6 +100,19 @@ +
          +
          +pyopmspe11.utils.inputvalues.handle_tuning(dic)
          +

          If tuning is enable, then we write the entries corresponding to the maximum +length of the next time step after event and the solver restart factor.

          +
          +
          Args:

          dic (dict): Global dictionary

          +
          +
          Returns:

          dic (dict): Modified global dictionary

          +
          +
          +
          +
          pyopmspe11.utils.inputvalues.process_input(dic, in_file)
          diff --git a/docs/pyopmspe11.utils.runs.html b/docs/pyopmspe11.utils.runs.html index febc2e6..6acbf57 100644 --- a/docs/pyopmspe11.utils.runs.html +++ b/docs/pyopmspe11.utils.runs.html @@ -114,12 +114,13 @@
          -pyopmspe11.utils.runs.simulations(dic, deck, folder)
          +pyopmspe11.utils.runs.simulations(dic, deck, folder, dryrun)

          Run OPM Flow

          Args:

          dic (dict): Global dictionary

          deck (str): Name of the input deck

          folder (str): Name of destination of the output files

          +

          dryrun (bool): Run a dry simulation for the initial files.

          Returns:

          None

          diff --git a/docs/searchindex.js b/docs/searchindex.js index 0819871..94d6900 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["about", "api", "benchmark", "configuration_file", "examples", "index", "installation", "introduction", "modules", "output_folder", "pyopmspe11", "pyopmspe11.core", "pyopmspe11.core.pyopmspe11", "pyopmspe11.utils", "pyopmspe11.utils.inputvalues", "pyopmspe11.utils.mapproperties", "pyopmspe11.utils.runs", "pyopmspe11.utils.writefile", "related"], "filenames": ["about.rst", "api.rst", "benchmark.rst", "configuration_file.rst", "examples.rst", "index.rst", "installation.rst", "introduction.rst", "modules.rst", "output_folder.rst", "pyopmspe11.rst", "pyopmspe11.core.rst", "pyopmspe11.core.pyopmspe11.rst", "pyopmspe11.utils.rst", "pyopmspe11.utils.inputvalues.rst", "pyopmspe11.utils.mapproperties.rst", "pyopmspe11.utils.runs.rst", "pyopmspe11.utils.writefile.rst", "related.rst"], "titles": ["About pyopmspe11", "pyopmspe11 Python API", "Benchmark", "Configuration file", "Examples", "Welcome to pyopmspe11\u2019s documentation!", "Installation", "Introduction", "pyopmspe11", "Output folder", "pyopmspe11 package", "pyopmspe11.core package", "pyopmspe11.core.pyopmspe11 module", "pyopmspe11.utils package", "pyopmspe11.utils.inputvalues module", "pyopmspe11.utils.mapproperties module", "pyopmspe11.utils.runs module", "pyopmspe11.utils.writefile module", "Related"], "terms": {"thi": [0, 3, 4, 6, 7], "packag": [0, 1, 5, 7, 8, 18], "i": [0, 1, 3, 4, 6, 7, 14, 15], "being": 0, "fund": 0, "hpc": 0, "simul": [0, 2, 3, 4, 6, 7, 9, 10, 13, 15, 16, 18], "softwar": 0, "gigatonn": 0, "storag": [0, 18], "challeng": 0, "project": [0, 6, 7], "number": [0, 3, 4, 7, 15], "622059": 0, "center": [0, 15], "sustain": 0, "subsurfac": 0, "resourc": [0, 18], "cssr": 0, "331841": 0, "work": 0, "progress": 0, "here": [0, 2, 3, 4, 9], "link": [0, 17], "spe11": [0, 15], "detail": 0, "contribut": [0, 6], "ar": [0, 2, 3, 4, 6, 9, 18], "more": 0, "than": [0, 6], "welcom": [0, 4], "us": [0, 1, 3, 4, 6, 7, 9, 14, 17, 18], "fork": 0, "pull": 0, "request": [0, 7], "approach": [0, 18], "The": [1, 2, 3, 4, 7, 9], "main": [1, 10, 11, 12], "script": [1, 3, 6, 12], "execut": [1, 3, 4, 6, 7, 9, 12, 14], "locat": [1, 2, 3, 7, 15], "core": [1, 6, 8, 10], "folder": [1, 2, 3, 4, 5, 6, 7, 16, 18], "reference_mesh": 1, "contain": [1, 4], "gmsh": [1, 15], "file": [1, 2, 4, 5, 6, 7, 9, 14, 15, 16, 17, 18], "obtain": 1, "coordin": [1, 15, 17], "differ": [1, 3, 4, 9, 15], "faci": [1, 3, 15], "gener": [1, 3, 4, 7, 9, 16, 17, 18], "corner": [1, 3, 4, 7, 10, 13, 15], "point": [1, 3, 4, 7, 15], "grid": [1, 3, 4, 6, 7, 10, 13, 15], "util": [1, 8, 10], "process": [1, 14, 16], "input": [1, 3, 7, 14, 16], "configur": [1, 2, 4, 5, 7, 9, 14, 18], "creat": [1, 6, 7, 15], "geolog": [1, 15, 18], "model": [1, 3, 6, 14, 15, 18], "write": [1, 3, 7, 14, 16, 17], "templat": [1, 17], "visual": [1, 3, 4, 9], "postprocess": [1, 18], "result": [1, 2, 3, 4, 7, 9], "subpackag": [1, 5, 8], "submodul": [1, 8, 10], "modul": [1, 5, 6, 8, 18], "content": [1, 5, 8], "These": 2, "preliminari": 2, "updat": [2, 3], "up": 2, "final": [2, 3, 4], "submiss": 2, "deadlin": 2, "septemb": 2, "20th": 2, "2024": [2, 3, 5, 6], "see": [2, 3, 4, 6, 9], "For": [2, 4, 6, 15], "exampl": [2, 3, 5, 9], "new": [2, 15], "result3": 2, "still": 2, "run": [2, 3, 4, 6, 7, 9, 10, 13, 17], "handl": [2, 15], "mass": [2, 3, 4], "issu": [2, 3, 4], "includ": [2, 3, 6], "1000": [2, 3, 4], "year": [2, 3], "initi": [2, 4, 10, 13, 17], "time": [2, 3, 4, 7], "respect": 2, "first": 3, "set": [3, 4, 6, 7, 14], "full": 3, "path": [3, 7], "flow": [3, 5, 7, 9, 14, 16, 17, 18], "flag": [3, 4, 6, 7], "linear": 3, "solver": [3, 9], "cprw": 3, "enabl": 3, "tune": 3, "true": 3, "opm": [3, 5, 7, 9, 16, 17, 18], "rst": 3, "output": [3, 4, 5, 6, 7, 16, 17], "extra": 3, "converg": 3, "info": 3, "step": [3, 4, 7], "iter": 3, "newton": 3, "min": 3, "1": [3, 4, 6, 7, 15], "If": [3, 6, 7, 9], "your": 3, "e": [3, 4, 6, 7, 9, 17], "g": [3, 4, 6, 7, 9, 17], "user": [3, 6], "dmar": 3, "build": [3, 5], "bin": [3, 6], "we": [3, 4], "also": [3, 6, 7, 15], "add": [3, 9, 15], "same": [3, 4, 7, 18], "line": [3, 4, 6, 14, 15], "mani": 3, "requir": [3, 6, 9], "document": [3, 7, 9], "you": [3, 6, 9], "have": [3, 4], "instal": [3, 5, 9], "mpi": [3, 6], "support": [3, 6, 7], "can": [3, 4, 6, 9], "parallel": 3, "ad": [3, 5, 17], "mpirun": 3, "np": 3, "n": 3, "where": [3, 7], "cpu": 3, "By": 3, "h": [3, 7], "get": [3, 6, 15], "an": [3, 6, 9, 18], "overview": [3, 5, 6], "avail": [3, 6], "improv": 3, "fix": [3, 4], "chang": [3, 4], "tighten": 3, "cnv": 3, "toler": 3, "etc": 3, "follow": [3, 4, 6, 7, 9, 18], "spe11c": [3, 5, 7, 15], "master": [3, 6], "name": [3, 7, 14, 16], "spe": [3, 7], "case": [3, 7], "spe11a": [3, 5, 7, 15], "spe11b": [3, 5, 7, 15], "version": [3, 6], "releas": [3, 6, 14], "complet": 3, "gaswat": 3, "co2": [3, 4, 18], "immisc": 3, "co2stor": 3, "implement": [3, 7], "gasoil": 3, "oil": 3, "properti": [3, 7, 15], "water": 3, "intern": 3, "type": [3, 4, 7, 15, 18], "cartesian": [3, 4, 7, 15], "tensor": [3, 4, 7, 15], "8400": 3, "5000": 3, "1200": 3, "length": 3, "width": 3, "depth": 3, "m": [3, 4, 6, 7], "420": 3, "x": [3, 4, 7, 15], "cell": [3, 4, 7, 15, 17], "otherwis": [3, 6, 7, 15], "variabl": [3, 17], "arrai": 3, "refin": [3, 15], "30": [3, 4], "40": [3, 4], "50": [3, 4], "y": [3, 7, 15], "5": [3, 4, 7], "3": [3, 6], "2": 3, "4": 3, "10": [3, 4, 6], "6": 3, "8": [3, 7], "15": [3, 4, 15], "9": [3, 6], "z": [3, 7, 15], "18": [3, 15], "entri": 3, "70": 3, "36": 3, "12": 3, "temperatur": 3, "bottom": 3, "top": 3, "rig": 3, "c": [3, 4, 7, 15], "300": [3, 4], "3e7": 3, "0": [3, 4, 6, 7], "datum": 3, "pressur": 3, "pa": 3, "multipli": 3, "permeabl": 3, "direct": 3, "1e": 3, "2e": 3, "diffus": 3, "liquid": 3, "ga": 3, "": 3, "5e": 3, "2500": 3, "rock": [3, 7], "specif": 3, "heat": 3, "densiti": 3, "5e4": 3, "pore": [3, 15, 17], "volum": [3, 15, 17], "boundari": [3, 15, 17], "free": 3, "bc": [3, 15], "later": 3, "buffer": [3, 15], "150": [3, 4], "elev": 3, "parabola": [3, 15], "back": [3, 15], "In": [3, 4, 7, 9], "specifi": 3, "from": [3, 4, 6, 14, 15, 18], "branch": [3, 6], "latest": [3, 4], "stabl": 3, "04": [3, 6], "sinc": 3, "continu": 3, "changu": 3, "Then": [3, 4, 6, 9], "keep": 3, "deck": [3, 4, 7, 16, 17], "framework": [3, 4, 7, 18], "produc": 3, "compat": 3, "allow": 3, "faster": [3, 6], "prototyp": 3, "while": [3, 4], "dissolut": 3, "compon": 3, "phase": 3, "addit": [3, 6, 7, 9], "thermal": 3, "effect": 3, "regard": [3, 6], "mode": 3, "uniform": 3, "defin": [3, 4, 7], "element": [3, 7], "11": 3, "each": 3, "divid": 3, "after": [3, 5, 6, 9], "assign": [3, 15], "face": 3, "lines_coordin": 3, "geo": 3, "level": 3, "test": [3, 4, 6, 9], "inj0": 3, "horizont": 3, "inj1": 3, "curv": 3, "figur": [3, 4, 7, 9, 16, 18], "show": [3, 9], "7": [3, 4], "fipnum": [3, 15], "identifi": 3, "box": [3, 10, 13, 15], "A": [3, 15, 18], "b": [3, 15], "sensor": [3, 10, 13, 15], "region": 3, "report": [3, 4, 7, 9, 15], "benchmark": [3, 4, 5, 7, 16], "data": [3, 4, 7, 10, 13, 15, 16], "satur": [3, 14], "function": [3, 7, 12, 14, 15, 16, 17], "max": 3, "s_w": 3, "swi": 3, "wet": 3, "rel": 3, "perm": 3, "sni": 3, "non": 3, "penmax": 3, "math": 3, "erf": 3, "pen": 3, "pi": 3, "capillari": 3, "exp": 3, "flip": 3, "linspac": 3, "npoint": 3, "evalu": 3, "sat": 3, "swi1": 3, "32": 3, "sni1": 3, "pen1": 3, "193531": 3, "39": 3, "penmax1": 3, "npoints1": 3, "swi2": 3, "14": [3, 15], "sni2": 3, "pen2": 3, "8654": 3, "99": 3, "penmax2": 3, "npoints2": 3, "swi3": 3, "sni3": 3, "pen3": 3, "6120": 3, "00": 3, "penmax3": 3, "npoints3": 3, "swi4": 3, "sni4": 3, "pen4": 3, "3870": 3, "63": 3, "penmax4": 3, "npoints4": 3, "swi5": 3, "sni5": 3, "pen5": 3, "3060": 3, "penmax5": 3, "npoints5": 3, "swi6": 3, "sni6": 3, "pen6": 3, "2560": 3, "penmax6": 3, "npoints6": 3, "swi7": 3, "sni7": 3, "pen7": 3, "penmax7": 3, "npoints7": 3, "k": [3, 15], "md": 3, "phi": 3, "disp": 3, "thconr": 3, "w": [3, 4, 7], "perm1": 3, "10132": 3, "poro1": 3, "disp1": 3, "thconr1": 3, "90": 3, "perm2": 3, "101": 3, "324": 3, "poro2": 3, "20": [3, 4], "disp2": 3, "thconr2": 3, "25": [3, 4], "perm3": 3, "202": 3, "650": 3, "poro3": 3, "disp3": 3, "thconr3": 3, "perm4": 3, "506": 3, "625": 3, "poro4": 3, "disp4": 3, "thconr4": 3, "perm5": 3, "1013": 3, "poro5": 3, "disp5": 3, "thconr5": 3, "92": 3, "perm6": 3, "2026": 3, "poro6": 3, "35": [3, 4], "disp6": 3, "thconr6": 3, "26": 3, "perm7": 3, "poro7": 3, "disp7": 3, "thconr7": 3, "resinsight": [3, 9], "last": 3, "part": 3, "radiu": 3, "inject": [3, 4, 7], "schedul": [3, 7], "posit": [3, 10, 13, 15], "sourc": [3, 5, 7, 15, 18], "keyword": [3, 17], "instead": [3, 6], "2700": 3, "4000": 3, "5100": 3, "700": [3, 4], "valu": [3, 14, 17], "hour": 3, "size": [3, 4], "maximum": [3, 4], "fluid": [3, 7], "well1": 3, "rate": 3, "kg": 3, "well2": 3, "999": 3, "400": [3, 4], "500": [3, 4], "100": [3, 4], "linebreak": 3, "between": [3, 4, 7], "section": [3, 4], "current": [3, 6, 7], "read": [3, 6, 14, 15], "hello_world": 4, "low": 4, "resolut": 4, "shorter": 4, "injet": 4, "pyopmspe11": [4, 6, 7, 9], "txt": [4, 6, 7, 9], "o": [4, 7], "all": [4, 7], "t": [4, 7], "r": [4, 6, 7], "one": [4, 7, 9], "relat": [4, 5, 9, 17], "domain": 4, "over": 4, "map": [4, 7], "equidist": 4, "let": 4, "u": [4, 6, 7], "now": 4, "save": [4, 9], "deck_flow_data": [4, 7], "performance_spars": [4, 7], "just": 4, "perform": [4, 7], "spars": [4, 7], "comparison": [4, 7], "both": 4, "achiv": 4, "some": [4, 9, 17, 18], "compar": [4, 7], "veri": 4, "coarser": 4, "fast": 4, "finer": 4, "below": [4, 18], "ones": 4, "present": 4, "second": 4, "csp": 4, "There": 4, "been": 4, "two": 4, "bug": 4, "pr": 4, "mm": 4, "spe11a1mm": 4, "cmish": 4, "spe11a_cp_1cmish": 4, "280": 4, "120": 4, "16666666666666666": 4, "cm": 4, "left": 4, "right": 4, "spe11b1m": 4, "well": [4, 5, 6, 7, 10, 13, 15, 18], "spe11b10m": 4, "which": [4, 6], "dens": [4, 7], "840": 4, "spe11c_cp": 4, "21729920": 4, "activ": [4, 6], "spe11c_168_100_120": 4, "168": 4, "45": 4, "75": 4, "200": 4, "250": 4, "350": 4, "450": 4, "600": 4, "800": 4, "900": 4, "dure": 4, "period": 4, "injeciton": 4, "ha": 4, "restrict": 4, "look": 4, "debug": 4, "reduc": 4, "chop": 4, "conserv": 4, "better": 4, "tun": 4, "cp": 4, "cart": 4, "introduct": 5, "concept": 5, "python": [5, 7], "linux": 5, "window": 5, "maco": 5, "reservoir": 5, "paramet": [5, 14], "soil": 5, "hello": [5, 9], "world": [5, 9], "befor": 5, "13": [5, 15], "06": 5, "workshop": 5, "api": 5, "pyopmnearwel": 5, "pycopm": 5, "exprecc": 5, "micp": 5, "pymm": 5, "about": 5, "index": [5, 15], "search": 5, "page": 5, "To": 6, "exist": 6, "environ": 6, "pip": 6, "git": [6, 17], "http": [6, 7], "github": [6, 7, 17], "com": [6, 7], "interest": 6, "modifi": [6, 9, 14, 15, 17], "code": 6, "clone": 6, "repositori": [6, 17], "virtual": 6, "command": 6, "repo": 6, "insid": 6, "cd": 6, "python3": 6, "venv": 6, "vpyopmspe11": 6, "upgrad": 6, "setuptool": 6, "wheel": 6, "lint": 6, "dev": [6, 9], "egrid": 6, "init": 6, "unrst": 6, "possibl": 6, "librari": 6, "resdata": [6, 7], "seem": 6, "larg": 6, "termin": [6, 14], "need": 6, "org": 6, "ci": 6, "yml": 6, "binari": 6, "subsystem": 6, "could": [6, 9], "try": 6, "prerequisit": 6, "turn": 6, "should": 6, "current_directori": 6, "pwd": 6, "common": [6, 7], "do": 6, "done": 6, "mkdir": 6, "cmake": 6, "duse_mpi": 6, "dwith_ndebug": 6, "dcmake_build_typ": 6, "dcmake_prefix_path": 6, "make": 6, "j5": 6, "sh": 6, "build_opm_mpi": 6, "copi": 6, "previou": 6, "so": 6, "built": 6, "dune": 6, "macport": 6, "brew": 6, "achiev": 6, "geometri": 6, "istl": 6, "gitlab": 6, "v2": 6, "dunecontrol": 6, "onli": [6, 7], "dcmake_disable_find_package_mpi": 6, "dpython_execut": 6, "dopm_enable_python": 6, "ON": 6, "echo": 6, "export": 6, "pythonpath": 6, "deactiv": 6, "might": 6, "depend": 6, "found": 6, "recommend": 6, "equal": 6, "higher": 6, "remov": 6, "pyproject": 6, "toml": 6, "when": 6, "alwai": 6, "default": [6, 7], "describ": 7, "host": 7, "simplifi": [7, 18], "flexibl": [7, 18], "three": 7, "solut": 7, "via": 7, "select": [7, 9], "whole": 7, "format": [7, 9], "png": [7, 9, 18], "quick": [7, 18], "inspect": 7, "assess": 7, "sensit": 7, "argument": [7, 9, 12], "option": [7, 9, 12], "configuration_fil": 7, "base": [7, 18], "plot": [7, 9, 10, 13, 16], "deck_flow": 7, "data_plot": 7, "flow_data": 7, "flow_data_plot": 7, "spatial": 7, "dense_perform": 7, "dense_spars": 7, "dense_performance_spars": 7, "separ": 7, "comma": 7, "interv": 7, "screenshot": 9, "directli": 9, "call": 9, "tracer": 9, "pytest": 9, "cov": 9, "term": 9, "miss": 9, "load_pars": [10, 11, 12], "inputvalu": [10, 13], "check_deck": [10, 13, 14], "process_input": [10, 13, 14], "readthefirstpart": [10, 13, 14], "readthesecondpart": [10, 13, 14], "mapproperti": [10, 13], "add_pv_fipnum_front_back": [10, 13, 15], "check_facie1": [10, 13, 15], "corner_point_handling_spe11a": [10, 13, 15], "corner_point_handling_spe11bc": [10, 13, 15], "get_cell_info": [10, 13, 15], "get_lin": [10, 13, 15], "getfaci": [10, 13, 15], "locate_wells_sensor": [10, 13, 15], "map_z": [10, 13, 15], "refinement_z": [10, 13, 15], "set_back_front_fipnum": [10, 13, 15], "structured_handling_spe11a": [10, 13, 15], "structured_handling_spe11bc": [10, 13, 15], "writefil": [10, 13], "added_pv": [10, 13, 17], "opm_fil": [10, 13, 17], "write_keyword": [10, 13, 17], "utilii": [14, 15, 16, 17], "requiri": 14, "dic": [14, 15, 16, 17], "unsupport": 14, "featur": 14, "arg": [14, 15, 16, 17], "dict": [14, 15, 16, 17], "global": [14, 15, 16, 17], "dictionari": [14, 15, 16, 17], "return": [14, 15, 16, 17], "in_fil": 14, "str": [14, 16, 17], "text": 14, "lol": 14, "list": [14, 15], "until": 14, "end": 14, "label": 15, "front": 15, "x_c": 15, "z_c": 15, "idx": 15, "satnum": 15, "find": [15, 17], "indic": 15, "float": 15, "int": 15, "numa": 15, "numb": 15, "overlap": 15, "ijk": 15, "surfac": 15, "refer": 15, "j": 15, "id": 15, "along": 15, "axi": 15, "sand": 15, "xci": 15, "zci": 15, "ncx": 15, "ncz": 15, "znr": 15, "dir": 15, "integ": 15, "per": 15, "xcr": 15, "zcr": 15, "ind": 15, "16": 15, "17": 15, "none": [16, 17], "destin": 16, "necessari": 17, "mako": 17, "check": 18, "them": 18, "out": 18, "dynam": 18, "coarsen": 18, "expans": 18, "horda": 18, "platform": 18, "studi": 18, "leakag": 18, "remedi": 18, "microbi": 18, "induc": 18, "calcit": 18, "precipit": 18, "open": 18, "imag": 18, "cfd": 18, "microsystem": 18, "plopm": 5, "vtk": 18}, "objects": {"": [[10, 0, 0, "-", "pyopmspe11"]], "pyopmspe11": [[11, 0, 0, "-", "core"], [13, 0, 0, "-", "utils"]], "pyopmspe11.core": [[12, 0, 0, "-", "pyopmspe11"]], "pyopmspe11.core.pyopmspe11": [[12, 1, 1, "", "load_parser"], [12, 1, 1, "", "main"], [12, 1, 1, "", "pyopmspe11"]], "pyopmspe11.utils": [[14, 0, 0, "-", "inputvalues"], [15, 0, 0, "-", "mapproperties"], [16, 0, 0, "-", "runs"], [17, 0, 0, "-", "writefile"]], "pyopmspe11.utils.inputvalues": [[14, 1, 1, "", "check_deck"], [14, 1, 1, "", "process_input"], [14, 1, 1, "", "readthefirstpart"], [14, 1, 1, "", "readthesecondpart"]], "pyopmspe11.utils.mapproperties": [[15, 1, 1, "", "add_pv_fipnum_front_back"], [15, 1, 1, "", "boxes"], [15, 1, 1, "", "check_facie1"], [15, 1, 1, "", "corner"], [15, 1, 1, "", "corner_point_handling_spe11a"], [15, 1, 1, "", "corner_point_handling_spe11bc"], [15, 1, 1, "", "get_cell_info"], [15, 1, 1, "", "get_lines"], [15, 1, 1, "", "getfacies"], [15, 1, 1, "", "grid"], [15, 1, 1, "", "locate_wells_sensors"], [15, 1, 1, "", "map_z"], [15, 1, 1, "", "positions"], [15, 1, 1, "", "refinement_z"], [15, 1, 1, "", "sensors"], [15, 1, 1, "", "set_back_front_fipnums"], [15, 1, 1, "", "structured_handling_spe11a"], [15, 1, 1, "", "structured_handling_spe11bc"], [15, 1, 1, "", "wells"]], "pyopmspe11.utils.runs": [[16, 1, 1, "", "data"], [16, 1, 1, "", "plotting"], [16, 1, 1, "", "simulations"]], "pyopmspe11.utils.writefile": [[17, 1, 1, "", "added_pv"], [17, 1, 1, "", "initial"], [17, 1, 1, "", "opm_files"], [17, 1, 1, "", "write_keywords"]]}, "objtypes": {"0": "py:module", "1": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "titleterms": {"about": 0, "pyopmspe11": [0, 1, 5, 8, 10, 11, 12, 13, 14, 15, 16, 17], "python": [1, 6], "api": 1, "benchmark": 2, "spe11a": [2, 4], "spe11b": [2, 4], "spe11c": [2, 4], "configur": 3, "file": 3, "reservoir": 3, "relat": [3, 18], "paramet": 3, "soil": 3, "well": 3, "exampl": 4, "hello": 4, "world": 4, "befor": 4, "13": 4, "06": 4, "2024": 4, "workshop": 4, "after": 4, "welcom": 5, "": 5, "document": 5, "indic": 5, "tabl": 5, "instal": 6, "packag": [6, 10, 11, 13], "opm": 6, "flow": 6, "sourc": 6, "build": 6, "linux": 6, "window": 6, "maco": 6, "introduct": 7, "concept": 7, "overview": 7, "output": 9, "folder": 9, "subpackag": 10, "modul": [10, 11, 12, 13, 14, 15, 16, 17], "content": [10, 11, 13], "core": [11, 12], "submodul": [11, 13], "util": [13, 14, 15, 16, 17], "inputvalu": 14, "mapproperti": 15, "run": 16, "writefil": 17, "pyopmnearwel": 18, "pycopm": 18, "exprecc": 18, "ad": 18, "micp": 18, "pymm": 18, "plopm": 18}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"About pyopmspe11": [[0, "about-pyopmspe11"]], "pyopmspe11 Python API": [[1, "pyopmspe11-python-api"]], "pyopmspe11": [[1, "pyopmspe11"], [8, "pyopmspe11"]], "Benchmark": [[2, "benchmark"]], "SPE11A": [[2, "spe11a"], [4, "spe11a"], [4, "id1"]], "SPE11B": [[2, "spe11b"], [4, "spe11b"], [4, "id2"]], "SPE11C": [[2, "spe11c"], [4, "spe11c"], [4, "id3"]], "Configuration file": [[3, "configuration-file"]], "Reservoir-related parameters": [[3, "reservoir-related-parameters"]], "Soil-related parameters": [[3, "soil-related-parameters"]], "Well-related parameters": [[3, "well-related-parameters"]], "Examples": [[4, "examples"]], "Hello world": [[4, "hello-world"]], "Before the 13.06.2024 workshop": [[4, "before-the-13-06-2024-workshop"]], "After the 13.06.2024 workshop": [[4, "after-the-13-06-2024-workshop"]], "Welcome to pyopmspe11\u2019s documentation!": [[5, "welcome-to-pyopmspe11-s-documentation"]], "Indices and tables": [[5, "indices-and-tables"]], "Installation": [[6, "installation"]], "Python package": [[6, "python-package"]], "OPM Flow": [[6, "opm-flow"]], "Source build in Linux/Windows": [[6, "source-build-in-linux-windows"]], "Source build in macOS": [[6, "source-build-in-macos"]], "Introduction": [[7, "introduction"]], "Concept": [[7, "concept"]], "Overview": [[7, "overview"]], "Output folder": [[9, "output-folder"]], "pyopmspe11 package": [[10, "pyopmspe11-package"]], "Subpackages": [[10, "subpackages"]], "Module contents": [[10, "module-pyopmspe11"], [11, "module-pyopmspe11.core"], [13, "module-pyopmspe11.utils"]], "pyopmspe11.core package": [[11, "pyopmspe11-core-package"]], "Submodules": [[11, "submodules"], [13, "submodules"]], "pyopmspe11.core.pyopmspe11 module": [[12, "module-pyopmspe11.core.pyopmspe11"]], "pyopmspe11.utils package": [[13, "pyopmspe11-utils-package"]], "pyopmspe11.utils.inputvalues module": [[14, "module-pyopmspe11.utils.inputvalues"]], "pyopmspe11.utils.mapproperties module": [[15, "module-pyopmspe11.utils.mapproperties"]], "pyopmspe11.utils.runs module": [[16, "module-pyopmspe11.utils.runs"]], "pyopmspe11.utils.writefile module": [[17, "module-pyopmspe11.utils.writefile"]], "Related": [[18, "related"]], "pyopmnearwell": [[18, "pyopmnearwell"]], "plopm": [[18, "plopm"]], "pycopm": [[18, "pycopm"]], "expreccs": [[18, "expreccs"]], "ad-micp": [[18, "ad-micp"]], "pymm": [[18, "pymm"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["about", "api", "benchmark", "configuration_file", "examples", "index", "installation", "introduction", "modules", "output_folder", "pyopmspe11", "pyopmspe11.core", "pyopmspe11.core.pyopmspe11", "pyopmspe11.utils", "pyopmspe11.utils.inputvalues", "pyopmspe11.utils.mapproperties", "pyopmspe11.utils.runs", "pyopmspe11.utils.writefile", "related"], "filenames": ["about.rst", "api.rst", "benchmark.rst", "configuration_file.rst", "examples.rst", "index.rst", "installation.rst", "introduction.rst", "modules.rst", "output_folder.rst", "pyopmspe11.rst", "pyopmspe11.core.rst", "pyopmspe11.core.pyopmspe11.rst", "pyopmspe11.utils.rst", "pyopmspe11.utils.inputvalues.rst", "pyopmspe11.utils.mapproperties.rst", "pyopmspe11.utils.runs.rst", "pyopmspe11.utils.writefile.rst", "related.rst"], "titles": ["About pyopmspe11", "pyopmspe11 Python API", "Benchmark", "Configuration file", "Examples", "Welcome to pyopmspe11\u2019s documentation!", "Installation", "Introduction", "pyopmspe11", "Output folder", "pyopmspe11 package", "pyopmspe11.core package", "pyopmspe11.core.pyopmspe11 module", "pyopmspe11.utils package", "pyopmspe11.utils.inputvalues module", "pyopmspe11.utils.mapproperties module", "pyopmspe11.utils.runs module", "pyopmspe11.utils.writefile module", "Related"], "terms": {"thi": [0, 3, 4, 6, 7], "packag": [0, 1, 5, 7, 8, 18], "i": [0, 1, 3, 4, 6, 7, 14, 15], "being": 0, "fund": 0, "hpc": 0, "simul": [0, 2, 3, 4, 6, 7, 9, 10, 13, 15, 16, 18], "softwar": 0, "gigatonn": 0, "storag": [0, 18], "challeng": 0, "project": [0, 6, 7], "number": [0, 3, 4, 7, 15], "622059": 0, "center": [0, 15], "sustain": 0, "subsurfac": 0, "resourc": [0, 18], "cssr": 0, "331841": 0, "work": 0, "progress": 0, "here": [0, 2, 3, 4, 9], "link": [0, 3, 17], "spe11": [0, 15], "detail": [0, 3], "contribut": [0, 6], "ar": [0, 2, 3, 4, 6, 9, 18], "more": 0, "than": [0, 3, 6], "welcom": [0, 4], "us": [0, 1, 3, 4, 6, 7, 9, 14, 17, 18], "fork": 0, "pull": 0, "request": [0, 7], "approach": [0, 18], "The": [1, 2, 3, 4, 7, 9], "main": [1, 10, 11, 12], "script": [1, 3, 6, 12], "execut": [1, 3, 4, 6, 7, 9, 12, 14], "locat": [1, 2, 3, 7, 15], "core": [1, 6, 8, 10], "folder": [1, 2, 3, 4, 5, 6, 7, 16, 18], "reference_mesh": 1, "contain": [1, 4], "gmsh": [1, 15], "file": [1, 2, 4, 5, 6, 7, 9, 14, 15, 16, 17, 18], "obtain": 1, "coordin": [1, 15, 17], "differ": [1, 3, 4, 9, 15], "faci": [1, 3, 15], "gener": [1, 3, 4, 7, 9, 16, 17, 18], "corner": [1, 3, 4, 7, 10, 13, 15], "point": [1, 3, 4, 7, 15], "grid": [1, 3, 4, 6, 7, 10, 13, 15], "util": [1, 8, 10], "process": [1, 14, 16], "input": [1, 3, 7, 14, 16], "configur": [1, 2, 4, 5, 7, 9, 14, 18], "creat": [1, 6, 7, 15], "geolog": [1, 15, 18], "model": [1, 3, 6, 14, 15, 18], "write": [1, 3, 7, 14, 16, 17], "templat": [1, 17], "visual": [1, 3, 4, 9], "postprocess": [1, 18], "result": [1, 2, 3, 4, 7, 9], "subpackag": [1, 5, 8], "submodul": [1, 8, 10], "modul": [1, 5, 6, 8, 18], "content": [1, 5, 8], "These": 2, "preliminari": 2, "updat": [2, 3], "up": 2, "final": [2, 3, 4], "submiss": 2, "deadlin": 2, "septemb": 2, "20th": 2, "2024": [2, 3, 5, 6], "see": [2, 3, 4, 6, 9], "For": [2, 4, 6, 15], "exampl": [2, 3, 5, 9], "new": [2, 15], "result3": 2, "still": 2, "run": [2, 3, 4, 6, 7, 9, 10, 13, 17], "handl": [2, 15], "mass": [2, 3, 4], "issu": [2, 3, 4], "includ": [2, 3, 6], "1000": [2, 3, 4], "year": [2, 3], "initi": [2, 4, 10, 13, 16, 17], "time": [2, 3, 4, 7, 14], "respect": 2, "first": 3, "set": [3, 4, 6, 7, 14], "full": 3, "path": [3, 7], "flow": [3, 5, 7, 9, 14, 16, 17, 18], "flag": [3, 4, 6, 7], "linear": 3, "solver": [3, 9, 14], "cprw": 3, "enabl": [3, 14], "tune": [3, 14], "true": 3, "opm": [3, 5, 7, 9, 16, 17, 18], "rst": 3, "output": [3, 4, 5, 6, 7, 16, 17], "extra": 3, "converg": 3, "info": 3, "step": [3, 4, 7, 14], "iter": 3, "newton": 3, "min": 3, "1": [3, 4, 6, 7, 15], "If": [3, 6, 7, 9, 14], "your": 3, "e": [3, 4, 6, 7, 9, 17], "g": [3, 4, 6, 7, 9, 17], "user": [3, 6], "dmar": 3, "build": [3, 5], "bin": [3, 6], "we": [3, 4, 14], "also": [3, 6, 7, 15], "add": [3, 9, 15], "same": [3, 4, 7, 18], "line": [3, 4, 6, 14, 15], "mani": 3, "requir": [3, 6, 9], "document": [3, 7, 9], "you": [3, 6, 9], "have": [3, 4], "instal": [3, 5, 9], "mpi": [3, 6], "support": [3, 6, 7], "can": [3, 4, 6, 9], "parallel": 3, "ad": [3, 5, 17], "mpirun": 3, "np": 3, "n": 3, "where": [3, 7], "cpu": 3, "By": 3, "h": [3, 7], "get": [3, 6, 15], "an": [3, 6, 9, 18], "overview": [3, 5, 6], "avail": [3, 6], "improv": 3, "fix": [3, 4], "chang": [3, 4], "tighten": 3, "cnv": 3, "toler": 3, "etc": 3, "follow": [3, 4, 6, 7, 9, 18], "spe11c": [3, 5, 7, 15], "master": [3, 6], "name": [3, 7, 14, 16], "spe": [3, 7], "case": [3, 7], "spe11a": [3, 5, 7, 15], "spe11b": [3, 5, 7, 15], "version": [3, 6], "releas": [3, 6, 14], "complet": 3, "gaswat": 3, "co2": [3, 4, 18], "immisc": 3, "convect": 3, "newer": 3, "22": 3, "08": 3, "co2stor": 3, "implement": [3, 7], "gasoil": 3, "oil": 3, "properti": [3, 7, 15], "water": 3, "intern": 3, "type": [3, 4, 7, 15, 18], "cartesian": [3, 4, 7, 15], "tensor": [3, 4, 7, 15], "8400": 3, "5000": 3, "1200": 3, "length": [3, 14], "width": 3, "depth": 3, "m": [3, 4, 6, 7], "420": 3, "x": [3, 4, 7, 15], "cell": [3, 4, 7, 15, 17], "otherwis": [3, 6, 7, 15], "variabl": [3, 17], "arrai": 3, "refin": [3, 15], "30": [3, 4], "40": [3, 4], "50": [3, 4], "y": [3, 7, 15], "5": [3, 4, 7], "3": [3, 6], "2": 3, "4": 3, "10": [3, 4, 6], "6": 3, "8": [3, 7], "15": [3, 4, 15], "9": [3, 6], "z": [3, 7, 15], "18": [3, 15], "entri": [3, 14], "70": 3, "36": 3, "12": 3, "temperatur": 3, "bottom": 3, "top": 3, "rig": 3, "c": [3, 4, 7, 15], "300": [3, 4], "3e7": 3, "0": [3, 4, 6, 7], "datum": 3, "pressur": 3, "pa": 3, "multipli": 3, "permeabl": 3, "direct": 3, "1e": 3, "2e": 3, "diffus": 3, "liquid": 3, "ga": 3, "": 3, "5e": 3, "2500": 3, "rock": [3, 7], "specif": 3, "heat": 3, "densiti": 3, "5e4": 3, "pore": [3, 15, 17], "volum": [3, 15, 17], "boundari": [3, 15, 17], "free": 3, "bc": [3, 15], "later": 3, "buffer": [3, 15], "150": [3, 4], "elev": 3, "parabola": [3, 15], "back": [3, 15], "In": [3, 4, 7, 9], "specifi": 3, "from": [3, 4, 6, 14, 15, 18], "branch": [3, 6], "latest": [3, 4], "stabl": 3, "04": [3, 6], "sinc": 3, "continu": 3, "changu": 3, "Then": [3, 4, 6, 9], "keep": 3, "deck": [3, 4, 7, 16, 17], "framework": [3, 4, 7, 18], "produc": 3, "compat": 3, "allow": 3, "faster": [3, 6], "prototyp": 3, "while": [3, 4], "dissolut": 3, "compon": 3, "phase": 3, "addit": [3, 6, 7, 9], "thermal": 3, "effect": 3, "keyword": [3, 17], "found": [3, 6], "regard": [3, 6], "mode": 3, "uniform": 3, "defin": [3, 4, 7], "element": [3, 7], "11": 3, "each": 3, "divid": 3, "after": [3, 5, 6, 9, 14], "assign": [3, 15], "face": 3, "lines_coordin": 3, "geo": 3, "level": 3, "test": [3, 4, 6, 9], "inj0": 3, "horizont": 3, "inj1": 3, "curv": 3, "figur": [3, 4, 7, 9, 16, 18], "show": [3, 9], "7": [3, 4], "fipnum": [3, 15], "identifi": 3, "box": [3, 10, 13, 15], "A": [3, 15, 18], "b": [3, 15], "sensor": [3, 10, 13, 15], "region": 3, "report": [3, 4, 7, 9, 15], "benchmark": [3, 4, 5, 7, 16], "data": [3, 4, 7, 10, 13, 15, 16], "satur": [3, 14], "function": [3, 7, 12, 14, 15, 16, 17], "max": 3, "s_w": 3, "swi": 3, "wet": 3, "rel": 3, "perm": 3, "sni": 3, "non": 3, "penmax": 3, "math": 3, "erf": 3, "pen": 3, "pi": 3, "capillari": 3, "exp": 3, "flip": 3, "linspac": 3, "npoint": 3, "evalu": 3, "sat": 3, "swi1": 3, "32": 3, "sni1": 3, "pen1": 3, "193531": 3, "39": 3, "penmax1": 3, "npoints1": 3, "swi2": 3, "14": [3, 15], "sni2": 3, "pen2": 3, "8654": 3, "99": 3, "penmax2": 3, "npoints2": 3, "swi3": 3, "sni3": 3, "pen3": 3, "6120": 3, "00": 3, "penmax3": 3, "npoints3": 3, "swi4": 3, "sni4": 3, "pen4": 3, "3870": 3, "63": 3, "penmax4": 3, "npoints4": 3, "swi5": 3, "sni5": 3, "pen5": 3, "3060": 3, "penmax5": 3, "npoints5": 3, "swi6": 3, "sni6": 3, "pen6": 3, "2560": 3, "penmax6": 3, "npoints6": 3, "swi7": 3, "sni7": 3, "pen7": 3, "penmax7": 3, "npoints7": 3, "k": [3, 15], "md": 3, "phi": 3, "disp": 3, "thconr": 3, "w": [3, 4, 7], "perm1": 3, "10132": 3, "poro1": 3, "disp1": 3, "thconr1": 3, "90": 3, "perm2": 3, "101": 3, "324": 3, "poro2": 3, "20": [3, 4], "disp2": 3, "thconr2": 3, "25": [3, 4], "perm3": 3, "202": 3, "650": 3, "poro3": 3, "disp3": 3, "thconr3": 3, "perm4": 3, "506": 3, "625": 3, "poro4": 3, "disp4": 3, "thconr4": 3, "perm5": 3, "1013": 3, "poro5": 3, "disp5": 3, "thconr5": 3, "92": 3, "perm6": 3, "2026": 3, "poro6": 3, "35": [3, 4], "disp6": 3, "thconr6": 3, "26": 3, "perm7": 3, "poro7": 3, "disp7": 3, "thconr7": 3, "resinsight": [3, 9], "last": 3, "part": 3, "radiu": 3, "inject": [3, 4, 7], "schedul": [3, 7], "posit": [3, 10, 13, 15], "sourc": [3, 5, 7, 15, 18], "instead": [3, 6], "2700": 3, "4000": 3, "5100": 3, "700": [3, 4], "valu": [3, 14, 17], "hour": 3, "size": [3, 4], "maximum": [3, 4, 14], "fluid": [3, 7], "well1": 3, "rate": 3, "kg": 3, "well2": 3, "999": 3, "400": [3, 4], "500": [3, 4], "100": [3, 4], "linebreak": 3, "between": [3, 4, 7], "section": [3, 4], "current": [3, 6, 7], "read": [3, 6, 14, 15], "hello_world": 4, "low": 4, "resolut": 4, "shorter": 4, "injet": 4, "pyopmspe11": [4, 6, 7, 9], "txt": [4, 6, 7, 9], "o": [4, 7], "all": [4, 7], "t": [4, 7], "r": [4, 6, 7], "one": [4, 7, 9], "relat": [4, 5, 9, 17], "domain": 4, "over": 4, "map": [4, 7], "equidist": 4, "let": 4, "u": [4, 6, 7], "now": 4, "save": [4, 9], "deck_flow_data": [4, 7], "performance_spars": [4, 7], "just": 4, "perform": [4, 7], "spars": [4, 7], "comparison": [4, 7], "both": 4, "achiv": 4, "some": [4, 9, 17, 18], "compar": [4, 7], "veri": 4, "coarser": 4, "fast": 4, "finer": 4, "below": [4, 18], "ones": 4, "present": 4, "second": 4, "csp": 4, "There": 4, "been": 4, "two": 4, "bug": 4, "pr": 4, "mm": 4, "spe11a1mm": 4, "cmish": 4, "spe11a_cp_1cmish": 4, "280": 4, "120": 4, "16666666666666666": 4, "cm": 4, "left": 4, "right": 4, "spe11b1m": 4, "well": [4, 5, 6, 7, 10, 13, 15, 18], "spe11b10m": 4, "which": [4, 6], "dens": [4, 7], "840": 4, "spe11c_cp": 4, "21729920": 4, "activ": [4, 6], "spe11c_168_100_120": 4, "168": 4, "45": 4, "75": 4, "200": 4, "250": 4, "350": 4, "450": 4, "600": 4, "800": 4, "900": 4, "dure": 4, "period": 4, "injeciton": 4, "ha": 4, "restrict": 4, "look": 4, "debug": 4, "reduc": 4, "chop": 4, "conserv": 4, "better": 4, "tun": 4, "cp": 4, "cart": 4, "introduct": 5, "concept": 5, "python": [5, 7], "linux": 5, "window": 5, "maco": 5, "reservoir": 5, "paramet": [5, 14], "soil": 5, "hello": [5, 9], "world": [5, 9], "befor": 5, "13": [5, 15], "06": 5, "workshop": 5, "api": 5, "pyopmnearwel": 5, "plopm": 5, "pycopm": 5, "exprecc": 5, "micp": 5, "pymm": 5, "about": 5, "index": [5, 15], "search": 5, "page": 5, "To": 6, "exist": 6, "environ": 6, "pip": 6, "git": [6, 17], "http": [6, 7], "github": [6, 7, 17], "com": [6, 7], "interest": 6, "modifi": [6, 9, 14, 15, 17], "code": 6, "clone": 6, "repositori": [6, 17], "virtual": 6, "command": 6, "repo": 6, "insid": 6, "cd": 6, "python3": 6, "venv": 6, "vpyopmspe11": 6, "upgrad": 6, "setuptool": 6, "wheel": 6, "lint": 6, "dev": [6, 9], "egrid": 6, "init": 6, "unrst": 6, "possibl": 6, "librari": 6, "resdata": [6, 7], "seem": 6, "larg": 6, "termin": [6, 14], "need": 6, "org": 6, "ci": 6, "yml": 6, "binari": 6, "subsystem": 6, "could": [6, 9], "try": 6, "prerequisit": 6, "turn": 6, "should": 6, "current_directori": 6, "pwd": 6, "common": [6, 7], "do": 6, "done": 6, "mkdir": 6, "cmake": 6, "duse_mpi": 6, "dwith_ndebug": 6, "dcmake_build_typ": 6, "dcmake_prefix_path": 6, "make": 6, "j5": 6, "sh": 6, "build_opm_mpi": 6, "copi": 6, "previou": 6, "so": 6, "built": 6, "dune": 6, "macport": 6, "brew": 6, "achiev": 6, "geometri": 6, "istl": 6, "gitlab": 6, "v2": 6, "dunecontrol": 6, "onli": [6, 7], "dcmake_disable_find_package_mpi": 6, "dpython_execut": 6, "dopm_enable_python": 6, "ON": 6, "echo": 6, "export": 6, "pythonpath": 6, "deactiv": 6, "might": 6, "depend": 6, "recommend": 6, "equal": 6, "higher": 6, "remov": 6, "pyproject": 6, "toml": 6, "when": 6, "alwai": 6, "default": [6, 7], "describ": 7, "host": 7, "simplifi": [7, 18], "flexibl": [7, 18], "three": 7, "solut": 7, "via": 7, "select": [7, 9], "whole": 7, "format": [7, 9], "png": [7, 9, 18], "quick": [7, 18], "inspect": 7, "assess": 7, "sensit": 7, "argument": [7, 9, 12], "option": [7, 9, 12], "configuration_fil": 7, "base": [7, 18], "plot": [7, 9, 10, 13, 16], "deck_flow": 7, "data_plot": 7, "flow_data": 7, "flow_data_plot": 7, "spatial": 7, "dense_perform": 7, "dense_spars": 7, "dense_performance_spars": 7, "separ": 7, "comma": 7, "interv": 7, "screenshot": 9, "directli": 9, "call": 9, "tracer": 9, "pytest": 9, "cov": 9, "term": 9, "miss": 9, "load_pars": [10, 11, 12], "inputvalu": [10, 13], "check_deck": [10, 13, 14], "handle_tun": [10, 13, 14], "process_input": [10, 13, 14], "readthefirstpart": [10, 13, 14], "readthesecondpart": [10, 13, 14], "mapproperti": [10, 13], "add_pv_fipnum_front_back": [10, 13, 15], "check_facie1": [10, 13, 15], "corner_point_handling_spe11a": [10, 13, 15], "corner_point_handling_spe11bc": [10, 13, 15], "get_cell_info": [10, 13, 15], "get_lin": [10, 13, 15], "getfaci": [10, 13, 15], "locate_wells_sensor": [10, 13, 15], "map_z": [10, 13, 15], "refinement_z": [10, 13, 15], "set_back_front_fipnum": [10, 13, 15], "structured_handling_spe11a": [10, 13, 15], "structured_handling_spe11bc": [10, 13, 15], "writefil": [10, 13], "added_pv": [10, 13, 17], "opm_fil": [10, 13, 17], "write_keyword": [10, 13, 17], "utilii": [14, 15, 16, 17], "requiri": 14, "dic": [14, 15, 16, 17], "unsupport": 14, "featur": 14, "arg": [14, 15, 16, 17], "dict": [14, 15, 16, 17], "global": [14, 15, 16, 17], "dictionari": [14, 15, 16, 17], "return": [14, 15, 16, 17], "correspond": 14, "next": 14, "event": 14, "restart": 14, "factor": 14, "in_fil": 14, "str": [14, 16, 17], "text": 14, "lol": 14, "list": [14, 15], "until": 14, "end": 14, "label": 15, "front": 15, "x_c": 15, "z_c": 15, "idx": 15, "satnum": 15, "find": [15, 17], "indic": 15, "float": 15, "int": 15, "numa": 15, "numb": 15, "overlap": 15, "ijk": 15, "surfac": 15, "refer": 15, "j": 15, "id": 15, "along": 15, "axi": 15, "sand": 15, "xci": 15, "zci": 15, "ncx": 15, "ncz": 15, "znr": 15, "dir": 15, "integ": 15, "per": 15, "xcr": 15, "zcr": 15, "ind": 15, "16": 15, "17": 15, "none": [16, 17], "dryrun": 16, "destin": 16, "bool": 16, "dry": 16, "necessari": 17, "mako": 17, "check": 18, "them": 18, "out": 18, "dynam": 18, "vtk": 18, "coarsen": 18, "expans": 18, "horda": 18, "platform": 18, "studi": 18, "leakag": 18, "remedi": 18, "microbi": 18, "induc": 18, "calcit": 18, "precipit": 18, "open": 18, "imag": 18, "cfd": 18, "microsystem": 18}, "objects": {"": [[10, 0, 0, "-", "pyopmspe11"]], "pyopmspe11": [[11, 0, 0, "-", "core"], [13, 0, 0, "-", "utils"]], "pyopmspe11.core": [[12, 0, 0, "-", "pyopmspe11"]], "pyopmspe11.core.pyopmspe11": [[12, 1, 1, "", "load_parser"], [12, 1, 1, "", "main"], [12, 1, 1, "", "pyopmspe11"]], "pyopmspe11.utils": [[14, 0, 0, "-", "inputvalues"], [15, 0, 0, "-", "mapproperties"], [16, 0, 0, "-", "runs"], [17, 0, 0, "-", "writefile"]], "pyopmspe11.utils.inputvalues": [[14, 1, 1, "", "check_deck"], [14, 1, 1, "", "handle_tuning"], [14, 1, 1, "", "process_input"], [14, 1, 1, "", "readthefirstpart"], [14, 1, 1, "", "readthesecondpart"]], "pyopmspe11.utils.mapproperties": [[15, 1, 1, "", "add_pv_fipnum_front_back"], [15, 1, 1, "", "boxes"], [15, 1, 1, "", "check_facie1"], [15, 1, 1, "", "corner"], [15, 1, 1, "", "corner_point_handling_spe11a"], [15, 1, 1, "", "corner_point_handling_spe11bc"], [15, 1, 1, "", "get_cell_info"], [15, 1, 1, "", "get_lines"], [15, 1, 1, "", "getfacies"], [15, 1, 1, "", "grid"], [15, 1, 1, "", "locate_wells_sensors"], [15, 1, 1, "", "map_z"], [15, 1, 1, "", "positions"], [15, 1, 1, "", "refinement_z"], [15, 1, 1, "", "sensors"], [15, 1, 1, "", "set_back_front_fipnums"], [15, 1, 1, "", "structured_handling_spe11a"], [15, 1, 1, "", "structured_handling_spe11bc"], [15, 1, 1, "", "wells"]], "pyopmspe11.utils.runs": [[16, 1, 1, "", "data"], [16, 1, 1, "", "plotting"], [16, 1, 1, "", "simulations"]], "pyopmspe11.utils.writefile": [[17, 1, 1, "", "added_pv"], [17, 1, 1, "", "initial"], [17, 1, 1, "", "opm_files"], [17, 1, 1, "", "write_keywords"]]}, "objtypes": {"0": "py:module", "1": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "titleterms": {"about": 0, "pyopmspe11": [0, 1, 5, 8, 10, 11, 12, 13, 14, 15, 16, 17], "python": [1, 6], "api": 1, "benchmark": 2, "spe11a": [2, 4], "spe11b": [2, 4], "spe11c": [2, 4], "configur": 3, "file": 3, "reservoir": 3, "relat": [3, 18], "paramet": 3, "soil": 3, "well": 3, "exampl": 4, "hello": 4, "world": 4, "befor": 4, "13": 4, "06": 4, "2024": 4, "workshop": 4, "after": 4, "welcom": 5, "": 5, "document": 5, "indic": 5, "tabl": 5, "instal": 6, "packag": [6, 10, 11, 13], "opm": 6, "flow": 6, "sourc": 6, "build": 6, "linux": 6, "window": 6, "maco": 6, "introduct": 7, "concept": 7, "overview": 7, "output": 9, "folder": 9, "subpackag": 10, "modul": [10, 11, 12, 13, 14, 15, 16, 17], "content": [10, 11, 13], "core": [11, 12], "submodul": [11, 13], "util": [13, 14, 15, 16, 17], "inputvalu": 14, "mapproperti": 15, "run": 16, "writefil": 17, "pyopmnearwel": 18, "plopm": 18, "pycopm": 18, "exprecc": 18, "ad": 18, "micp": 18, "pymm": 18}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"About pyopmspe11": [[0, "about-pyopmspe11"]], "pyopmspe11 Python API": [[1, "pyopmspe11-python-api"]], "pyopmspe11": [[1, "pyopmspe11"], [8, "pyopmspe11"]], "Benchmark": [[2, "benchmark"]], "SPE11A": [[2, "spe11a"], [4, "spe11a"], [4, "id1"]], "SPE11B": [[2, "spe11b"], [4, "spe11b"], [4, "id2"]], "SPE11C": [[2, "spe11c"], [4, "spe11c"], [4, "id3"]], "Configuration file": [[3, "configuration-file"]], "Reservoir-related parameters": [[3, "reservoir-related-parameters"]], "Soil-related parameters": [[3, "soil-related-parameters"]], "Well-related parameters": [[3, "well-related-parameters"]], "Examples": [[4, "examples"]], "Hello world": [[4, "hello-world"]], "Before the 13.06.2024 workshop": [[4, "before-the-13-06-2024-workshop"]], "After the 13.06.2024 workshop": [[4, "after-the-13-06-2024-workshop"]], "Welcome to pyopmspe11\u2019s documentation!": [[5, "welcome-to-pyopmspe11-s-documentation"]], "Indices and tables": [[5, "indices-and-tables"]], "Installation": [[6, "installation"]], "Python package": [[6, "python-package"]], "OPM Flow": [[6, "opm-flow"]], "Source build in Linux/Windows": [[6, "source-build-in-linux-windows"]], "Source build in macOS": [[6, "source-build-in-macos"]], "Introduction": [[7, "introduction"]], "Concept": [[7, "concept"]], "Overview": [[7, "overview"]], "Output folder": [[9, "output-folder"]], "pyopmspe11 package": [[10, "pyopmspe11-package"]], "Subpackages": [[10, "subpackages"]], "Module contents": [[10, "module-pyopmspe11"], [11, "module-pyopmspe11.core"], [13, "module-pyopmspe11.utils"]], "pyopmspe11.core package": [[11, "pyopmspe11-core-package"]], "Submodules": [[11, "submodules"], [13, "submodules"]], "pyopmspe11.core.pyopmspe11 module": [[12, "module-pyopmspe11.core.pyopmspe11"]], "pyopmspe11.utils package": [[13, "pyopmspe11-utils-package"]], "pyopmspe11.utils.inputvalues module": [[14, "module-pyopmspe11.utils.inputvalues"]], "pyopmspe11.utils.mapproperties module": [[15, "module-pyopmspe11.utils.mapproperties"]], "pyopmspe11.utils.runs module": [[16, "module-pyopmspe11.utils.runs"]], "pyopmspe11.utils.writefile module": [[17, "module-pyopmspe11.utils.writefile"]], "Related": [[18, "related"]], "pyopmnearwell": [[18, "pyopmnearwell"]], "plopm": [[18, "plopm"]], "pycopm": [[18, "pycopm"]], "expreccs": [[18, "expreccs"]], "ad-micp": [[18, "ad-micp"]], "pymm": [[18, "pymm"]]}, "indexentries": {"module": [[10, "module-pyopmspe11"], [11, "module-pyopmspe11.core"], [12, "module-pyopmspe11.core.pyopmspe11"], [13, "module-pyopmspe11.utils"], [14, "module-pyopmspe11.utils.inputvalues"], [15, "module-pyopmspe11.utils.mapproperties"], [16, "module-pyopmspe11.utils.runs"], [17, "module-pyopmspe11.utils.writefile"]], "pyopmspe11": [[10, "module-pyopmspe11"]], "pyopmspe11.core": [[11, "module-pyopmspe11.core"]], "load_parser() (in module pyopmspe11.core.pyopmspe11)": [[12, "pyopmspe11.core.pyopmspe11.load_parser"]], "main() (in module pyopmspe11.core.pyopmspe11)": [[12, "pyopmspe11.core.pyopmspe11.main"]], "pyopmspe11() (in module pyopmspe11.core.pyopmspe11)": [[12, "pyopmspe11.core.pyopmspe11.pyopmspe11"]], "pyopmspe11.core.pyopmspe11": [[12, "module-pyopmspe11.core.pyopmspe11"]], "pyopmspe11.utils": [[13, "module-pyopmspe11.utils"]], "check_deck() (in module pyopmspe11.utils.inputvalues)": [[14, "pyopmspe11.utils.inputvalues.check_deck"]], "handle_tuning() (in module pyopmspe11.utils.inputvalues)": [[14, "pyopmspe11.utils.inputvalues.handle_tuning"]], "process_input() (in module pyopmspe11.utils.inputvalues)": [[14, "pyopmspe11.utils.inputvalues.process_input"]], "pyopmspe11.utils.inputvalues": [[14, "module-pyopmspe11.utils.inputvalues"]], "readthefirstpart() (in module pyopmspe11.utils.inputvalues)": [[14, "pyopmspe11.utils.inputvalues.readthefirstpart"]], "readthesecondpart() (in module pyopmspe11.utils.inputvalues)": [[14, "pyopmspe11.utils.inputvalues.readthesecondpart"]], "add_pv_fipnum_front_back() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.add_pv_fipnum_front_back"]], "boxes() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.boxes"]], "check_facie1() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.check_facie1"]], "corner() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.corner"]], "corner_point_handling_spe11a() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.corner_point_handling_spe11a"]], "corner_point_handling_spe11bc() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.corner_point_handling_spe11bc"]], "get_cell_info() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.get_cell_info"]], "get_lines() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.get_lines"]], "getfacies() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.getfacies"]], "grid() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.grid"]], "locate_wells_sensors() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.locate_wells_sensors"]], "map_z() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.map_z"]], "positions() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.positions"]], "pyopmspe11.utils.mapproperties": [[15, "module-pyopmspe11.utils.mapproperties"]], "refinement_z() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.refinement_z"]], "sensors() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.sensors"]], "set_back_front_fipnums() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.set_back_front_fipnums"]], "structured_handling_spe11a() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.structured_handling_spe11a"]], "structured_handling_spe11bc() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.structured_handling_spe11bc"]], "wells() (in module pyopmspe11.utils.mapproperties)": [[15, "pyopmspe11.utils.mapproperties.wells"]], "data() (in module pyopmspe11.utils.runs)": [[16, "pyopmspe11.utils.runs.data"]], "plotting() (in module pyopmspe11.utils.runs)": [[16, "pyopmspe11.utils.runs.plotting"]], "pyopmspe11.utils.runs": [[16, "module-pyopmspe11.utils.runs"]], "simulations() (in module pyopmspe11.utils.runs)": [[16, "pyopmspe11.utils.runs.simulations"]], "added_pv() (in module pyopmspe11.utils.writefile)": [[17, "pyopmspe11.utils.writefile.added_pv"]], "initial() (in module pyopmspe11.utils.writefile)": [[17, "pyopmspe11.utils.writefile.initial"]], "opm_files() (in module pyopmspe11.utils.writefile)": [[17, "pyopmspe11.utils.writefile.opm_files"]], "pyopmspe11.utils.writefile": [[17, "module-pyopmspe11.utils.writefile"]], "write_keywords() (in module pyopmspe11.utils.writefile)": [[17, "pyopmspe11.utils.writefile.write_keywords"]]}}) \ No newline at end of file diff --git a/docs/text/configuration_file.rst b/docs/text/configuration_file.rst index 43d7d97..1e9871e 100644 --- a/docs/text/configuration_file.rst +++ b/docs/text/configuration_file.rst @@ -35,7 +35,7 @@ The following input lines in the configuration file are: """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]) + complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 420 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment @@ -52,7 +52,8 @@ In line 5 you specify if you are using OPM Flow from the master branch or from t This since there are continuous changues in the OPM master branch. Then we will keep updating the decks for using Flow from master and also we will keep the framework to produce decks compatible for the latest OPM stable release. The immiscible model allows for faster prototyping while the complete model includes dissolution of the components in the -gas and liquid phases, in addition to thermal effects. Regarding the grid type, the cartesian mode generates an uniform grid +gas and liquid phases, in addition to thermal effects. The convective model requires a Flow version newer than 22-08-2024; details on the model and keyword can be found in this `link `_. +Regarding the grid type, the cartesian mode generates an uniform grid with the defined number of elements in lines 9 to 11. The tensor grid allows to define arrays in each direction where the grid is first divided with the number of entries in the array, and after it divides each of these elements by the assigned number in the array entry. The corner-point mode generates a grid where the x and y direction are defined as in the array mode, but the diff --git a/docs/text/figs/fipnum.png b/docs/text/figs/fipnum.png index ee11815..89e173d 100644 Binary files a/docs/text/figs/fipnum.png and b/docs/text/figs/fipnum.png differ diff --git a/docs/text/figs/logo.png b/docs/text/figs/logo.png index a44d036..954a034 100644 Binary files a/docs/text/figs/logo.png and b/docs/text/figs/logo.png differ diff --git a/examples/finner_grids/spe11a1mm.txt b/examples/finner_grids/spe11a1mm.txt index d94c7b8..70f2138 100644 --- a/examples/finner_grids/spe11a1mm.txt +++ b/examples/finner_grids/spe11a1mm.txt @@ -3,7 +3,7 @@ mpirun -np 67 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """Set the model parameters""" spe11a 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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 2800 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11a1mm_nldd_tuned.txt b/examples/finner_grids/spe11a1mm_nldd_tuned.txt index 130e408..5ed459e 100644 --- a/examples/finner_grids/spe11a1mm_nldd_tuned.txt +++ b/examples/finner_grids/spe11a1mm_nldd_tuned.txt @@ -3,7 +3,7 @@ mpirun -np 12 flow --nonlinear-solver=nldd --matrix-add-well-contributions=1 --t """Set the model parameters""" spe11a 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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 2800 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11a_cart_1cm.txt b/examples/finner_grids/spe11a_cart_1cm.txt index 5c96b5b..aae1079 100644 --- a/examples/finner_grids/spe11a_cart_1cm.txt +++ b/examples/finner_grids/spe11a_cart_1cm.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """Set the model parameters""" spe11a 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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 280 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11a_cart_1cm_tunning.txt b/examples/finner_grids/spe11a_cart_1cm_tunning.txt index 15c2718..14b2894 100644 --- a/examples/finner_grids/spe11a_cart_1cm_tunning.txt +++ b/examples/finner_grids/spe11a_cart_1cm_tunning.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """Set the model parameters""" spe11a 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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 280 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11a_cp_1cmish.txt b/examples/finner_grids/spe11a_cp_1cmish.txt index 1ef1fa5..c612a8a 100644 --- a/examples/finner_grids/spe11a_cp_1cmish.txt +++ b/examples/finner_grids/spe11a_cp_1cmish.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """Set the model parameters""" spe11a 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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 280 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11a_cp_1cmish_tunning.txt b/examples/finner_grids/spe11a_cp_1cmish_tunning.txt index 9d9c929..c373c2e 100644 --- a/examples/finner_grids/spe11a_cp_1cmish_tunning.txt +++ b/examples/finner_grids/spe11a_cp_1cmish_tunning.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """Set the model parameters""" spe11a 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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 280 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11b10m.txt b/examples/finner_grids/spe11b10m.txt index 13d7196..0ffd7eb 100644 --- a/examples/finner_grids/spe11b10m.txt +++ b/examples/finner_grids/spe11b10m.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 840 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11b1m.txt b/examples/finner_grids/spe11b1m.txt index 3a405bd..a9e3e5d 100644 --- a/examples/finner_grids/spe11b1m.txt +++ b/examples/finner_grids/spe11b1m.txt @@ -3,7 +3,7 @@ mpirun -np 68 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 diff --git a/examples/finner_grids/spe11b_cart_10m.txt b/examples/finner_grids/spe11b_cart_10m.txt index 8f4fdb2..4cbe868 100644 --- a/examples/finner_grids/spe11b_cart_10m.txt +++ b/examples/finner_grids/spe11b_cart_10m.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 840 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11b_cart_10m_tunning.txt b/examples/finner_grids/spe11b_cart_10m_tunning.txt index b564fb9..c30a793 100644 --- a/examples/finner_grids/spe11b_cart_10m_tunning.txt +++ b/examples/finner_grids/spe11b_cart_10m_tunning.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 840 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11b_cart_1m.txt b/examples/finner_grids/spe11b_cart_1m.txt index d6d7abb..92da63b 100644 --- a/examples/finner_grids/spe11b_cart_1m.txt +++ b/examples/finner_grids/spe11b_cart_1m.txt @@ -3,7 +3,7 @@ mpirun -np 68 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 diff --git a/examples/finner_grids/spe11b_cart_1m_nldd_tuned.txt b/examples/finner_grids/spe11b_cart_1m_nldd_tuned.txt index a27533d..5f32920 100644 --- a/examples/finner_grids/spe11b_cart_1m_nldd_tuned.txt +++ b/examples/finner_grids/spe11b_cart_1m_nldd_tuned.txt @@ -3,7 +3,7 @@ mpirun -np 12 flow --nonlinear-solver=nldd --matrix-add-well-contributions=1 --t """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 diff --git a/examples/finner_grids/spe11b_cp_10mish.txt b/examples/finner_grids/spe11b_cp_10mish.txt index dea6d82..6be89bd 100644 --- a/examples/finner_grids/spe11b_cp_10mish.txt +++ b/examples/finner_grids/spe11b_cp_10mish.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 1 1200 #Length, width, and depth [m] 840 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11b_cp_10mish_drsdtcon.txt b/examples/finner_grids/spe11b_cp_10mish_drsdtcon.txt index 61ce5b0..72f3d90 100644 --- a/examples/finner_grids/spe11b_cp_10mish_drsdtcon.txt +++ b/examples/finner_grids/spe11b_cp_10mish_drsdtcon.txt @@ -1,9 +1,9 @@ """Set the full path to the flow executable and flags""" -mpirun -np 16 flow --relaxed-max-pv-fraction=0 --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterations=1 --enable-tuning=false --enable-opm-rst-file=true --output-extra-convergence-info=steps,iterations +mpirun -np 16 flow --relaxed-max-pv-fraction=0 --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterations=1 --enable-tuning=false --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) -convective 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]) +convective gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 1 1200 #Length, width, and depth [m] 840 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11b_cp_10mish_tunning.txt b/examples/finner_grids/spe11b_cp_10mish_tunning.txt index 5171d16..de29c56 100644 --- a/examples/finner_grids/spe11b_cp_10mish_tunning.txt +++ b/examples/finner_grids/spe11b_cp_10mish_tunning.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterati """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 1 1200 #Length, width, and depth [m] 840 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11c_168_100_120.txt b/examples/finner_grids/spe11c_168_100_120.txt index 0c9a213..222793c 100644 --- a/examples/finner_grids/spe11c_168_100_120.txt +++ b/examples/finner_grids/spe11c_168_100_120.txt @@ -3,7 +3,7 @@ mpirun -np 71 flow --zoltan-imbalance-tol=1.05 --tolerance-mb=1e-7 --linear-sol """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 5000 1200 #Length, width, and depth [m] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11c_cart_168_100_120.txt b/examples/finner_grids/spe11c_cart_168_100_120.txt index 435433c..723423d 100644 --- a/examples/finner_grids/spe11c_cart_168_100_120.txt +++ b/examples/finner_grids/spe11c_cart_168_100_120.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --zoltan-imbalance-tol=1.05 --tolerance-mb=1e-7 --linear-sol """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 5000 1200 #Length, width, and depth [m] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11c_cart_168_100_120_nldd_tuned.txt b/examples/finner_grids/spe11c_cart_168_100_120_nldd_tuned.txt index 41671d9..c839f5e 100644 --- a/examples/finner_grids/spe11c_cart_168_100_120_nldd_tuned.txt +++ b/examples/finner_grids/spe11c_cart_168_100_120_nldd_tuned.txt @@ -3,7 +3,7 @@ mpirun -np 12 flow --nonlinear-solver=nldd --matrix-add-well-contributions=1 --t """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 5000 1200 #Length, width, and depth [m] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11c_cart_168_100_120_tunning.txt b/examples/finner_grids/spe11c_cart_168_100_120_tunning.txt index c88ab3d..ca1d4db 100644 --- a/examples/finner_grids/spe11c_cart_168_100_120_tunning.txt +++ b/examples/finner_grids/spe11c_cart_168_100_120_tunning.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --zoltan-imbalance-tol=1.05 --tolerance-mb=1e-7 --linear-sol """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 5000 1200 #Length, width, and depth [m] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11c_cp.txt b/examples/finner_grids/spe11c_cp.txt index a075f1a..4deee78 100644 --- a/examples/finner_grids/spe11c_cp.txt +++ b/examples/finner_grids/spe11c_cp.txt @@ -3,7 +3,7 @@ mpirun -np 71 flow --zoltan-imbalance-tol=1.05 --tolerance-mb=1e-7 --linear-sol """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 diff --git a/examples/finner_grids/spe11c_cp_168_100_120ish.txt b/examples/finner_grids/spe11c_cp_168_100_120ish.txt index 96c2ee8..be25199 100644 --- a/examples/finner_grids/spe11c_cp_168_100_120ish.txt +++ b/examples/finner_grids/spe11c_cp_168_100_120ish.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --zoltan-imbalance-tol=1.05 --tolerance-mb=1e-7 --linear-sol """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11c_cp_168_100_120ish_drsdtcon.txt b/examples/finner_grids/spe11c_cp_168_100_120ish_drsdtcon.txt index 2243b75..062cb94 100644 --- a/examples/finner_grids/spe11c_cp_168_100_120ish_drsdtcon.txt +++ b/examples/finner_grids/spe11c_cp_168_100_120ish_drsdtcon.txt @@ -3,7 +3,7 @@ mpirun -np 70 flow --relaxed-max-pv-fraction=0 --zoltan-imbalance-tol=1.05 --to """Set the model parameters""" spe11c master #Name of the spe case (spe11a, spe11b, or spe11c) and OPM Flow version (master or release) -convective 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]) +convective gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11c_cp_168_100_120ish_newton_tuned_timestep.txt b/examples/finner_grids/spe11c_cp_168_100_120ish_newton_tuned_timestep.txt index 02b7914..f822263 100644 --- a/examples/finner_grids/spe11c_cp_168_100_120ish_newton_tuned_timestep.txt +++ b/examples/finner_grids/spe11c_cp_168_100_120ish_newton_tuned_timestep.txt @@ -3,7 +3,7 @@ mpirun -np 12 flow --relaxed-max-pv-fraction=0 --partition-method=2 --edge-weigh """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11c_cp_168_100_120ish_nldd_tuned_timestep.txt b/examples/finner_grids/spe11c_cp_168_100_120ish_nldd_tuned_timestep.txt index 9a5bc12..bb086e9 100644 --- a/examples/finner_grids/spe11c_cp_168_100_120ish_nldd_tuned_timestep.txt +++ b/examples/finner_grids/spe11c_cp_168_100_120ish_nldd_tuned_timestep.txt @@ -3,7 +3,7 @@ mpirun -np 12 flow --partition-method=2 --edge-weights-method=2 --imbalance-tol= """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11c_cp_168_100_120ish_tunning.txt b/examples/finner_grids/spe11c_cp_168_100_120ish_tunning.txt index 40bb802..e4417d6 100644 --- a/examples/finner_grids/spe11c_cp_168_100_120ish_tunning.txt +++ b/examples/finner_grids/spe11c_cp_168_100_120ish_tunning.txt @@ -3,7 +3,7 @@ mpirun -np 33 flow --zoltan-imbalance-tol=1.05 --tolerance-mb=1e-7 --linear-sol """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 168 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/finner_grids/spe11c_cp_ca20e6cells.txt b/examples/finner_grids/spe11c_cp_ca20e6cells.txt index 583b3d9..ceb02b4 100644 --- a/examples/finner_grids/spe11c_cp_ca20e6cells.txt +++ b/examples/finner_grids/spe11c_cp_ca20e6cells.txt @@ -3,7 +3,7 @@ mpirun -np 71 flow --zoltan-imbalance-tol=1.05 --tolerance-mb=1e-7 --linear-sol """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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 diff --git a/examples/hello_world/spe11a.txt b/examples/hello_world/spe11a.txt index 198431d..3632c01 100644 --- a/examples/hello_world/spe11a.txt +++ b/examples/hello_world/spe11a.txt @@ -3,7 +3,7 @@ flow --tolerance-mb=1e-7 --linear-solver=cprw --enable-tuning=true --newton-min- """Set the model parameters""" spe11a release #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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], or complete) and co2store implementation (gaswater or gasoil [oil properties are set to water internally in OPM flow]) tensor #Type of grid (cartesian, tensor, or corner-point) 2.8 0.01 1.2 #Length, width, and depth [m] 4,15,10,10,9,7 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/hello_world/spe11b.txt b/examples/hello_world/spe11b.txt index 8e5eb5a..bd1fda0 100644 --- a/examples/hello_world/spe11b.txt +++ b/examples/hello_world/spe11b.txt @@ -3,7 +3,7 @@ flow --tolerance-mb=1e-7 --linear-solver=cprw --enable-tuning=true --newton-min- """Set the model parameters""" spe11b release #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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 1 1200 #Length, width, and depth [m] 8,10,15,15,15,10,8 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/examples/hello_world/spe11c.txt b/examples/hello_world/spe11c.txt index 1cd2ef0..f9e8aca 100644 --- a/examples/hello_world/spe11c.txt +++ b/examples/hello_world/spe11c.txt @@ -3,7 +3,7 @@ flow --tolerance-mb=1e-7 --linear-solver=cprw --enable-tuning=true --newton-min- """Set the model parameters""" spe11c release #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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 5000 1200 #Length, width, and depth [m] 42 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/src/pyopmspe11/core/pyopmspe11.py b/src/pyopmspe11/core/pyopmspe11.py index 121993c..33269eb 100644 --- a/src/pyopmspe11/core/pyopmspe11.py +++ b/src/pyopmspe11/core/pyopmspe11.py @@ -46,25 +46,29 @@ def pyopmspe11(): os.chdir(f"{dic['exe']}/{dic['fol']}") if dic["mode"] == "all" or "deck" in dic["mode"]: + # Check the generated deck, flow version, and chosen co2store implementation + check_deck(dic) # Initialize the grid grid(dic) # For corner-point grids, get the cell centers by executing flow if dic["grid"] == "corner-point": initial(dic) os.chdir(f"{dic['exe']}/{dic['fol']}/deck") - simulations(dic, "INITIAL", "flow") - print("Files used to generate the corner-point grid (INITIAL.* files)") - # Check the generated deck, flow version, and chosen co2store implementation - check_deck(dic) + simulations(dic, "INITIAL", "flow", True) + print( + "Files used to generate the corner-point grid (INITIAL.* files).\n" + + "Please wait while pyopmspe11 is processing the deck files." + ) # Handle tuning handle_tuning(dic) # Get the sand and well/sources positions positions(dic) # Write used opm related files opm_files(dic) + print(f"The deck files have been written to {dic['exe']}/{dic['fol']}/deck.") if dic["mode"] == "all" or "flow" in dic["mode"]: # Run the simulations - simulations(dic, dic["fol"].upper(), "flow") + simulations(dic, dic["fol"].upper(), "flow", False) if dic["mode"] == "all" or "data" in dic["mode"]: # Write the data diff --git a/src/pyopmspe11/templates/co2/spe11a.mako b/src/pyopmspe11/templates/co2/spe11a.mako index 59c7a6d..d381526 100644 --- a/src/pyopmspe11/templates/co2/spe11a.mako +++ b/src/pyopmspe11/templates/co2/spe11a.mako @@ -51,10 +51,10 @@ UNIFOUT GRID ---------------------------------------------------------------------------- INIT -%if dic["grid"] == 'corner-point': +% if dic["grid"] == 'corner-point': INCLUDE 'GRID.INC' / -%elif dic["grid"] == 'tensor': +% elif dic["grid"] == 'tensor': INCLUDE 'DX.INC' / DY @@ -63,7 +63,7 @@ INCLUDE 'DZ.INC' / TOPS ${dic['noCells'][0]}*0.0 / -%else: +% else: DX ${dic['noCells'][0]*dic['noCells'][1]*dic['noCells'][2]}*${dic['dsize'][0]} / DY @@ -72,7 +72,7 @@ DZ ${dic['noCells'][0]*dic['noCells'][1]*dic['noCells'][2]}*${dic['dsize'][2]} / TOPS ${dic['noCells'][0]}*0.0 / -%endif +% endif INCLUDE 'PERMX.INC' / @@ -123,14 +123,14 @@ DIFFAWAT % if dic['model'] != 'convective': ${dic["diffusion"][0]} ${dic["diffusion"][0]} / % else: -%for i in range(dic['noSands']): +% for i in range(dic['noSands']): ${dic["diffusion"][0]} ${dic["diffusion"][0]} / -%endfor +% endfor % endif DIFFAGAS % if dic['model'] != 'convective': ${dic["diffusion"][1]} ${dic["diffusion"][1]} / -%else: +% else: % for i in range(dic['noSands']): ${dic["diffusion"][1]} ${dic["diffusion"][1]} / % endfor @@ -178,7 +178,7 @@ RPTRST 'BASIC=2' DEN ${'PCGW' if dic["co2store"] == "gaswater" else ''} ${'RSWSAT' if dic["version"] == "master" and dic["co2store"] == "gaswater" else ''} ${'RSSAT' if dic["version"] == "master" and dic["co2store"] == "gasoil" else ''}/ % endif -% if dic['model'] == 'complete': +% if dic['model'] != 'immiscible': % if dic["co2store"] == "gasoil": RSVD 0 0.0 diff --git a/src/pyopmspe11/templates/co2/spe11b.mako b/src/pyopmspe11/templates/co2/spe11b.mako index 5f65c7b..e71df9a 100644 --- a/src/pyopmspe11/templates/co2/spe11b.mako +++ b/src/pyopmspe11/templates/co2/spe11b.mako @@ -41,7 +41,7 @@ DIFFUSE % if dic['model'] != 'immiscible': THERMAL -%endif +% endif METRIC @@ -58,10 +58,10 @@ UNIFOUT GRID ---------------------------------------------------------------------------- INIT -%if dic["grid"] == 'corner-point': +% if dic["grid"] == 'corner-point': INCLUDE 'GRID.INC' / -%elif dic["grid"] == 'tensor': +% elif dic["grid"] == 'tensor': INCLUDE 'DX.INC' / DY @@ -70,7 +70,7 @@ INCLUDE 'DZ.INC' / TOPS ${dic['noCells'][0]}*0.0 / -%else: +% else: INCLUDE 'DX.INC' / DY @@ -79,7 +79,7 @@ DZ ${dic['noCells'][0]*dic['noCells'][1]*dic['noCells'][2]}*${dic['dsize'][2]} / TOPS ${dic['noCells'][0]}*0.0 / -%endif +% endif INCLUDE 'PERMX.INC' / @@ -132,14 +132,14 @@ DIFFAWAT % if dic['model'] != 'convective': ${dic["diffusion"][0]} ${dic["diffusion"][0]} / % else: -%for i in range(dic['noSands']): +% for i in range(dic['noSands']): ${dic["diffusion"][0]} ${dic["diffusion"][0]} / -%endfor +% endfor % endif DIFFAGAS % if dic['model'] != 'convective': ${dic["diffusion"][1]} ${dic["diffusion"][1]} / -%else: +% else: % for i in range(dic['noSands']): ${dic["diffusion"][1]} ${dic["diffusion"][1]} / % endfor @@ -204,7 +204,7 @@ RVVD 0 0.0 ${dic['dims'][2]} 0.0 / % endif -%endif +% endif RTEMPVD 0 ${dic["temperature"][1]} @@ -260,9 +260,9 @@ DRSDTCON -1.0 / -1.0 / / -%endif +% endif -% if dic['model'] != 'immiscible' and dic["flow_version"] != "2023.10": +% if dic['model'] != 'immiscible': BCPROP 1 THERMAL / 2 THERMAL / diff --git a/src/pyopmspe11/templates/co2/spe11c.mako b/src/pyopmspe11/templates/co2/spe11c.mako index 8cb068a..3c42778 100644 --- a/src/pyopmspe11/templates/co2/spe11c.mako +++ b/src/pyopmspe11/templates/co2/spe11c.mako @@ -110,14 +110,14 @@ DIFFAWAT % if dic['model'] != 'convective': ${dic["diffusion"][0]} ${dic["diffusion"][0]} / % else: -%for i in range(dic['noSands']): +% for i in range(dic['noSands']): ${dic["diffusion"][0]} ${dic["diffusion"][0]} / -%endfor +% endfor % endif DIFFAGAS % if dic['model'] != 'convective': ${dic["diffusion"][1]} ${dic["diffusion"][1]} / -%else: +% else: % for i in range(dic['noSands']): ${dic["diffusion"][1]} ${dic["diffusion"][1]} / % endfor @@ -142,10 +142,8 @@ ${dic["temperature"][1]} ${dic["rockExtra"][0]*dic["rockExtra"][1]} ${dic["temperature"][0]} ${dic["rockExtra"][0]*dic["rockExtra"][1]} / % endfor - THCO2MIX NONE NONE NONE / - % endif ---------------------------------------------------------------------------- REGIONS @@ -157,7 +155,7 @@ INCLUDE % if dic['model'] == 'convective': COPY - SATNUM PVTNUM / +SATNUM PVTNUM / / %endif diff --git a/src/pyopmspe11/utils/inputvalues.py b/src/pyopmspe11/utils/inputvalues.py index e0a6f4d..2fd2cdf 100644 --- a/src/pyopmspe11/utils/inputvalues.py +++ b/src/pyopmspe11/utils/inputvalues.py @@ -73,9 +73,9 @@ def readthefirstpart(lol, dic): dic["spe11"] = row[0] # Name of the spe case (spe11a, spe11b, or spe11c) dic["version"] = row[1] # OPM Flow version (release or master) row = (lol[5][0].strip()).split() - dic["model"] = row[0] # Model to run (immiscible or complete) + dic["model"] = row[0] # Model to run (immiscible, convective, or complete) dic["co2store"] = row[1] # co2store implementation (gaswater or gasoil) - dic["grid"] = str(lol[6][0]).strip() # Type of grid (cartesian or corner-point) + dic["grid"] = str(lol[6][0]).strip() # Grid (Cartesian, tensor, or corner-point) dic["dims"] = [float((lol[7][0].strip()).split()[j]) for j in range(3)] if dic["grid"] == "cartesian": dic["noCells"] = [int((lol[8 + j][0].strip()).split()[0]) for j in range(3)] @@ -233,14 +233,22 @@ def check_deck(dic): """ for value in dic["flow"].split(): if "flow" in value: - flow = value + dic["only_flow"] = value break - with Popen(args=f"{flow} --version", stdout=PIPE, shell=True) as process: + with Popen( + args=f"{dic['only_flow']} --version", stdout=PIPE, shell=True + ) as process: dic["flow_version"] = str(process.communicate()[0])[7:-3] if dic["flow_version"] == "2023.10": print( "\nYou are using Flow 2023.10. Please update to Flow 2024.04, or " - + "build flow from the master GitHub branches.\n" + + "build Flow from the master GitHub branches.\n" + ) + sys.exit() + if dic["flow_version"] == "2024.04" and dic["model"] == "convective": + print( + "\nThe convective option requires a Flow version newer than " + + "22-08-2024. Please build Flow from the master GitHub branches.\n" ) sys.exit() diff --git a/src/pyopmspe11/utils/runs.py b/src/pyopmspe11/utils/runs.py index 8d9fb6f..3783855 100644 --- a/src/pyopmspe11/utils/runs.py +++ b/src/pyopmspe11/utils/runs.py @@ -8,22 +8,28 @@ import subprocess -def simulations(dic, deck, folder): +def simulations(dic, deck, folder, dryrun): """ Run OPM Flow Args: dic (dict): Global dictionary\n deck (str): Name of the input deck\n - folder (str): Name of destination of the output files + folder (str): Name of destination of the output files\n + dryrun (bool): Run a dry simulation for the initial files. Returns: None """ + flag = "" + flow = dic["flow"] + if dryrun: + flow = dic["only_flow"] + flag = "--enable-dry-run=1" os.system( - f"{dic['flow']} --output-dir={dic['exe']}/{dic['fol']}/{folder} " - f"{dic['exe']}/{dic['fol']}/deck/{deck}.DATA & wait\n" + f"{flow} --output-dir={dic['exe']}/{dic['fol']}/{folder} " + f"{dic['exe']}/{dic['fol']}/deck/{deck}.DATA {flag} & wait\n" ) diff --git a/tests/configs/input.txt b/tests/configs/input.txt index 146f876..18733d9 100644 --- a/tests/configs/input.txt +++ b/tests/configs/input.txt @@ -1,9 +1,9 @@ """Set the full path to the flow executable and flags""" -flow --linear-solver=cprw --newton-min-iterations=1 --enable-tuning=true --enable-opm-rst-file=true --output-extra-convergence-info=steps,iterations --enable-well-operability-check=false --min-time-step-before-shutting-problematic-wells-in-days=1e-99 +flow --linear-solver=cprw --newton-min-iterations=1 --enable-tuning=true --enable-opm-rst-file=true --output-extra-convergence-info=steps,iterations --enable-well-operability-check=false --min-time-step-before-shutting-problematic-wells-in-days=1e-99 """Set the model parameters""" spe11b release #Name of the spe case (spe11a, spe11b, or spe11c) and OPM Flow version (master or release) -complete gasoil #Name of the co2 model (immiscible or complete) and co2store implementation (gaswater or gasoil [oil properties are set to water internally in OPM flow]) +complete gasoil #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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 1 1200 #Length, width, and depth [m] 10,50,10 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/tests/configs/spe11a_data_format.txt b/tests/configs/spe11a_data_format.txt index 46fe4b1..b8d390f 100644 --- a/tests/configs/spe11a_data_format.txt +++ b/tests/configs/spe11a_data_format.txt @@ -3,7 +3,7 @@ flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterations=1 --enable """Set the model parameters""" spe11a release #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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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) 2.8 0.01 1.2 #Length, width, and depth [m] 28 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/tests/configs/spe11b_data_format.txt b/tests/configs/spe11b_data_format.txt index 22dd60a..90bfa6b 100644 --- a/tests/configs/spe11b_data_format.txt +++ b/tests/configs/spe11b_data_format.txt @@ -3,7 +3,7 @@ flow --tolerance-mb=1e-7 --linear-solver=cprw --newton-min-iterations=1 --enable """Set the model parameters""" spe11b release #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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 84 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/tests/configs/spe11c.txt b/tests/configs/spe11c.txt index 4d26984..7224708 100644 --- a/tests/configs/spe11c.txt +++ b/tests/configs/spe11c.txt @@ -3,7 +3,7 @@ flow --enable-tuning=true --newton-min-iterations=1 --enable-opm-rst-file=true - """Set the model parameters""" spe11c release #Name of the spe case (spe11a, spe11b, or spe11c) and OPM Flow version (master or release) -complete gasoil #Name of the co2 model (immiscible or complete) and co2store implementation (gaswater or gasoil [oil properties are set to water internally in OPM flow]) +complete gasoil #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], or complete) and co2store implementation (gaswater or gasoil [oil properties are set to water internally in OPM flow]) tensor #Type of grid (cartesian, tensor, or corner-point) 8400 5000 1200 #Length, width, and depth [m] 4,50,15,40,40,40,15,10,4 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment diff --git a/tests/configs/spe11c_data_format.txt b/tests/configs/spe11c_data_format.txt index cb0962e..3569bf6 100644 --- a/tests/configs/spe11c_data_format.txt +++ b/tests/configs/spe11c_data_format.txt @@ -3,7 +3,7 @@ flow --tolerance-mb=1e-7 --linear-solver=cprw --enable-tuning=true --enable-opm- """Set the model parameters""" spe11c release #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]) +complete gaswater #Name of the co2 model (immiscible, convective [convective requires a Flow version newer than 22-08-2024], 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] 42 #If cartesian, number of x cells [-]; otherwise, variable array of x-refinment