Commit Graph

14 Commits

Author SHA1 Message Date
Markus Blatt
859e00254e [bugfix] Make sure MPI_FInalize is called before the return in main.
A correct MPI program should do that.

As MPI_Finalize is part of the destructor of MainObject we need to
make sure that it's destructor is called before the return statement.
We do that manually  by resetting the unique_ptr that we now use to
store the MainObject,
2023-07-19 13:44:12 +02:00
Arne Morten Kvarving
a4d254b749 changed: introduce EclGenericVanguard::setParams
this is used transferring ownership of setup structures to the
simulator. drop all the flowEbosXXX set deck methods and use the
generic vanguard. also means various structs that were only passed
in the blackoil simulator are now passed in all simulators.
2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
00c374be5c changed: remove support for internal summaryconfig handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
4510f40b6d changed: remove support for internal schedule handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
1a35c5ac47 changed: remove support for internal eclstate handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
371c8058bc changed: remove support for internal deck handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
c793aff5d1 changed: rename externalSetupTime
external is (or will be) implied
2022-06-24 15:06:13 +02:00
Atgeirr Flø Rasmussen
c8828ad43b Remove extra MPI initialization.
Initialization is now done in the Main::initMPI() method.
For configurations with dune-fem, this also caused crashes
with dune-fem versions prior to 2.8.
2021-11-02 20:35:20 +01:00
Arne Morten Kvarving
9395c74b3e changed: build separate simulator binaries for flow
this is very convenient during development.
we can then remove the FLOW_BLACKOIL_ONLY option,
as it is no longer needed - use the flow_blackoil binary instead.
however we need to keep this support in Main.hpp due to the python
bindings relying on it.
2021-11-01 09:31:09 +01:00
Håkon Hægland
16bbc338ab Don't increase shared_ptrs use_count when forwarding.
Use std::move() to avoid increasing the use count of std::shared_ptr
when forwarding them to the vanguard object.
2021-09-23 10:56:18 +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
Arne Morten Kvarving
a4c0af09d9 fixed: do not use Opm:: prefix when inside namespace Opm 2021-05-05 11:59:18 +02:00
Ove Sævareid
0f7e66e151 Alternative solvent extension for the black oil model. 2020-11-17 12:33:19 +01:00