Commit Graph

41 Commits

Author SHA1 Message Date
Joakim Hove
8943e90e17 Broadcast UDQState and Action state after restart loading 2021-09-28 09:54:15 +02:00
Bård Skaflestad
1dc3832966
Merge pull request #3540 from hakonhagland/python_set_sched
Initialize blackoil simulator from Opm::Schedule shared with Python.
2021-09-23 13:32:31 +02:00
Joakim Hove
f581208fa0 Load Action state from restart file 2021-09-22 12:43:10 +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
Joakim Hove
eeab23ebab Add Parser argument to restart loader 2021-09-09 15:08:14 +02:00
Joakim Hove
3e66fc9555 Add Runspec argument to restart loader 2021-09-04 19:35:53 +02:00
Markus Blatt
598e9fa102 [bugfix] Fix sequential run after #979
Definition of the communicator was moved inside a
`#if HAVE_MPI` there. This commit queries the
communicator again below to fix this.
2021-09-02 13:12:23 +02:00
Markus Blatt
edd6c6fe85 [bugfix] Prevent segmentation fault for unkown keywords in parallel.
If there are unknown keywords and the parser throws an exception
then we nevertheless broadcasted the eclipseState and schedule.
Unfortunately, these might be null pointers in this case and
the serializer will run into a segmentation fault (e.g. when
serializing the non-existent TableManager)

Broadcasting is now only done if parsing was successful.
2021-09-02 11:14:46 +02:00
Joakim Hove
060eac4999 Add basic functionality for validating special case keywords 2021-08-24 13:50:40 +02:00
Bård Skaflestad
ec264159b1 Load Analytical Aquifers from Restart File
This commit activates the restart support for analytical aquifers.
Analytic aquifer keywords do not exist in the input file for
restarted runs since the 'SOLUTION' section is empty apart from from
the 'RESTART' specification.

We use the 'RestartIO::Aquifer' class to load the information from
the restart file and then assign this information to the
AquiferConfig object hosted by the EclipseState.  Loading Schedule
information from the restart file is still contingent on the
'--sched-restart=false' command line setting.
2021-08-19 21:07:05 +02:00
Joakim Hove
2b680f27af Load udq state results from restart file 2021-07-03 10:08:25 +02:00
Joakim Hove
528078e8e1 Assemble UDQState external to the vanguard 2021-07-01 08:24:59 +02:00
Bård Skaflestad
704c33f08f Chase Restart Loading API Change 2021-06-25 09:11:09 +02:00
Peter Verveer
fd753e20c4 Add keyword validation using a predicate function 2021-06-14 18:10:36 +02:00
Joakim Hove
d2510714e0 Check that stdout is attached to terminal before applying color 2021-05-28 10:20:10 +02:00
Arne Morten Kvarving
ca1a799e95 changed: put partially supported keywords in separate compile unit
avoid triggering full simulator rebuilds when updating
this list
2021-05-12 14:29:33 +02:00
Arne Morten Kvarving
306593af3b changed: put unsupported keywords in separate compile unit
avoid triggering full simulator rebuilds when updating
this list
2021-05-12 14:29:33 +02:00
Arne Morten Kvarving
bbfda699d3 KeywordValidation: use forwarding 2021-04-29 12:46:49 +02:00
Arne Morten Kvarving
5fb5f79318 readDeck: use forwarding 2021-04-29 12:43:51 +02:00
Arne Morten Kvarving
a4c5429341 fixed: include required headers where needed 2021-04-26 22:39:32 +02:00
Peter Verveer
1640c4afcf Implement a new keyword validator 2021-04-12 16:47:02 +02:00
Joakim Hove
7e59532944
Merge pull request #3104 from joakim-hove/summary-config-rm-tables
Remove TableManager argument when constructing SummaryConfig
2021-03-10 07:33:06 +01:00
Joakim Hove
ec344d555d Pass ouput interval overeride to Schedule constructor 2021-03-08 19:30:58 +01:00
Joakim Hove
253205d63e Remove TableManager argument when constructing SummaryConfig 2021-03-08 15:40:17 +01:00
Joakim Hove
1563525e8d Add FieldProps argument to SummaryConfig constructor 2021-03-08 08:18:50 +01:00
Joakim Hove
914bbeca82 Fetch messagelimits from ScheduleState 2021-01-12 07:44:10 +01:00
Kai Bao
49eb111225 adapting to the interface change of SummaryConfig 2020-10-01 23:32:21 +02:00
Joakim Hove
a755a2d056 Do not print error message when flow exits 2020-09-28 11:03:45 +02:00
Joakim Hove
76f57f5a1d Catch OpmInputError in addition to std::exception 2020-09-28 11:03:45 +02:00
Joakim Hove
0b5134521e Add inline fmtlib code in source tree 2020-09-28 11:01:13 +02:00
Arne Morten Kvarving
76c63c4405 changed: hide internal method 2020-09-15 10:51:57 +02:00
Markus Blatt
58fdf300df Use std::exit(EXIT_FAILURE)
Somehow this reappeard druing refactoring.
2020-09-15 08:36:20 +02:00
Markus Blatt
cd74796004 Refactored to only check once for errors in parallel.
This simplifies the code a lot (less `#if HAVE_MPI`) and there seems
to be not reason not to.
2020-09-15 08:27:04 +02:00
Markus Blatt
d413a2c960 Perform checkArrayDimension only on rank 0. 2020-09-15 08:26:23 +02:00
Markus Blatt
921e154972 use EXIT_FAILURE to indicate problems whem exiting. 2020-09-14 19:17:55 +02:00
Markus Blatt
519e4ac002 Improves error handling and reporting in parallel.
As the ErrorGuard also dumps warnings we now always dump
it (previously only on error) to get these messages in the
console.

If there are error encountered, we log a meaningful error
message (the real cause was missing previously) and do a
graceful exit after MPI_Finalize.
2020-09-14 12:53:02 +02:00
Markus Blatt
410ad3bc82 Only setup message limiter if logger is actually there.
Needed for test_ecl and test_ecl_output.
2020-08-27 09:05:09 +02:00
Markus Blatt
2b557a42ff Make unique_ptr instantiation exception safe for the kids in readDeck. 2020-08-27 09:05:09 +02:00
Markus Blatt
c958034d26 Adapt and use readDeck from EclipseBaseVanguard, too.
This reduces code duplication ad should fix the bad_cast exception
when running ebos in parallel.
2020-08-27 09:05:09 +02:00
Markus Blatt
575245d785 Factored out logging setup and deck reading from class Main.
These codes are reimplemented in the ebos simulator and should
be reused, instead. This commit factilitates this and starts
reusing the logging setup code in ebos. Hence reduces code duplication.
2020-08-27 09:05:09 +02:00