Commit Graph

366 Commits

Author SHA1 Message Date
Tor Harald Sandve
ad799b3e80 Add more performance summary output
This commit ads: NEWTON, MLINEARS, MSUMLINS, MSUMNEWT, NLINEARS, NLINSMIN, NLINSMAX
2022-02-03 15:03:37 +01:00
Markus Blatt
710d648eda Prevent multiple *.?.dbg/prt files in production crashed parallel runs.
There was a fallout when skipping concating these files to the
default ones (PR #1708). We should also have deactivated creating
these files at all. As a result these files appeared in all parallel
runs that were aborted.

This change now prevents creating and logging to these files in
parallel in a default
run (--enable-parallel-logging-fallout-warning=false).

Developers can still activate logging and concating to see whether
everything is only logged on the io process by passing
--enable-parallel-logging-fallout-warning=true.

Closes 3725
2022-01-27 17:21:29 +01:00
Tor Harald Sandve
bf77bbbc10
Merge pull request #3759 from plgbrts/saltp
Enable salt precipitation/dissolution
2022-01-18 12:02:32 +01:00
Arne Morten Kvarving
a82ad816c7 add fallback return (control reaches end of non-void function) 2022-01-17 13:59:47 +01:00
Paul Egberts
98c8e691c3 Allow for brine and precipitation/dissolution of salt 2022-01-14 11:46:40 +01:00
Bård Skaflestad
3317f10c4a
Merge pull request #3729 from goncalvesmachadoc/gaswater_brine
allow for gas-water + brine
2022-01-12 12:31:34 +01:00
goncalvesmachadoc
300f536a19 add exit_failure for water+brine case 2022-01-11 14:23:37 +01:00
Joakim Hove
6b92443cb4 Downstream filesystem reorganisation in opm-common 2022-01-02 14:33:34 +01:00
Atgeirr Flø Rasmussen
eec32ec581 Replace DEMONSTRATE_RUN_WITH_NONWORLD_COMM macro with runtime bool.
This allows for testing the simulator with the artifically split communicator,
in order to verify that there is no inappropriate usage of the world communicator.
2021-12-10 17:42:44 +01:00
goncalvesmachadoc
7f320102c3 allow for gas-water + brine 2021-12-08 14:35:22 +01:00
Tor Harald Sandve
4f75d1ab8d Add gasoil + energy simulator
Useful when combining CO2STORE + THERMAL

This PR also fixes an issue with missing phases in computation of output temperature
2021-12-07 09:18:38 +01:00
Markus Blatt
a2246d331b Spelling fixes
Gbp-Pq: Name 0005-Spelling-fixes.patch
2021-11-15 12:06:05 +01:00
Tor Harald Sandve
ae5a1df29c
Merge pull request #3638 from blattms/exclude-pv-aquifer-cnv
Exclude pv of numerical aquifer cells in ratio of cells violating CNV
2021-11-12 13:27:58 +01:00
Arne Morten Kvarving
dc136746df cosmetics: do not indent for namespace
also avoid an unnecessary close/open for namespace Opm
2021-11-10 14:24:51 +01:00
Arne Morten Kvarving
7f7fbab2f4 remove FLOW_BLACKOIL_ONLY hack from Main.hpp
now that the python simulator uses runStatic, the
runDynamic template is never instanced, and thus there
are no linker issues.
2021-11-10 10:07:11 +01:00
Arne Morten Kvarving
06bd25575f use std::filesystem directly 2021-11-01 12:31:58 +01:00
Bård Skaflestad
f212c946c7 Separate MICP Case Out to Helper Function
In keeping with the other simulation cases.
2021-10-29 16:15:44 +02:00
Arne Morten Kvarving
a056aa858a changed: special case no input deck given handling
we do not want to invoke MPI_Abort in this case
2021-10-29 12:16:01 +02:00
Markus Blatt
85b5a60270 [bugfix] Exclude pv of numerical aquifer cells for CNV violation.
In some models there will be only a few cells with rather high pore volume representing the numerical aquifer. Including them (as non-violated cells) in the ratio will make the ratio lower than without the aquifer there and might lead to accepting vectors as converged when they should not.
2021-10-26 12:01:46 +02:00
Alf Birger Rustad
a10387fcec Do not print confusing message to terminal. 2021-10-25 15:35:30 +02:00
Joakim Hove
56c7c74016 Handle NEXTSTEP behavior in time stepper 2021-10-18 11:52:33 +02:00
Tor Harald Sandve
70c9d2e237
Merge pull request #3590 from daavid00/micp-2021-10
micp
2021-10-14 22:28:28 +02:00
daavid00
48b175904a first version of micp implementation in flow 2021-10-14 17:44:57 +02:00
Joakim Hove
4b85fc74ae
Merge pull request #3594 from joakim-hove/wtest-rst
load WellTestState from restart file
2021-10-13 11:27:41 +02:00
Arne Morten Kvarving
8eb63409cb fixed: double call to MPI_Finalize
I missed this one when moving the MPI handling into RAII style
2021-10-13 09:35:16 +02:00
Joakim Hove
2c68f12769 Load WellTestState from restart file 2021-10-13 08:46:48 +02:00
Joakim Hove
5db60aba5e Set external Action::State object in the vanguard 2021-10-12 10:41:29 +02:00
Bård Skaflestad
61ac76fe90 Make ARGV[ARGC] Into a Nullpointer
This is strictly speaking required by POSIX.
2021-10-09 00:17:32 +02:00
Bård Skaflestad
ad74de2e1a Use Algorithm to Locate '--version' Option 2021-10-09 00:17:32 +02:00
Bård Skaflestad
fca167acfd Split Individual Cases Out to Helper Functions
This commit moves the bodies of the various 'dynamicDispatch_<>()'
cases out to separate helper functions.  Not only does this reduce
the number of nested conditionals, it also helps reasoning about
each case in isolation and aids future maintenance.
2021-10-09 00:17:32 +02:00
Bård Skaflestad
3455dbdac9 Main.hpp: Adjust Whitespace
In preparation of refactoring 'dispatchDynamic_<>()'
2021-10-09 00:17:32 +02:00
Markus Blatt
1520f9c85f [bugfix] handle exception when linearizing the wells.
As multisegment wells may throw in applyUMFPack this is now needed and
the exception needs to communicated to all processes. We do this in
the linearize method of the well model.

Before this change this is what could happen:
- The process with the exception would have chopped the time step
- The others would have successfully setup the systems and entered the
  linear solve

This  poduced a deadlock. One processes was waiting in
OPM_END_PARALLEL_TRY  during the setup of the shorter time step and in
collective communication during the setup of the linear solver for the
unchopped time step.
2021-10-08 16:01:07 +02:00
Elyes Ahmed
65f0e4e7f0 Replacing calling Communication with a header 2021-10-05 13:07:52 +02:00
Elyes Ahmed
0202b00d59 clean up after review 2021-10-05 13:07:52 +02:00
Elyes Ahmed
f53c597f90 Replacing use of MPI_COMM_WORLD with a variable communicator. 2021-10-05 13:07:52 +02:00
Tor Harald Sandve
afdfe55bbc restrict maximum number of times a well can switch to the same control 2021-10-04 10:12:39 +02:00
Tor Harald Sandve
cb9254636b rename and cleanup 2021-09-30 09:01:07 +02:00
Tor Harald Sandve
c9e93e6155 stop updating operability during iterations 2021-09-30 08:47:47 +02:00
Joakim Hove
5d3e56baa3 Call MPI_Abort() in main catch all clause 2021-09-28 20:53:38 +02:00
Markus Blatt
3cda8a2fdb Added missing parallel try-catch clause for updatePrimaryIntensities.
As Problem::updatePrimaryIntensities might throw we need to do this
to prevent dealocks in parallel run in case problem occurs.
2021-09-24 09:25:44 +02:00
Håkon Hægland
7a394df43f Include <stdexcept> header to use std::logic_error()
And some minor stylistic changes.
2021-09-23 13:13:23 +02:00
Håkon Hægland
4c5245196b Changed calling convention for shared pointers.
Expect non-reference type shared pointers arguments instead of references
to shared pointer. This will make it clear to the caller that the called
function is making a copy of the pointer for its own use and not trying
to modify the original pointer of the caller.
2021-09-22 23:49:13 +02:00
Håkon Hægland
5ad65c70ee Initialize blackoil simulator from schedule shared with Python.
Adds a new constructor to Main.hpp that takes shared pointers to Deck,
EclipseState, Schedule, and SummaryConfig. This makes it possible to
share these variables with Python without worrying about lifetime issues
of the underlying C++ objects. For example, a Python script can first
create an opm.io.schedule.Schedule object which is modified from Python.
Then, assume the same Python script creates an
opm.simulators.BlackOilSimulator which is initialized with the same
schedule object. Since the underlying C++ object is a shared pointer,
the Schedule object in Python may go out of scope (get deleted by Python)
without having the C++ schedule object being deleted. And the Python
BlackOilSimulator may continue to be used after the Python Schedule object
has been deleted since it still has a valid C++ schedule object.
2021-09-21 15:52:59 +02:00
Joakim Hove
357540bfca Create Action::State external to the vanguard 2021-09-19 10:17:58 +02:00
Tor Harald Sandve
81d9a8c178 add option for relaxed convergence for stw 2021-09-14 14:32:14 +02:00
Atgeirr Flø Rasmussen
d1bfd48b6e Add missing include for unordered_map. 2021-09-09 12:17:54 +02:00
Tor Harald Sandve
f3513a31eb add option for relaxed well convergence for the last netwon iterations 2021-09-08 09:58:14 +02:00
Joakim Hove
060eac4999 Add basic functionality for validating special case keywords 2021-08-24 13:50:40 +02:00
Tor Harald Sandve
8e23a2b88d
Merge pull request #3476 from totto82/changeDefaultInner
Change default MaxNewtonIterationsWithInnerWellIterations to 8
2021-08-24 10:29:03 +02:00
Tor Harald Sandve
0f58343c48 Change default MaxNewtonIterationsWithInnerWellIterations to 8 2021-08-18 08:41:37 +02:00