Commit Graph

32 Commits

Author SHA1 Message Date
Bård Skaflestad
ff4db11528 Handle Case of Nonexistent NumPy Module
The NumPy module might not be available on the host system.  In that
situation the PYINPUT_BASIC unit test would fail with a segmentation
violation.  Guard against this problem by catching ImportError and
checking if the result deck has 'DX' instead of blindly asserting
that 'DX' exists.
2023-06-08 09:24:27 +02:00
Bård Skaflestad
222e6133b1 Catch Up to Changed Semantics of Certain Member Functions
In particular Python::exec() now returns 'false' instead of throwing
an exception if we don't have 'EMBEDDED_PYTHON'.  Similarly for the
Python::Python constructor when called with an 'Enable::ON' argument.
2023-06-08 09:23:22 +02:00
Bård Skaflestad
45e4762302 Emit Useful Diagnostic Message if Test Fails
While here, also mark a few objects 'const' and reorder the headers.
2023-06-08 09:19:32 +02:00
Arne Morten Kvarving
9ef643345d Schedule.hpp: forward Well 2023-01-18 11:01:41 +01:00
Arne Morten Kvarving
5e74b915b5 ScheduleState.hpp: forward Action::Actions 2023-01-11 13:51:28 +01:00
Arne Morten Kvarving
d135fada0a remove unnecessary <iostream> includes 2023-01-03 16:32:56 +01:00
Arne Morten Kvarving
1f5b60d651 changed: give variable a name
clang cannot parse the nameless variant for some reason
2022-09-09 07:46:45 +02:00
Arne Morten Kvarving
ef6d448077 changed: remove include of EclipseState.hpp in header
and deal with the consequences
2022-07-26 16:03:52 +02:00
Joakim Hove
343f14dacf Record and act on return value from PYACTION 2022-01-28 12:05:17 +01:00
Joakim Hove
46b663218a Enable running normal ACTIONX keywords from PYACTION
The run() function invoked by PYACTION has got a new fifth argument which is a
callable the script should utilize to apply the keywords from an ACTIONX
keyword. The callable is implemented as C++ lambda which will run the
Schedule::iterateScheduleSection() method and make sure an updated
SimulatorUpdate variable can be passed back to the simulator.
2022-01-25 10:04:43 +01:00
Joakim Hove
0a59bd8f61 Filesystem rename EclipseState/Schedule/ Schedule/ 2022-01-02 14:32:14 +01:00
Joakim Hove
aede532b9a Filesystem rename parser/eclipse/ input/eclipse 2022-01-02 14:32:14 +01:00
Joakim Hove
f572937529 Add template<> Deck::get<T>() to get keywords 2021-11-23 14:06:37 +01:00
Daniel
b0f757eb50 Replace Deck::getKeyword(std::string) with operator[std::string] 2021-11-23 14:00:38 +01:00
Joakim Hove
7b896359f6 Part 2: Use Opm::time_point 2021-03-03 15:13:34 +01:00
Joakim Hove
315382bad8 Run PYACTION keywords
The PYACTION keyword is implemented with a Python module with a run() function
in an external module.
2020-04-16 14:13:54 +02:00
Joakim Hove
5ac2b3f531 Fix codepath for non-python 2020-03-31 16:56:44 +02:00
Joakim Hove
5444eade2f Use std::shared_ptr<Python> for Python argument in Schedule 2020-03-31 10:26:55 +02:00
Joakim Hove
50fb51d56e Add Python arg to Schedule constructor 2020-03-27 12:43:18 +01:00
Joakim Hove
687887939d Make sure PythonInterpreter can be safely disabled 2020-03-27 12:11:40 +01:00
Atgeirr Flø Rasmussen
4c5b03b83e Use braces to force correct parsing.
Without this, clang thinks it is a declaration, not a function call.
2020-03-27 10:11:12 +01:00
Joakim Hove
cce2bc0686 Temporarily protect against deref when python is disabled 2020-03-26 15:38:18 +01:00
Joakim Hove
a8f0ebb183 Enable fine grained control of Python ON | OFF 2020-03-26 12:00:59 +01:00
Joakim Hove
c7f6b22bdf Add static method bool Python::enabled() 2020-03-20 16:59:50 +01:00
Joakim Hove
d06a5a78e0 Moved PyAction class into Action:: namespace 2020-03-20 16:59:50 +01:00
Joakim Hove
7852203d39 PYACTION: The actual python code is in an external file
With this commit the PYACTION keyword is changed, instead of embedding the
Python code directly in the .DATA file the keyword now points to an external
file which is loaded verbatim into the PyAction keyword.

In addition the PYACTION keyword has now got a name and a string indicating how
many times it should run.
2020-03-20 16:59:50 +01:00
Joakim Hove
a6ddce5d92 Add basic Python exec of PYACTION 2020-01-13 15:15:21 +01:00
Joakim Hove
6199b81e60 Use 'PYEND' instead of '<<<' to terminate PYACTION and PYINPUT 2020-01-09 08:21:59 +01:00
Steinar Foss
f3701c3f93 Parser: handles PYINPUT. Python code in eclipse .Data files now possible!!!
test EmbeddedPython: now with actual python code.

parser.cpp: parsing python code.

introduced RawConst::pyinput.

EmbeddedPython: tests with data keyword.
2019-12-05 09:19:43 +01:00
Steinar Foss
0e1e9b7ac7 test EmbeddedPython: added test for add keyword to deck. 2019-10-25 17:15:56 +02:00
Joakim Hove
69ddffc966 Expose C++ objects to Python runtime 2019-09-23 21:31:45 +02:00
Joakim Hove
ab2ea1acf3 Add basic manager class fro Python interpreter 2019-09-09 10:58:26 +02:00