diff --git a/docs/_images/spe11b_performance.png b/docs/_images/spe11b_performance.png index 2eb0056..acf4aff 100644 Binary files a/docs/_images/spe11b_performance.png and b/docs/_images/spe11b_performance.png differ diff --git a/docs/_images/spe11b_performance_finner.png b/docs/_images/spe11b_performance_finner.png index 929de6c..acf4aff 100644 Binary files a/docs/_images/spe11b_performance_finner.png and b/docs/_images/spe11b_performance_finner.png differ diff --git a/docs/_images/spe11b_sparse_data.png b/docs/_images/spe11b_sparse_data.png index 05cb1c3..c0543ba 100644 Binary files a/docs/_images/spe11b_sparse_data.png and b/docs/_images/spe11b_sparse_data.png differ diff --git a/docs/_images/spe11b_sparse_data_finner.png b/docs/_images/spe11b_sparse_data_finner.png index 339f6d7..c0543ba 100644 Binary files a/docs/_images/spe11b_sparse_data_finner.png and b/docs/_images/spe11b_sparse_data_finner.png differ diff --git a/docs/_sources/examples.rst.txt b/docs/_sources/examples.rst.txt index 17a63e5..c5442cd 100644 --- a/docs/_sources/examples.rst.txt +++ b/docs/_sources/examples.rst.txt @@ -62,7 +62,7 @@ with grid size of the same order as requested for reporting the spatial data in .. code-block:: bash - pyopmspe11 -i spe11b.txt -o spe11b_cartesian -m all -g all -r 840,1,120 -t 5 + pyopmspe11 -i spe11b.txt -o spe11b_finner -m all -g all -r 840,1,120 -t 5 the following are some of the generated figures: diff --git a/docs/examples.html b/docs/examples.html index 4b44016..be3164c 100644 --- a/docs/examples.html +++ b/docs/examples.html @@ -133,7 +133,7 @@
pyopmspe11 -i spe11b.txt -o spe11b_cartesian -m all -g all -r 840,1,120 -t 5
+pyopmspe11 -i spe11b.txt -o spe11b_finner -m all -g all -r 840,1,120 -t 5
the following are some of the generated figures:
diff --git a/docs/searchindex.js b/docs/searchindex.js
index a4b27a7..ec53198 100644
--- a/docs/searchindex.js
+++ b/docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["about", "api", "configuration_file", "examples", "index", "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", "configuration_file.rst", "examples.rst", "index.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", "Configuration file", "Examples", "Welcome to pyopmspe11\u2019s documentation!", "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, 2, 3, 5], "packag": [0, 1, 4, 5, 6, 16], "i": [0, 1, 2, 3, 5, 13], "being": 0, "fund": 0, "hpc": 0, "simul": [0, 2, 3, 5, 7, 8, 11, 14, 16], "softwar": 0, "gigatonn": 0, "storag": [0, 16], "challeng": 0, "project": [0, 5], "number": [0, 2, 5, 13], "622059": 0, "center": [0, 13], "sustain": 0, "subsurfac": 0, "resourc": [0, 16], "cssr": 0, "331841": 0, "work": [0, 2], "progress": 0, "here": [0, 2, 3, 7], "link": 0, "spe11": [0, 3, 13], "detail": 0, "contribut": 0, "ar": [0, 2, 3, 5, 7, 16], "more": 0, "than": 0, "welcom": 0, "us": [0, 1, 2, 3, 5, 7, 15, 16], "fork": 0, "pull": 0, "request": [0, 3, 5], "approach": [0, 16], "The": [1, 2, 3, 5, 7], "main": [1, 8, 9, 10], "script": [1, 2, 10], "execut": [1, 2, 3, 5, 7, 12], "locat": [1, 2, 5, 13], "core": [1, 3, 6, 8], "folder": [1, 2, 3, 4, 5, 14, 16], "reference_mesh": 1, "contain": [1, 3], "gmsh": [1, 13], "file": [1, 3, 4, 5, 7, 12, 13, 14, 15, 16], "obtain": 1, "coordin": [1, 13, 15], "differ": [1, 2, 3, 7], "faci": [1, 2], "gener": [1, 2, 3, 5, 7, 14, 15], "corner": [1, 2, 5, 8, 11, 13], "point": [1, 2, 5, 13], "grid": [1, 2, 3, 5, 8, 11, 13], "util": [1, 6, 8], "process": [1, 3, 12], "input": [1, 2, 5, 12, 14], "configur": [1, 3, 4, 5, 7, 16], "creat": [1, 5, 13], "geolog": 1, "model": [1, 2, 12], "write": [1, 2, 5, 14, 15], "templat": [1, 15], "visual": [1, 2, 3, 7], "postprocess": [1, 16], "result": [1, 2, 3, 7], "subpackag": [1, 4, 6], "submodul": [1, 6, 8], "modul": [1, 4, 6, 16], "content": [1, 4, 5, 6], "first": 2, "set": [2, 3, 5, 12], "full": 2, "path": [2, 5], "flow": [2, 3, 5, 7, 12, 14, 15, 16], "flag": [2, 3, 5], "linear": [2, 3], "solver": [2, 3, 7], "cprw": [2, 3], "enabl": 2, "tune": 2, "true": 2, "opm": [2, 3, 5, 7, 14, 15, 16], "rst": 2, "output": [2, 3, 4, 5, 14, 15], "extra": [2, 3], "converg": [2, 3], "info": 2, "step": [2, 3], "iter": 2, "oper": 2, "check": [2, 5, 16], "fals": 2, "min": 2, "time": [2, 3, 5], "befor": 2, "shut": 2, "problemat": 2, "dai": 2, "1e": [2, 3], "99": 2, "If": [2, 7], "your": 2, "e": [2, 3, 5, 7, 15], "g": [2, 3, 5, 7, 15], "user": 2, "dmar": 2, "build": 2, "bin": 2, "we": [2, 3], "also": [2, 3, 5], "add": [2, 7], "same": [2, 3, 5, 16], "line": [2, 3, 12, 13], "mani": 2, "requir": [2, 3, 7, 12, 13, 14, 15], "see": [2, 3, 5, 7], "document": [2, 5, 7], "you": [2, 3, 7], "have": [2, 3], "instal": [2, 4, 7], "mpi": [2, 3], "support": [2, 5], "can": [2, 3, 7], "run": [2, 3, 5, 7, 8, 11, 15], "parallel": 2, "ad": [2, 3, 4, 12, 13, 15], "mpirun": 2, "np": 2, "n": 2, "where": [2, 3, 5], "cpu": [2, 3], "follow": [2, 3, 5, 7, 16], "spe11c": [2, 3, 5], "master": 2, "name": [2, 5, 12, 14], "spe": [2, 3, 5], "case": [2, 3, 5], "spe11a": [2, 3, 5], "spe11b": [2, 3, 5], "version": 2, "releas": 2, "complet": 2, "gaswat": 2, "co2": [2, 16], "immisc": 2, "co2stor": 2, "implement": [2, 5], "gasoil": 2, "oil": 2, "properti": [2, 5], "water": 2, "intern": 2, "cartesian": [2, 5, 13], "type": [2, 5, 13], "tensor": [2, 5, 13], "8400": [2, 3], "5000": [2, 3], "1200": [2, 3], "length": 2, "width": 2, "depth": 2, "m": [2, 3, 5], "84": 2, "x": [2, 5, 13], "cell": [2, 3, 5, 13, 15], "otherwis": 2, "variabl": [2, 15], "arrai": 2, "refin": [2, 13], "50": [2, 3, 5], "y": [2, 5, 13], "12": 2, "z": [2, 5, 13], "fix": [2, 3], "18": 2, "entri": 2, "70": [2, 3], "36": 2, "25": 2, "temperatur": [2, 3], "bottom": 2, "top": 2, "rig": 2, "c": [2, 3, 5], "19620000": 2, "0": [2, 3], "1": [2, 3], "pressur": 2, "pa": 2, "multipli": 2, "permeabl": 2, "direct": 2, "9": 2, "2e": 2, "8": [2, 3], "diffus": 2, "liquid": 2, "ga": 2, "2": [2, 3], "": [2, 3], "dispers": 2, "onli": [2, 5], "avail": [2, 3], "5e": 2, "2500": 2, "rock": [2, 5], "specif": 2, "heat": 2, "densiti": 2, "5e4": 2, "pore": 2, "volum": [2, 3], "boundari": [2, 3], "free": 2, "bc": 2, "later": 2, "buffer": [2, 3], "150": 2, "10": [2, 3, 5], "elev": 2, "parabola": [2, 13], "back": 2, "In": [2, 5, 7], "5": [2, 3, 5], "specifi": 2, "from": [2, 12], "branch": 2, "latest": 2, "stabl": 2, "2023": [2, 3], "sinc": 2, "continu": 2, "changu": [2, 3], "mechan": 2, "Then": [2, 3, 7], "keep": 2, "updat": 2, "deck": [2, 5, 14], "framework": [2, 3, 5, 16], "produc": 2, "compat": 2, "allow": [2, 3], "faster": 2, "prototyp": 2, "while": 2, "includ": [2, 3], "dissolut": 2, "compon": 2, "phase": 2, "addit": [2, 5, 7], "thermal": 2, "effect": 2, "regard": 2, "mode": [2, 5], "an": [2, 3, 16], "uniform": 2, "defin": 2, "element": [2, 5], "11": 2, "each": 2, "divid": 2, "after": [2, 5, 7], "assign": 2, "face": 2, "lines_coordin": 2, "geo": 2, "level": 2, "test": [2, 3, 7], "exampl": [2, 4], "middl": 2, "170": [2, 3], "100": [2, 3, 5], "120": [2, 3], "20": [2, 3], "xy": 2, "4": 2, "3": 2, "7": [2, 3], "13": 2, "21": 2, "seem": 2, "fine": 2, "nor": 2, "evapor": 2, "howev": 2, "issu": [2, 3], "current": [2, 5], "now": [2, 3], "disperison": 2, "should": 2, "satur": [2, 12], "function": [2, 10, 12, 13, 14, 15], "max": [2, 3], "s_w": 2, "swi": 2, "wet": 2, "rel": 2, "perm": 2, "sni": 2, "non": 2, "penmax": 2, "math": 2, "erf": 2, "pen": 2, "pi": 2, "capillari": 2, "exp": 2, "flip": 2, "linspac": 2, "npoint": 2, "evalu": 2, "sat": 2, "swi1": 2, "32": 2, "sni1": 2, "pen1": 2, "193531": 2, "39": 2, "penmax1": 2, "3e7": 2, "npoints1": 2, "200000": 2, "swi2": 2, "14": 2, "sni2": 2, "pen2": 2, "8654": 2, "penmax2": 2, "npoints2": 2, "swi3": 2, "sni3": 2, "pen3": 2, "6120": 2, "00": 2, "penmax3": 2, "npoints3": 2, "swi4": 2, "sni4": 2, "pen4": 2, "3870": 2, "63": 2, "penmax4": 2, "npoints4": 2, "swi5": 2, "sni5": 2, "pen5": 2, "3060": 2, "penmax5": 2, "npoints5": 2, "swi6": 2, "sni6": 2, "pen6": 2, "2560": 2, "penmax6": 2, "npoints6": 2, "swi7": 2, "sni7": 2, "pen7": 2, "penmax7": 2, "npoints7": 2, "k": [2, 13], "md": 2, "phi": 2, "thconr": 2, "w": 2, "perm1": 2, "10132": 2, "poro1": 2, "thconr1": 2, "90": 2, "perm2": 2, "101": 2, "324": 2, "poro2": 2, "thconr2": 2, "perm3": 2, "202": 2, "650": 2, "poro3": 2, "thconr3": 2, "perm4": 2, "506": 2, "625": 2, "poro4": 2, "thconr4": 2, "perm5": 2, "1013": 2, "poro5": 2, "thconr5": 2, "92": 2, "perm6": 2, "2026": 2, "poro6": 2, "35": 2, "thconr6": 2, "26": 2, "perm7": 2, "poro7": 2, "thconr7": 2, "resinsight": [2, 7], "last": 2, "part": 2, "radiu": 2, "inject": [2, 3, 5], "schedul": [2, 3, 5], "posit": [2, 8, 11, 13], "final": 2, "15": [2, 3], "2700": 2, "1000": 2, "300": 2, "4000": 2, "5100": 2, "700": 2, "valu": [2, 3, 12, 15], "hour": 2, "year": 2, "size": [2, 3], "maximum": [2, 3], "fluid": [2, 5], "well1": 2, "rate": 2, "kg": 2, "well2": 2, "995": 2, "950": 2, "linebreak": 2, "between": [2, 3, 5], "section": [2, 3], "read": [2, 12, 13], "hello_world": 3, "low": 3, "resolut": [3, 5], "shorter": 3, "injet": 3, "initi": [3, 8, 11, 15], "For": 3, "pyopmspe11": [3, 5, 7], "txt": [3, 5, 7], "o": [3, 5], "all": [3, 5], "t": [3, 5], "r": [3, 5], "figur": [3, 5, 7], "relat": [3, 4, 7, 15], "domain": 3, "over": 3, "let": 3, "u": [3, 5], "tight": 3, "mass": 3, "balanc": 3, "toler": 3, "mb": 3, "6": 3, "default": [3, 5], "one": [3, 7], "save": [3, 7], "stricter_mb": 3, "200": 3, "comparison": [3, 5], "both": 3, "achiv": 3, "compar": [3, 5], "veri": 3, "coarser": 3, "fast": 3, "finer": 3, "report": [3, 7], "descript": 3, "comput": 3, "were": 3, "reservoir": [3, 4], "confer": 3, "some": [3, 7, 15, 16], "preliminari": 3, "dimens": 3, "No": 3, "total": 3, "activ": 3, "d": 3, "01": 3, "280": 3, "33600": 3, "31034": 3, "2118": 3, "30": 3, "842": 3, "101040": 3, "93318": 3, "1420": 3, "1350": 3, "2040000": 3, "1885200": 3, "25450": 3, "68": 3, "three": [3, 5], "thread": 3, "per": [3, 13], "140": 3, "layer": 3, "left": 3, "right": 3, "finner_grid": 3, "order": 3, "spatial": [3, 5], "data": [3, 5, 8, 11, 14], "benchmark": [3, 5, 14], "well": [3, 4, 5, 8, 11, 13, 16], "By": 3, "help": 3, "get": [3, 13], "overview": [3, 4], "improv": 3, "spe11b_cartesian": 3, "840": 3, "introduct": 4, "concept": 4, "paramet": [4, 12, 13, 14, 15], "soil": 4, "hello": 4, "world": 4, "present": 4, "python": [4, 5], "api": 4, "pyopmnearwel": 4, "exprecc": 4, "micp": 4, "pymm": 4, "about": 4, "index": [4, 13], "search": 4, "page": [4, 5], "describ": 5, "numer": 5, "studi": [5, 14, 16], "perform": 5, "simplifi": 5, "flexibl": 5, "solut": 5, "via": 5, "format": [5, 7], "png": [5, 7], "quick": 5, "inspect": 5, "assess": 5, "sensit": 5, "argument": [5, 7], "option": [5, 7], "base": [5, 16], "whole": 5, "plot": [5, 7, 8, 11, 14], "deck_flow": 5, "deck_flow_plot": 5, "deck_flow_data": 5, "dens": [5, 14], "spars": [5, 14], "dense_perform": 5, "performance_spars": 5, "dense_spars": 5, "interv": 5, "map": 5, "h": 5, "resdata": 5, "common": 5, "github": 5, "ci": 5, "yml": 5, "screenshot": 7, "show": 7, "select": 7, "could": 7, "modifi": 7, "directli": 7, "call": 7, "tracer": 7, "dev": 7, "pytest": 7, "cov": 7, "term": 7, "miss": 7, "inputvalu": [8, 11], "process_input": [8, 11, 12], "readthefirstpart": [8, 11, 12], "readthesecondpart": [8, 11, 12], "mapproperti": [8, 11], "box": [8, 11, 13], "corner_point_handling_spe11a": [8, 11, 13], "corner_point_handling_spe11bc": [8, 11, 13], "get_cell_info": [8, 11, 13], "get_lin": [8, 11, 13], "getfaci": [8, 11, 13], "locate_wel": [8, 11, 13], "map_z": [8, 11, 13], "refinement_z": [8, 11, 13], "structured_handling_spe11a": [8, 11, 13], "structured_handling_spe11bc": [8, 11, 13], "writefil": [8, 11], "opm_fil": [8, 11, 15], "write_keyword": [8, 11, 15], "utilii": [12, 13, 14, 15], "requiri": 12, "dic": [12, 13, 14, 15], "in_fil": 12, "arg": [12, 13, 14, 15], "dict": [12, 13, 14, 15], "global": [12, 13, 14, 15], "dictionari": [12, 13, 14, 15], "str": 12, "text": 12, "return": [12, 13, 15], "new": [12, 13, 15], "lol": 12, "list": [12, 13], "until": 12, "end": 12, "find": [13, 15], "j": 13, "id": 13, "x_c": 13, "z_c": 13, "idx": 13, "sand": 13, "ijk": 13, "int": 13, "surfac": 13, "refer": 13, "handl": 13, "along": 13, "axi": 13, "xci": 13, "zci": 13, "ncx": 13, "ncz": 13, "znr": 13, "dir": 13, "float": 13, "integ": 13, "xcr": 13, "zcr": 13, "py": 14, "destin": 14, "necessari": 15, "mako": 15, "keyword": 15, "below": 16, "them": 16, "out": 16, "A": 16, "dynam": 16, "expans": 16, "horda": 16, "platform": 16, "leakag": 16, "remedi": 16, "microbi": 16, "induc": 16, "calcit": 16, "precipit": 16, "open": 16, "sourc": 16, "imag": 16, "cfd": 16, "microsystem": 16}, "objects": {"": [[8, 0, 0, "-", "pyopmspe11"]], "pyopmspe11": [[9, 0, 0, "-", "core"], [11, 0, 0, "-", "utils"]], "pyopmspe11.core": [[10, 0, 0, "-", "pyopmspe11"]], "pyopmspe11.core.pyopmspe11": [[10, 1, 1, "", "main"], [10, 1, 1, "", "pyopmspe11"]], "pyopmspe11.utils": [[12, 0, 0, "-", "inputvalues"], [13, 0, 0, "-", "mapproperties"], [14, 0, 0, "-", "runs"], [15, 0, 0, "-", "writefile"]], "pyopmspe11.utils.inputvalues": [[12, 1, 1, "", "process_input"], [12, 1, 1, "", "readthefirstpart"], [12, 1, 1, "", "readthesecondpart"]], "pyopmspe11.utils.mapproperties": [[13, 1, 1, "", "boxes"], [13, 1, 1, "", "corner"], [13, 1, 1, "", "corner_point_handling_spe11a"], [13, 1, 1, "", "corner_point_handling_spe11bc"], [13, 1, 1, "", "get_cell_info"], [13, 1, 1, "", "get_lines"], [13, 1, 1, "", "getfacies"], [13, 1, 1, "", "grid"], [13, 1, 1, "", "locate_wells"], [13, 1, 1, "", "map_z"], [13, 1, 1, "", "positions"], [13, 1, 1, "", "refinement_z"], [13, 1, 1, "", "structured_handling_spe11a"], [13, 1, 1, "", "structured_handling_spe11bc"], [13, 1, 1, "", "wells"]], "pyopmspe11.utils.runs": [[14, 1, 1, "", "data"], [14, 1, 1, "", "plotting"], [14, 1, 1, "", "simulations"]], "pyopmspe11.utils.writefile": [[15, 1, 1, "", "initial"], [15, 1, 1, "", "opm_files"], [15, 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, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15], "python": 1, "api": 1, "configur": 2, "file": 2, "reservoir": 2, "relat": [2, 16], "paramet": 2, "soil": 2, "well": 2, "exampl": 3, "hello": 3, "world": 3, "present": 3, "welcom": 4, "": 4, "document": 4, "indic": 4, "tabl": 4, "introduct": 5, "concept": 5, "overview": 5, "instal": 5, "output": 7, "folder": 7, "packag": [8, 9, 11], "subpackag": 8, "modul": [8, 9, 10, 11, 12, 13, 14, 15], "content": [8, 9, 11], "core": [9, 10], "submodul": [9, 11], "util": [11, 12, 13, 14, 15], "inputvalu": 12, "mapproperti": 13, "run": 14, "writefil": 15, "pyopmnearwel": 16, "exprecc": 16, "ad": 16, "micp": 16, "pymm": 16}, "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"], [6, "pyopmspe11"]], "Configuration file": [[2, "configuration-file"]], "Reservoir-related parameters": [[2, "reservoir-related-parameters"]], "Soil-related parameters": [[2, "soil-related-parameters"]], "Well-related parameters": [[2, "well-related-parameters"]], "Welcome to pyopmspe11\u2019s documentation!": [[4, "welcome-to-pyopmspe11-s-documentation"]], "Indices and tables": [[4, "indices-and-tables"]], "Introduction": [[5, "introduction"]], "Concept": [[5, "concept"]], "Overview": [[5, "overview"]], "Installation": [[5, "installation"]], "Output folder": [[7, "output-folder"]], "pyopmspe11 package": [[8, "pyopmspe11-package"]], "Subpackages": [[8, "subpackages"]], "Module contents": [[8, "module-pyopmspe11"], [9, "module-pyopmspe11.core"], [11, "module-pyopmspe11.utils"]], "pyopmspe11.core package": [[9, "pyopmspe11-core-package"]], "Submodules": [[9, "submodules"], [11, "submodules"]], "pyopmspe11.core.pyopmspe11 module": [[10, "module-pyopmspe11.core.pyopmspe11"]], "pyopmspe11.utils package": [[11, "pyopmspe11-utils-package"]], "pyopmspe11.utils.inputvalues module": [[12, "module-pyopmspe11.utils.inputvalues"]], "pyopmspe11.utils.mapproperties module": [[13, "module-pyopmspe11.utils.mapproperties"]], "pyopmspe11.utils.runs module": [[14, "module-pyopmspe11.utils.runs"]], "pyopmspe11.utils.writefile module": [[15, "module-pyopmspe11.utils.writefile"]], "Related": [[16, "related"]], "pyopmnearwell": [[16, "pyopmnearwell"]], "expreccs": [[16, "expreccs"]], "ad-micp": [[16, "ad-micp"]], "pymm": [[16, "pymm"]], "Examples": [[3, "examples"]], "Hello world": [[3, "hello-world"]], "Presentation": [[3, "presentation"]]}, "indexentries": {}})
\ No newline at end of file
+Search.setIndex({"docnames": ["about", "api", "configuration_file", "examples", "index", "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", "configuration_file.rst", "examples.rst", "index.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", "Configuration file", "Examples", "Welcome to pyopmspe11\u2019s documentation!", "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, 2, 3, 5], "packag": [0, 1, 4, 5, 6, 16], "i": [0, 1, 2, 3, 5, 13], "being": 0, "fund": 0, "hpc": 0, "simul": [0, 2, 3, 5, 7, 8, 11, 14, 16], "softwar": 0, "gigatonn": 0, "storag": [0, 16], "challeng": 0, "project": [0, 5], "number": [0, 2, 5, 13], "622059": 0, "center": [0, 13], "sustain": 0, "subsurfac": 0, "resourc": [0, 16], "cssr": 0, "331841": 0, "work": [0, 2], "progress": 0, "here": [0, 2, 3, 7], "link": 0, "spe11": [0, 3, 13], "detail": 0, "contribut": 0, "ar": [0, 2, 3, 5, 7, 16], "more": 0, "than": 0, "welcom": 0, "us": [0, 1, 2, 3, 5, 7, 15, 16], "fork": 0, "pull": 0, "request": [0, 3, 5], "approach": [0, 16], "The": [1, 2, 3, 5, 7], "main": [1, 8, 9, 10], "script": [1, 2, 10], "execut": [1, 2, 3, 5, 7, 12], "locat": [1, 2, 5, 13], "core": [1, 3, 6, 8], "folder": [1, 2, 3, 4, 5, 14, 16], "reference_mesh": 1, "contain": [1, 3], "gmsh": [1, 13], "file": [1, 3, 4, 5, 7, 12, 13, 14, 15, 16], "obtain": 1, "coordin": [1, 13, 15], "differ": [1, 2, 3, 7], "faci": [1, 2], "gener": [1, 2, 3, 5, 7, 14, 15], "corner": [1, 2, 5, 8, 11, 13], "point": [1, 2, 5, 13], "grid": [1, 2, 3, 5, 8, 11, 13], "util": [1, 6, 8], "process": [1, 3, 12], "input": [1, 2, 5, 12, 14], "configur": [1, 3, 4, 5, 7, 16], "creat": [1, 5, 13], "geolog": 1, "model": [1, 2, 12], "write": [1, 2, 5, 14, 15], "templat": [1, 15], "visual": [1, 2, 3, 7], "postprocess": [1, 16], "result": [1, 2, 3, 7], "subpackag": [1, 4, 6], "submodul": [1, 6, 8], "modul": [1, 4, 6, 16], "content": [1, 4, 5, 6], "first": 2, "set": [2, 3, 5, 12], "full": 2, "path": [2, 5], "flow": [2, 3, 5, 7, 12, 14, 15, 16], "flag": [2, 3, 5], "linear": [2, 3], "solver": [2, 3, 7], "cprw": [2, 3], "enabl": 2, "tune": 2, "true": 2, "opm": [2, 3, 5, 7, 14, 15, 16], "rst": 2, "output": [2, 3, 4, 5, 14, 15], "extra": [2, 3], "converg": [2, 3], "info": 2, "step": [2, 3], "iter": 2, "oper": 2, "check": [2, 5, 16], "fals": 2, "min": 2, "time": [2, 3, 5], "befor": 2, "shut": 2, "problemat": 2, "dai": 2, "1e": [2, 3], "99": 2, "If": [2, 7], "your": 2, "e": [2, 3, 5, 7, 15], "g": [2, 3, 5, 7, 15], "user": 2, "dmar": 2, "build": 2, "bin": 2, "we": [2, 3], "also": [2, 3, 5], "add": [2, 7], "same": [2, 3, 5, 16], "line": [2, 3, 12, 13], "mani": 2, "requir": [2, 3, 7, 12, 13, 14, 15], "see": [2, 3, 5, 7], "document": [2, 5, 7], "you": [2, 3, 7], "have": [2, 3], "instal": [2, 4, 7], "mpi": [2, 3], "support": [2, 5], "can": [2, 3, 7], "run": [2, 3, 5, 7, 8, 11, 15], "parallel": 2, "ad": [2, 3, 4, 12, 13, 15], "mpirun": 2, "np": 2, "n": 2, "where": [2, 3, 5], "cpu": [2, 3], "follow": [2, 3, 5, 7, 16], "spe11c": [2, 3, 5], "master": 2, "name": [2, 5, 12, 14], "spe": [2, 3, 5], "case": [2, 3, 5], "spe11a": [2, 3, 5], "spe11b": [2, 3, 5], "version": 2, "releas": 2, "complet": 2, "gaswat": 2, "co2": [2, 16], "immisc": 2, "co2stor": 2, "implement": [2, 5], "gasoil": 2, "oil": 2, "properti": [2, 5], "water": 2, "intern": 2, "cartesian": [2, 5, 13], "type": [2, 5, 13], "tensor": [2, 5, 13], "8400": [2, 3], "5000": [2, 3], "1200": [2, 3], "length": 2, "width": 2, "depth": 2, "m": [2, 3, 5], "84": 2, "x": [2, 5, 13], "cell": [2, 3, 5, 13, 15], "otherwis": 2, "variabl": [2, 15], "arrai": 2, "refin": [2, 13], "50": [2, 3, 5], "y": [2, 5, 13], "12": 2, "z": [2, 5, 13], "fix": [2, 3], "18": 2, "entri": 2, "70": [2, 3], "36": 2, "25": 2, "temperatur": [2, 3], "bottom": 2, "top": 2, "rig": 2, "c": [2, 3, 5], "19620000": 2, "0": [2, 3], "1": [2, 3], "pressur": 2, "pa": 2, "multipli": 2, "permeabl": 2, "direct": 2, "9": 2, "2e": 2, "8": [2, 3], "diffus": 2, "liquid": 2, "ga": 2, "2": [2, 3], "": [2, 3], "dispers": 2, "onli": [2, 5], "avail": [2, 3], "5e": 2, "2500": 2, "rock": [2, 5], "specif": 2, "heat": 2, "densiti": 2, "5e4": 2, "pore": 2, "volum": [2, 3], "boundari": [2, 3], "free": 2, "bc": 2, "later": 2, "buffer": [2, 3], "150": 2, "10": [2, 3, 5], "elev": 2, "parabola": [2, 13], "back": 2, "In": [2, 5, 7], "5": [2, 3, 5], "specifi": 2, "from": [2, 12], "branch": 2, "latest": 2, "stabl": 2, "2023": [2, 3], "sinc": 2, "continu": 2, "changu": [2, 3], "mechan": 2, "Then": [2, 3, 7], "keep": 2, "updat": 2, "deck": [2, 5, 14], "framework": [2, 3, 5, 16], "produc": 2, "compat": 2, "allow": [2, 3], "faster": 2, "prototyp": 2, "while": 2, "includ": [2, 3], "dissolut": 2, "compon": 2, "phase": 2, "addit": [2, 5, 7], "thermal": 2, "effect": 2, "regard": 2, "mode": [2, 5], "an": [2, 3, 16], "uniform": 2, "defin": 2, "element": [2, 5], "11": 2, "each": 2, "divid": 2, "after": [2, 5, 7], "assign": 2, "face": 2, "lines_coordin": 2, "geo": 2, "level": 2, "test": [2, 3, 7], "exampl": [2, 4], "middl": 2, "170": [2, 3], "100": [2, 3, 5], "120": [2, 3], "20": [2, 3], "xy": 2, "4": 2, "3": 2, "7": [2, 3], "13": 2, "21": 2, "seem": 2, "fine": 2, "nor": 2, "evapor": 2, "howev": 2, "issu": [2, 3], "current": [2, 5], "now": [2, 3], "disperison": 2, "should": 2, "satur": [2, 12], "function": [2, 10, 12, 13, 14, 15], "max": [2, 3], "s_w": 2, "swi": 2, "wet": 2, "rel": 2, "perm": 2, "sni": 2, "non": 2, "penmax": 2, "math": 2, "erf": 2, "pen": 2, "pi": 2, "capillari": 2, "exp": 2, "flip": 2, "linspac": 2, "npoint": 2, "evalu": 2, "sat": 2, "swi1": 2, "32": 2, "sni1": 2, "pen1": 2, "193531": 2, "39": 2, "penmax1": 2, "3e7": 2, "npoints1": 2, "200000": 2, "swi2": 2, "14": 2, "sni2": 2, "pen2": 2, "8654": 2, "penmax2": 2, "npoints2": 2, "swi3": 2, "sni3": 2, "pen3": 2, "6120": 2, "00": 2, "penmax3": 2, "npoints3": 2, "swi4": 2, "sni4": 2, "pen4": 2, "3870": 2, "63": 2, "penmax4": 2, "npoints4": 2, "swi5": 2, "sni5": 2, "pen5": 2, "3060": 2, "penmax5": 2, "npoints5": 2, "swi6": 2, "sni6": 2, "pen6": 2, "2560": 2, "penmax6": 2, "npoints6": 2, "swi7": 2, "sni7": 2, "pen7": 2, "penmax7": 2, "npoints7": 2, "k": [2, 13], "md": 2, "phi": 2, "thconr": 2, "w": 2, "perm1": 2, "10132": 2, "poro1": 2, "thconr1": 2, "90": 2, "perm2": 2, "101": 2, "324": 2, "poro2": 2, "thconr2": 2, "perm3": 2, "202": 2, "650": 2, "poro3": 2, "thconr3": 2, "perm4": 2, "506": 2, "625": 2, "poro4": 2, "thconr4": 2, "perm5": 2, "1013": 2, "poro5": 2, "thconr5": 2, "92": 2, "perm6": 2, "2026": 2, "poro6": 2, "35": 2, "thconr6": 2, "26": 2, "perm7": 2, "poro7": 2, "thconr7": 2, "resinsight": [2, 7], "last": 2, "part": 2, "radiu": 2, "inject": [2, 3, 5], "schedul": [2, 3, 5], "posit": [2, 8, 11, 13], "final": 2, "15": [2, 3], "2700": 2, "1000": 2, "300": 2, "4000": 2, "5100": 2, "700": 2, "valu": [2, 3, 12, 15], "hour": 2, "year": 2, "size": [2, 3], "maximum": [2, 3], "fluid": [2, 5], "well1": 2, "rate": 2, "kg": 2, "well2": 2, "995": 2, "950": 2, "linebreak": 2, "between": [2, 3, 5], "section": [2, 3], "read": [2, 12, 13], "hello_world": 3, "low": 3, "resolut": [3, 5], "shorter": 3, "injet": 3, "initi": [3, 8, 11, 15], "For": 3, "pyopmspe11": [3, 5, 7], "txt": [3, 5, 7], "o": [3, 5], "all": [3, 5], "t": [3, 5], "r": [3, 5], "figur": [3, 5, 7], "relat": [3, 4, 7, 15], "domain": 3, "over": 3, "let": 3, "u": [3, 5], "tight": 3, "mass": 3, "balanc": 3, "toler": 3, "mb": 3, "6": 3, "default": [3, 5], "one": [3, 7], "save": [3, 7], "stricter_mb": 3, "200": 3, "comparison": [3, 5], "both": 3, "achiv": 3, "compar": [3, 5], "veri": 3, "coarser": 3, "fast": 3, "finer": 3, "report": [3, 7], "descript": 3, "comput": 3, "were": 3, "reservoir": [3, 4], "confer": 3, "some": [3, 7, 15, 16], "preliminari": 3, "dimens": 3, "No": 3, "total": 3, "activ": 3, "d": 3, "01": 3, "280": 3, "33600": 3, "31034": 3, "2118": 3, "30": 3, "842": 3, "101040": 3, "93318": 3, "1420": 3, "1350": 3, "2040000": 3, "1885200": 3, "25450": 3, "68": 3, "three": [3, 5], "thread": 3, "per": [3, 13], "140": 3, "layer": 3, "left": 3, "right": 3, "finner_grid": 3, "order": 3, "spatial": [3, 5], "data": [3, 5, 8, 11, 14], "benchmark": [3, 5, 14], "well": [3, 4, 5, 8, 11, 13, 16], "spe11b_finn": 3, "840": 3, "By": 3, "help": 3, "get": [3, 13], "overview": [3, 4], "improv": 3, "introduct": 4, "concept": 4, "paramet": [4, 12, 13, 14, 15], "soil": 4, "hello": 4, "world": 4, "present": 4, "python": [4, 5], "api": 4, "pyopmnearwel": 4, "exprecc": 4, "micp": 4, "pymm": 4, "about": 4, "index": [4, 13], "search": 4, "page": [4, 5], "describ": 5, "numer": 5, "studi": [5, 14, 16], "perform": 5, "simplifi": 5, "flexibl": 5, "solut": 5, "via": 5, "format": [5, 7], "png": [5, 7], "quick": 5, "inspect": 5, "assess": 5, "sensit": 5, "argument": [5, 7], "option": [5, 7], "base": [5, 16], "whole": 5, "plot": [5, 7, 8, 11, 14], "deck_flow": 5, "deck_flow_plot": 5, "deck_flow_data": 5, "dens": [5, 14], "spars": [5, 14], "dense_perform": 5, "performance_spars": 5, "dense_spars": 5, "interv": 5, "map": 5, "h": 5, "resdata": 5, "common": 5, "github": 5, "ci": 5, "yml": 5, "screenshot": 7, "show": 7, "select": 7, "could": 7, "modifi": 7, "directli": 7, "call": 7, "tracer": 7, "dev": 7, "pytest": 7, "cov": 7, "term": 7, "miss": 7, "inputvalu": [8, 11], "process_input": [8, 11, 12], "readthefirstpart": [8, 11, 12], "readthesecondpart": [8, 11, 12], "mapproperti": [8, 11], "box": [8, 11, 13], "corner_point_handling_spe11a": [8, 11, 13], "corner_point_handling_spe11bc": [8, 11, 13], "get_cell_info": [8, 11, 13], "get_lin": [8, 11, 13], "getfaci": [8, 11, 13], "locate_wel": [8, 11, 13], "map_z": [8, 11, 13], "refinement_z": [8, 11, 13], "structured_handling_spe11a": [8, 11, 13], "structured_handling_spe11bc": [8, 11, 13], "writefil": [8, 11], "opm_fil": [8, 11, 15], "write_keyword": [8, 11, 15], "utilii": [12, 13, 14, 15], "requiri": 12, "dic": [12, 13, 14, 15], "in_fil": 12, "arg": [12, 13, 14, 15], "dict": [12, 13, 14, 15], "global": [12, 13, 14, 15], "dictionari": [12, 13, 14, 15], "str": 12, "text": 12, "return": [12, 13, 15], "new": [12, 13, 15], "lol": 12, "list": [12, 13], "until": 12, "end": 12, "find": [13, 15], "j": 13, "id": 13, "x_c": 13, "z_c": 13, "idx": 13, "sand": 13, "ijk": 13, "int": 13, "surfac": 13, "refer": 13, "handl": 13, "along": 13, "axi": 13, "xci": 13, "zci": 13, "ncx": 13, "ncz": 13, "znr": 13, "dir": 13, "float": 13, "integ": 13, "xcr": 13, "zcr": 13, "py": 14, "destin": 14, "necessari": 15, "mako": 15, "keyword": 15, "below": 16, "them": 16, "out": 16, "A": 16, "dynam": 16, "expans": 16, "horda": 16, "platform": 16, "leakag": 16, "remedi": 16, "microbi": 16, "induc": 16, "calcit": 16, "precipit": 16, "open": 16, "sourc": 16, "imag": 16, "cfd": 16, "microsystem": 16}, "objects": {"": [[8, 0, 0, "-", "pyopmspe11"]], "pyopmspe11": [[9, 0, 0, "-", "core"], [11, 0, 0, "-", "utils"]], "pyopmspe11.core": [[10, 0, 0, "-", "pyopmspe11"]], "pyopmspe11.core.pyopmspe11": [[10, 1, 1, "", "main"], [10, 1, 1, "", "pyopmspe11"]], "pyopmspe11.utils": [[12, 0, 0, "-", "inputvalues"], [13, 0, 0, "-", "mapproperties"], [14, 0, 0, "-", "runs"], [15, 0, 0, "-", "writefile"]], "pyopmspe11.utils.inputvalues": [[12, 1, 1, "", "process_input"], [12, 1, 1, "", "readthefirstpart"], [12, 1, 1, "", "readthesecondpart"]], "pyopmspe11.utils.mapproperties": [[13, 1, 1, "", "boxes"], [13, 1, 1, "", "corner"], [13, 1, 1, "", "corner_point_handling_spe11a"], [13, 1, 1, "", "corner_point_handling_spe11bc"], [13, 1, 1, "", "get_cell_info"], [13, 1, 1, "", "get_lines"], [13, 1, 1, "", "getfacies"], [13, 1, 1, "", "grid"], [13, 1, 1, "", "locate_wells"], [13, 1, 1, "", "map_z"], [13, 1, 1, "", "positions"], [13, 1, 1, "", "refinement_z"], [13, 1, 1, "", "structured_handling_spe11a"], [13, 1, 1, "", "structured_handling_spe11bc"], [13, 1, 1, "", "wells"]], "pyopmspe11.utils.runs": [[14, 1, 1, "", "data"], [14, 1, 1, "", "plotting"], [14, 1, 1, "", "simulations"]], "pyopmspe11.utils.writefile": [[15, 1, 1, "", "initial"], [15, 1, 1, "", "opm_files"], [15, 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, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15], "python": 1, "api": 1, "configur": 2, "file": 2, "reservoir": 2, "relat": [2, 16], "paramet": 2, "soil": 2, "well": 2, "exampl": 3, "hello": 3, "world": 3, "present": 3, "welcom": 4, "": 4, "document": 4, "indic": 4, "tabl": 4, "introduct": 5, "concept": 5, "overview": 5, "instal": 5, "output": 7, "folder": 7, "packag": [8, 9, 11], "subpackag": 8, "modul": [8, 9, 10, 11, 12, 13, 14, 15], "content": [8, 9, 11], "core": [9, 10], "submodul": [9, 11], "util": [11, 12, 13, 14, 15], "inputvalu": 12, "mapproperti": 13, "run": 14, "writefil": 15, "pyopmnearwel": 16, "exprecc": 16, "ad": 16, "micp": 16, "pymm": 16}, "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"], [6, "pyopmspe11"]], "Configuration file": [[2, "configuration-file"]], "Reservoir-related parameters": [[2, "reservoir-related-parameters"]], "Soil-related parameters": [[2, "soil-related-parameters"]], "Well-related parameters": [[2, "well-related-parameters"]], "Examples": [[3, "examples"]], "Hello world": [[3, "hello-world"]], "Presentation": [[3, "presentation"]], "Welcome to pyopmspe11\u2019s documentation!": [[4, "welcome-to-pyopmspe11-s-documentation"]], "Indices and tables": [[4, "indices-and-tables"]], "Introduction": [[5, "introduction"]], "Concept": [[5, "concept"]], "Overview": [[5, "overview"]], "Installation": [[5, "installation"]], "Output folder": [[7, "output-folder"]], "pyopmspe11 package": [[8, "pyopmspe11-package"]], "Subpackages": [[8, "subpackages"]], "Module contents": [[8, "module-pyopmspe11"], [9, "module-pyopmspe11.core"], [11, "module-pyopmspe11.utils"]], "pyopmspe11.core package": [[9, "pyopmspe11-core-package"]], "Submodules": [[9, "submodules"], [11, "submodules"]], "pyopmspe11.core.pyopmspe11 module": [[10, "module-pyopmspe11.core.pyopmspe11"]], "pyopmspe11.utils package": [[11, "pyopmspe11-utils-package"]], "pyopmspe11.utils.inputvalues module": [[12, "module-pyopmspe11.utils.inputvalues"]], "pyopmspe11.utils.mapproperties module": [[13, "module-pyopmspe11.utils.mapproperties"]], "pyopmspe11.utils.runs module": [[14, "module-pyopmspe11.utils.runs"]], "pyopmspe11.utils.writefile module": [[15, "module-pyopmspe11.utils.writefile"]], "Related": [[16, "related"]], "pyopmnearwell": [[16, "pyopmnearwell"]], "expreccs": [[16, "expreccs"]], "ad-micp": [[16, "ad-micp"]], "pymm": [[16, "pymm"]]}, "indexentries": {"module": [[8, "module-pyopmspe11"], [9, "module-pyopmspe11.core"], [10, "module-pyopmspe11.core.pyopmspe11"], [11, "module-pyopmspe11.utils"], [12, "module-pyopmspe11.utils.inputvalues"], [13, "module-pyopmspe11.utils.mapproperties"], [14, "module-pyopmspe11.utils.runs"], [15, "module-pyopmspe11.utils.writefile"]], "pyopmspe11": [[8, "module-pyopmspe11"]], "pyopmspe11.core": [[9, "module-pyopmspe11.core"]], "main() (in module pyopmspe11.core.pyopmspe11)": [[10, "pyopmspe11.core.pyopmspe11.main"]], "pyopmspe11() (in module pyopmspe11.core.pyopmspe11)": [[10, "pyopmspe11.core.pyopmspe11.pyopmspe11"]], "pyopmspe11.core.pyopmspe11": [[10, "module-pyopmspe11.core.pyopmspe11"]], "pyopmspe11.utils": [[11, "module-pyopmspe11.utils"]], "process_input() (in module pyopmspe11.utils.inputvalues)": [[12, "pyopmspe11.utils.inputvalues.process_input"]], "pyopmspe11.utils.inputvalues": [[12, "module-pyopmspe11.utils.inputvalues"]], "readthefirstpart() (in module pyopmspe11.utils.inputvalues)": [[12, "pyopmspe11.utils.inputvalues.readthefirstpart"]], "readthesecondpart() (in module pyopmspe11.utils.inputvalues)": [[12, "pyopmspe11.utils.inputvalues.readthesecondpart"]], "boxes() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.boxes"]], "corner() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.corner"]], "corner_point_handling_spe11a() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.corner_point_handling_spe11a"]], "corner_point_handling_spe11bc() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.corner_point_handling_spe11bc"]], "get_cell_info() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.get_cell_info"]], "get_lines() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.get_lines"]], "getfacies() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.getfacies"]], "grid() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.grid"]], "locate_wells() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.locate_wells"]], "map_z() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.map_z"]], "positions() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.positions"]], "pyopmspe11.utils.mapproperties": [[13, "module-pyopmspe11.utils.mapproperties"]], "refinement_z() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.refinement_z"]], "structured_handling_spe11a() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.structured_handling_spe11a"]], "structured_handling_spe11bc() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.structured_handling_spe11bc"]], "wells() (in module pyopmspe11.utils.mapproperties)": [[13, "pyopmspe11.utils.mapproperties.wells"]], "data() (in module pyopmspe11.utils.runs)": [[14, "pyopmspe11.utils.runs.data"]], "plotting() (in module pyopmspe11.utils.runs)": [[14, "pyopmspe11.utils.runs.plotting"]], "pyopmspe11.utils.runs": [[14, "module-pyopmspe11.utils.runs"]], "simulations() (in module pyopmspe11.utils.runs)": [[14, "pyopmspe11.utils.runs.simulations"]], "initial() (in module pyopmspe11.utils.writefile)": [[15, "pyopmspe11.utils.writefile.initial"]], "opm_files() (in module pyopmspe11.utils.writefile)": [[15, "pyopmspe11.utils.writefile.opm_files"]], "pyopmspe11.utils.writefile": [[15, "module-pyopmspe11.utils.writefile"]], "write_keywords() (in module pyopmspe11.utils.writefile)": [[15, "pyopmspe11.utils.writefile.write_keywords"]]}})
\ No newline at end of file
diff --git a/docs/text/examples.rst b/docs/text/examples.rst
index 17a63e5..c5442cd 100644
--- a/docs/text/examples.rst
+++ b/docs/text/examples.rst
@@ -62,7 +62,7 @@ with grid size of the same order as requested for reporting the spatial data in
.. code-block:: bash
- pyopmspe11 -i spe11b.txt -o spe11b_cartesian -m all -g all -r 840,1,120 -t 5
+ pyopmspe11 -i spe11b.txt -o spe11b_finner -m all -g all -r 840,1,120 -t 5
the following are some of the generated figures:
diff --git a/docs/text/figs/spe11b_performance.png b/docs/text/figs/spe11b_performance.png
index 2eb0056..acf4aff 100644
Binary files a/docs/text/figs/spe11b_performance.png and b/docs/text/figs/spe11b_performance.png differ
diff --git a/docs/text/figs/spe11b_performance_finner.png b/docs/text/figs/spe11b_performance_finner.png
index 929de6c..acf4aff 100644
Binary files a/docs/text/figs/spe11b_performance_finner.png and b/docs/text/figs/spe11b_performance_finner.png differ
diff --git a/docs/text/figs/spe11b_sparse_data.png b/docs/text/figs/spe11b_sparse_data.png
index 05cb1c3..c0543ba 100644
Binary files a/docs/text/figs/spe11b_sparse_data.png and b/docs/text/figs/spe11b_sparse_data.png differ
diff --git a/docs/text/figs/spe11b_sparse_data_finner.png b/docs/text/figs/spe11b_sparse_data_finner.png
index 339f6d7..c0543ba 100644
Binary files a/docs/text/figs/spe11b_sparse_data_finner.png and b/docs/text/figs/spe11b_sparse_data_finner.png differ
diff --git a/src/pyopmspe11/core/pyopmspe11.py b/src/pyopmspe11/core/pyopmspe11.py
index da1a422..e309ba3 100644
--- a/src/pyopmspe11/core/pyopmspe11.py
+++ b/src/pyopmspe11/core/pyopmspe11.py
@@ -120,7 +120,7 @@ def pyopmspe11():
# Write used opm related files
opm_files(dic)
- if dic["mode"] in ["all", "deck_flow", "deck_flow_data", "deck_flow_plot"]:
+ if dic["mode"] in ["all", "flow", "deck_flow", "deck_flow_data", "deck_flow_plot"]:
# Run the simulations
simulations(dic, dic["fol"].upper(), "flow")
diff --git a/src/pyopmspe11/visualization/data.py b/src/pyopmspe11/visualization/data.py
index 5498c99..32a2291 100644
--- a/src/pyopmspe11/visualization/data.py
+++ b/src/pyopmspe11/visualization/data.py
@@ -323,14 +323,14 @@ def performance(dic):
dic["text"].append(
f"{time:.3e}, "
+ f"{dic['tstep']:.3e}, "
- + f"{sum((fsteps[i] for i in dic['map_info'] if i==j)):.3e}, "
+ + f"{sum(fsteps[i] for i in dic['map_info'] if i==j):.3e}, "
+ f"{GAS_DEN_REF*fgip[dic['map_rsteps'][j]-1]:.3e}, "
+ f"{dic['dof'] * dic['nocellsa']:.3e}, "
+ f"{dic['nliters']:.3e}, "
- + f"{sum((nress[i] for i in dic['map_info'] if i==j)):.3e}, "
+ + f"{sum(nress[i] for i in dic['map_info'] if i==j):.3e}, "
+ f"{dic['liniters']:.3e}, "
- + f"{sum((runtimes[i] for i in dic['map_info'] if i==j)):.3e}, "
- + f"{sum((tlinsols[i] for i in dic['map_info'] if i==j)):.3e}"
+ + f"{sum(runtimes[i] for i in dic['map_info'] if i==j):.3e}, "
+ + f"{sum(tlinsols[i] for i in dic['map_info'] if i==j):.3e}"
)
with open(
f"{dic['where']}/{dic['case']}_performance_time_series.csv",
@@ -398,32 +398,39 @@ def write_sparse_data(dic):
rss * rho * (1.0 - sga) * por * GAS_DEN_REF / WAT_DEN_REF
for (rss, rho, sga, por) in zip(r_s, rhow, sgas, dic["porva"])
]
+ h2o_l = [
+ (1 - sga) * rho * por for (sga, rho, por) in zip(sgas, rhow, dic["porva"])
+ ]
+ dic["xcw"] = [co2 / (co2 + h2o) for (co2, h2o) in zip(co2_d, h2o_l)]
+ dic["xcw_max"] = max(dic["xcw"][i] for i in dic["boxc"])
+ if dic["xcw_max"] != 0:
+ dic["xcw"] = [xcw / dic["xcw_max"] for xcw in dic["xcw"]]
dic["ip1c"] = dic["pressure"][j][dic["sensor1"]] * 1e5 # Pa
dic["ip2c"] = dic["pressure"][j][dic["sensor2"]] * 1e5
- dic["moba"] = sum((co2_g[i] * krp[i] for i in dic["boxa"]))
- dic["imma"] = sum((co2_g[i] * krm[i] for i in dic["boxa"]))
- dic["dissa"] = sum((co2_d[i] for i in dic["boxa"]))
+ dic["moba"] = sum(co2_g[i] * krp[i] for i in dic["boxa"])
+ dic["imma"] = sum(co2_g[i] * krm[i] for i in dic["boxa"])
+ dic["dissa"] = sum(co2_d[i] for i in dic["boxa"])
dic["seala"] = sum(
- ((co2_g[i] + co2_d[i]) * dic["facie1"][i] for i in dic["boxa"])
+ (co2_g[i] + co2_d[i]) * dic["facie1"][i] for i in dic["boxa"]
)
- dic["mobb"] = sum((co2_g[i] * krp[i] for i in dic["boxb"]))
- dic["immb"] = sum((co2_g[i] * krm[i] for i in dic["boxb"]))
- dic["dissb"] = sum((co2_d[i] for i in dic["boxb"]))
+ dic["mobb"] = sum(co2_g[i] * krp[i] for i in dic["boxb"])
+ dic["immb"] = sum(co2_g[i] * krm[i] for i in dic["boxb"])
+ dic["dissb"] = sum(co2_d[i] for i in dic["boxb"])
dic["sealb"] = sum(
- ((co2_g[i] + co2_d[i]) * dic["facie1"][i] for i in dic["boxb"])
+ (co2_g[i] + co2_d[i]) * dic["facie1"][i] for i in dic["boxb"]
)
- dic["sealtot"] = sum(((co2_g[i] + co2_d[i]) for i in dic["facie1ind"]))
+ dic["sealtot"] = sum((co2_g[i] + co2_d[i]) for i in dic["facie1ind"])
if dic["case"] != "spe11c":
dic["m_c"] = sum(
- abs((r_s[i_x] - r_s[i]) * dic["dz"][i])
- + abs((r_s[i_z] - r_s[i]) * dic["dx"][i])
+ abs((dic["xcw"][i_x] - dic["xcw"][i]) * dic["dz"][i])
+ + abs((dic["xcw"][i_z] - dic["xcw"][i]) * dic["dx"][i])
for (i, i_x, i_z) in zip(dic["boxc"], dic["boxc_x"], dic["boxc_z"])
)
else:
dic["m_c"] = sum(
- abs((r_s[i_x] - r_s[i]) * dic["dy"][i] * dic["dz"][i])
- + abs((r_s[i_y] - r_s[i]) * dic["dx"][i] * dic["dz"][i])
- + abs((r_s[i_z] - r_s[i]) * dic["dx"][i] * dic["dy"][i])
+ abs((dic["xcw"][i_x] - dic["xcw"][i]) * dic["dy"][i] * dic["dz"][i])
+ + abs((dic["xcw"][i_y] - dic["xcw"][i]) * dic["dx"][i] * dic["dz"][i])
+ + abs((dic["xcw"][i_z] - dic["xcw"][i]) * dic["dx"][i] * dic["dy"][i])
for (i, i_x, i_y, i_z) in zip(
dic["boxc"], dic["boxc_x"], dic["boxc_y"], dic["boxc_z"]
)
@@ -436,7 +443,7 @@ def write_sparse_data(dic):
f",{dic['sealtot']:.3e}"
)
if dic["case"] != "spe11a":
- dic["boundtot"] = sum(((co2_g[i] + co2_d[i]) for i in dic["boundariesind"]))
+ dic["boundtot"] = sum((co2_g[i] + co2_d[i]) for i in dic["boundariesind"])
text[-1] += f",{dic['boundtot']:.3e}"
with open(