Commit Graph

10584 Commits

Author SHA1 Message Date
Håkon Hægland
460c6727d2 Refactor run() in SimulatorFullyImplicit....hpp
Similar to the previous commit b25f489, run() is here refactored in
preparation for the implementation of a Python step() function in a
later commit. Currently run() is called from runSimulatorInitOrRun() in
FlowMainEbos.hpp using the runSimulatorRunCallback_(). Later, there
will be other callbacks like runSimulatorStepInitCallback_(), and
runSimulatorStepCallback_(), that will need to call different parts of
the code in run(). The run() function is thus refactored into run(),
runInit(), runStep(), and runLastStep(). Also, some of the local
variables in run() have to be made persistent between calls to
runStep(), this applies to variables report, stepReport, solverTimer,
totalTimer, and adaptiveTimeStepping, which are made private class
variables.
2020-03-03 20:24:57 +01:00
Håkon Hægland
313f2bed3b Refactor runSimulator()
As discussed in the previous commit 224ddd9 runSimulator() needs to be
refactored to avoid code duplication when executeStepInit() is
implemented (see later commit). Here, runSimulator() is refactored into
a runSimulatorInitOrRun() that takes a callback function. When
runSimulatorInit() is implemented it will pass a different callback that
only initializes the simulator. Currently, runSimulator() passes the
callback runSimulatorRunCallback_() which runs the whole simulation.
The final output of the simulation summary in runSimulator() is also
refactored into a runSimulatorAfterSim_() method.
2020-03-03 20:24:57 +01:00
Håkon Hægland
77a151be83 Refactor execute()
Currently, execute() calls runSimulator() to run the simulation. When
the Python step_init() is implemented (see a later commit), it will
instead call an executeStepInit() that will need to do the same
initialization as in execute() except that it should call a
runSimulatorInit() instead of runSimulator(). In order to avoid code
duplication for execute() and executeStepInit(), execute() is here
refactored into an execute_() method.
2020-03-03 20:24:41 +01:00
Håkon Hægland
2a1c1f9bfd Refactor flowEbosBlackoilMain()
Currently, the Python run() calls flowEbosBlackoilMain() to start the
simulation (which calls execute() in FlowMainEbos). The Python
step_init() method should also do the setup in flowEbosBlackoilMain()
but it should not call execute() directly. In order to avoid code
duplication for run() and step_init(), the initialization part of
flowEbosBlackoilMain() is isolated into a flowEbosBlackoilMain_init()
2020-02-26 12:45:53 +01:00
Håkon Hægland
c66b564b35 Refactor run() into prepareRun_()
We would like to add a step() method to simulators.cpp, that will let a
Python script advance the simulator one report step at a time. Before
calling step(), the Python script will have to call a step_init()
method that initializes the simulator, similar to what is done in run()
now. In order to avoid duplication of code in run() and step_init() the
run() method is here refactored into a prepareRun_() function that can
be called from both step_init() and from run().
2020-02-25 00:52:38 +01:00
Michael Sargado
9f5a13fcfb Constructor overloaded to accept either filename or complete set of parsed objects. 2020-02-21 00:14:13 +01:00
Michael Sargado
b2a8ae0f31 Overloaded constructor 2020-02-21 00:14:13 +01:00
Michael Sargado
ea6cd34c7b Python bindings for blackoil simulator. 2020-02-21 00:14:13 +01:00
Atgeirr Flø Rasmussen
5fe48dab8b
Merge pull request #2327 from akva2/bump_dune
Bump required dune version to 2.6
2020-02-11 09:41:44 +01:00
Tor Harald Sandve
a840c4f418
Merge pull request #2325 from dr-robertk/PR/async-output
Async output.
2020-02-11 09:07:06 +01:00
Arne Morten Kvarving
22a291a3af
Merge pull request #2331 from akva2/janitoring
changed: rename local typedef to avoid shadowing warning
2020-02-10 15:24:15 +01:00
Arne Morten Kvarving
96b2e97b15 changed: rename local typedef to avoid shadowing warning 2020-02-10 12:30:14 +01:00
Robert Kloefkorn
526f1f9bb1 [bugfix][AsyncOutput] Restore asynchronicity for output and make sure
that all output is written before the simulator is finalized.
2020-02-10 12:11:30 +01:00
Robert Kloefkorn
e04bb6e91a [feature][flow_blackoil] Added a variant to compile the blackoil option
only for faster development.
2020-02-10 12:11:30 +01:00
Markus Blatt
11c1574405 Merge pull request #2316 from akva2/fix_bda_onephase
fixed: add explicit template instantation for blocksize 1
2020-02-10 11:23:06 +01:00
Atgeirr Flø Rasmussen
b1474a1427 Merge pull request #2324 from joakim-hove/aquifer-interface-refactor
Use member variable in Aquifer code
2020-02-10 09:26:03 +01:00
Joakim Hove
d17b21089f Use member variable in Aquifer code 2020-02-09 10:13:15 +01:00
Arne Morten Kvarving
cfa0904321 fixed: quell deprecation warnings with dune 2.7 2020-02-07 15:19:44 +01:00
Arne Morten Kvarving
d28ed77036 fixed: add explicit template instantation for blocksize 1
fixes linking of flow_onephase with bda/cuda enabled
2020-02-07 15:18:40 +01:00
Atgeirr Flø Rasmussen
d4419fedfb
Merge pull request #2283 from totto82/conditionalCheck
make group constrain check conditional
2020-02-07 15:02:04 +01:00
Joakim Hove
ac72e49a41
Merge pull request #2319 from joakim-hove/aquifer-reactor
Aquifer refactor
2020-02-07 14:28:10 +01:00
Joakim Hove
0e1a210ef2 Use std::pair<bool, double> for initial aquifer pressure 2020-02-07 12:32:09 +01:00
Joakim Hove
cb8a76d098 Use [i] instead of at(i) when accessing Aquifer container 2020-02-07 07:31:25 +01:00
Joakim Hove
e910ebe738 Aquifer accessor renamed 2020-02-07 07:31:25 +01:00
Joakim Hove
1c4021f0a3 Use TableManager in AquiferCT constructor 2020-02-07 07:31:25 +01:00
Joakim Hove
28cca881de
Merge pull request #2314 from bska/serialize-currctrl
Add Parallel Serialization Support for CurrentControl
2020-02-06 16:36:02 +01:00
Arne Morten Kvarving
4978e72039 bump required dune version to 2.6
remove compatiblity code with older versions
2020-02-06 16:24:39 +01:00
Bård Skaflestad
115d1107f7 Add Parallel Serialization Support for CurrentControl
This commit adds support for serializing Opm::data::CurrentControl
between parallel processes.
2020-02-06 09:49:30 +01:00
Joakim Hove
50d35c1dde
Merge pull request #2317 from akva2/simplify_tuning
update for simplified Tuning data structure in opm-common
2020-02-05 07:50:33 +01:00
Arne Morten Kvarving
df62305673 update for simplified Tuning data structure in opm-common 2020-01-31 13:45:05 +01:00
Arne Morten Kvarving
c3ce35fb0d
Merge pull request #2315 from akva2/cleanups
Some cleanup in serialization
2020-01-31 12:15:51 +01:00
Arne Morten Kvarving
0c78f74975 changed: give more informative messages when serialization tests fail 2020-01-31 11:55:27 +01:00
Arne Morten Kvarving
abb6f22acc cleanup: use macro for explicit template instantations 2020-01-31 11:55:27 +01:00
Atgeirr Flø Rasmussen
066a6e5210
Merge pull request #1936 from GitPaean/support_wgr_wecon
Support WGR limit check for WECON
2020-01-31 09:59:28 +01:00
Atgeirr Flø Rasmussen
64a6d533fc
Merge pull request #2309 from akva2/fix_relperm_diag_parallel
fixed: run RelpermDiagnostics on the global grid in parallel runs
2020-01-31 09:55:52 +01:00
Kai Bao
56580ad431 adding WGR support for WECON 2020-01-30 21:54:36 +01:00
Tor Harald Sandve
b499180776 only double check the current group constraint at the start of a report step 2020-01-30 11:18:23 +01:00
Markus Blatt
daa8f778bb
Merge pull request #2310 from akva2/noecl_small_stuff
Preparatory changes for single-process parsing
2020-01-30 09:13:14 +01:00
Arne Morten Kvarving
75f2b34ba6 avoid deck usage on non-root processes checking for AQUFETP
aquifers are currently broken in parallel, add a throw if used in
a parallel simulation.
2020-01-29 15:30:55 +01:00
Arne Morten Kvarving
737cb0bb3e avoid deck usage on non-root processes checking for AQUCT
aquifers are currently broken in parallel, add a throw if used in
a parallel simulation.
2020-01-29 15:30:55 +01:00
Arne Morten Kvarving
39492fdaf4 only calculate ACTNUM on root-process 2020-01-29 15:30:55 +01:00
Arne Morten Kvarving
d91155738f avoid dereferencing eclGrid and FieldProps on non-root processes setting up grids
these only used on root process in any case
2020-01-29 15:30:55 +01:00
Joakim Hove
2a131bc46c
Merge pull request #2303 from joakim-hove/serialize-rockconfig
Serialize rockconfig
2020-01-29 15:07:15 +01:00
Joakim Hove
fcdd5874a3 Use RockConfig in eclproblem 2020-01-29 15:06:53 +01:00
Joakim Hove
d15ad322c1 Serialize RockConfig 2020-01-29 15:06:20 +01:00
Tor Harald Sandve
f5c6bafd90 make group constrain check conditional 2020-01-29 14:52:01 +01:00
Bård Skaflestad
645b07bf7f
Merge pull request #2305 from akva2/fix_thermal
Parallel thermal simulations
2020-01-29 13:27:45 +01:00
Arne Morten Kvarving
d4d69c4978 fixed: run RelpermDiagnostics on the global grid in parallel runs 2020-01-29 09:40:24 +01:00
Arne Morten Kvarving
33d3fabb39 add thermal parallel regression test 2020-01-29 08:54:50 +01:00
Arne Morten Kvarving
35a085fe0d changed: adjust to ThermalLawManager initialization changes 2020-01-29 08:54:50 +01:00