Commit Graph

32 Commits

Author SHA1 Message Date
Bård Skaflestad
54663f96a4 Add Missing Headers to Python Simulator
These were originally obtained through transitive includes,
especially from Main.hpp, but that's not a stable condition if the
set of transitive includes changes.
2025-01-30 12:17:39 +01:00
Arne Morten Kvarving
4d5a67fa82 added: ability to pass command line parameters from python 2024-11-28 09:14:53 +01:00
Arne Morten Kvarving
2a9d81227b changed: subclass Main for python
move the initFlowBlackoil method into it

in particular we then avoid the FlowMainType type alias
in Main.hpp
2024-09-09 14:28:20 +02:00
Arne Morten Kvarving
05f01bf819 parametersystem.hh: rename to .hpp 2024-09-05 10:07:40 +02:00
Håkon Hægland
a1b7d4b5dd Allow Python bindings to setup MPI
Allows the Python bindings to control whether MPI_Init() and
MPI_Finalize() will be called when creating an OPM::Main object.
2024-05-02 11:14:07 +02:00
Arne Morten Kvarving
52fb89b66e PyFluidState: rename ebos_simulator to simulator
and align ref/ptr with variable type
2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
3475da7d8c Rename ebos_simulator members/parameters to simulator 2024-03-06 10:53:00 +01:00
Håkon Hægland
67bcc491ff Remove unused variables 2024-03-05 09:22:15 +01:00
Håkon Hægland
66eb6e1625 use the elements() range generator 2024-03-05 08:53:54 +01:00
Håkon Hægland
757c67f284 Return vectors by value
Return vectors by value instead of unique pointers to arrays.
2024-03-01 14:22:37 +01:00
Håkon Hægland
55aab60549 Get primary variables and fluid state from Python
Added methods to Python module opm.simulators.BlackOilSimulator to
access primary variables and fluid state variables.
2024-03-01 14:22:35 +01:00
Arne Morten Kvarving
4aa6dc355f rename TTag::EclFlowProblemTPFA to TTag::FlowProblemTPFA 2024-02-23 09:27:48 +01:00
Arne Morten Kvarving
b09c70213b FlowMainEbos: rename to FlowMain 2024-02-06 10:42:23 +01:00
Håkon Hægland
ac927d997b Added a get_dt() method
Added a get_dt() to the opm.simulators.BlackOilSimulator Python module.
This will return the size of the previous simulator time step.
2023-09-08 19:40:42 +02:00
Håkon Hægland
e2f62644ae Get cell volumes from Python
Adds a new method get_cell_volumes() to the opm.simulators Python module
that returns a python list of the cell volumes in the black oil
simulator.
2023-09-08 09:39:24 +02:00
Arne Morten Kvarving
96ec2b0e96 comment out unused private variable (causes a warning) 2022-10-26 10:59:43 +02:00
Atgeirr Flø Rasmussen
a7a5a7a98d Make the Python interface use the TpfaLinearizer. 2022-10-04 11:44:35 +02:00
Arne Morten Kvarving
eeeeb283c5 remove unnecessary includes 2022-07-26 19:03:39 +02:00
Håkon Hægland
91ac3a2a32 Dynamically update schedule from Python
Adds some methods that enables Opm::Schedule to be dynamically modified
from Python. A test case in test_schedule.py illustrates the use case.
2022-05-05 13:10:39 +02:00
Joakim Hove
6b92443cb4 Downstream filesystem reorganisation in opm-common 2022-01-02 14:33:34 +01: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
Arne Morten Kvarving
1ef981f35c use RAII for MPI initialization 2021-08-12 13:20:59 +02:00
Håkon Hægland
7011a6c0b7 Restore cwd after each unittest.
Restores the original cwd after each unittest in test_basic.py. Also
simplifies add_test() in python/simulators/CMakeLists.txt such that the
Bash script wrapper run-python-tests.sh is no longer needed to run the
tests.
2020-11-04 13:51:36 +01:00
Håkon Hægland
648bab7108 Implements access to the porosity from Python.
Implements access (read/write) to the porosity from Python.
2020-11-03 17:18:14 +01:00
Håkon Hægland
53cbe0c57e Initialize boolean variables in-class.
Initialize the boolean variables hasRunInit_ and hasRunCleanup_ in
the class instead of in the constructor.
2020-11-03 16:17:52 +01:00
Håkon Hægland
0403d4e6e7 Implements a Python step_cleanup() method.
Continues the work in #2735 on implementing Python bindings for the flow
simulator.
2020-11-03 16:12:12 +01:00
Atgeirr Flø Rasmussen
68add695fe
Merge pull request #2735 from hakonhagland/python_step2
Implements a Python step() method.
2020-09-22 15:47:48 +02:00
Arne Morten Kvarving
f4f5fa3a5d changed: remove one missed TTAG usage
also include header for the Scalar property definition
2020-08-28 10:44:53 +02:00
Håkon Hægland
81319a7923 Implements the Python step() method.
A resubmission of commit 8e4f748 in PR #2403 and PR #2444 and continues
the work in #2690 implementing Python bindings to the flow simulator.

The Python step() method advances the simulator one report step. Before
calling step() for the first time, step_init() must have been called.
2020-08-25 13:42:48 +02:00
Håkon Hægland
3749dcab7d Implements the Python step_init() function.
A resubmission of commit 11eaa3d7 in PR #2403 and PR #2443 and continues
the work in #2555 implementing Python bindings to the flow simulator.

The step_init() method initializes the simulation. It is required for the
Python script to run step_init() before calling the step() method (which
will be implemented in a later commit).
2020-08-24 10:27:50 +02:00