Commit Graph

232 Commits

Author SHA1 Message Date
Markus Blatt
f6b4a4396e
Merge pull request #2614 from blattms/clean-hnil-fix
Fixed unitialized value for ILU when using flexible solvers.
2020-05-13 14:40:02 +02:00
Atgeirr Flø Rasmussen
bf0e7f0e4a Split file to ensure correct authorship and license is applied. 2020-05-13 13:53:45 +02:00
Markus Blatt
664e582b5f [bugfix] Use correct matrix for scaling.
For some of the scaling approaches the wrong matrix (dereferenced
nullptr) would have been used which should have resulted segmentation
faults. With this commit we add a method getMatrix() that returns the
correct one and use that for scaling.
2020-05-13 13:38:02 +02:00
Markus Blatt
9f278db5a6 Removes additional member for matrix used by the preconditioner.
Somehow that approach went missing in action and it is always the
same as the assembled matrix. Hence no need for that member anymore
and we remove it to prevent confusion.
2020-05-13 13:38:02 +02:00
Markus Blatt
1e56b8f907
Merge pull request #2608 from blattms/merge-cpr-legacy
Make flexible solvers and CPR accessible for flow binary.
2020-05-13 13:20:23 +02:00
hnil
e309d86012 Fixed unitialized value for ILU when using flexible solvers.
If the user requested ILU0, the uninitialized valued caused an
arbritrary (quite high) fill-in level to be used which stalled the
computation and exhausted memory when running parallel.
2020-05-13 13:13:54 +02:00
Markus Blatt
7ed960b6d1 Use normal pointer to assembled matrix. 2020-05-13 12:23:20 +02:00
Markus Blatt
ddd947bf0a Use correct matrix for flexible solver when parallel.
In this case matrix_ is a nullptr and noGhostMat_ is the optimized
matrix to use. Before this commit we experienced a segmentation fault
as the nullptr was dereferenced and passed to the solver.
2020-05-12 19:06:12 +02:00
Markus Blatt
4c72af9546 Make only rank zero honor verbosity in flexible solvers.
Previously all the ranks print linear solver statistics in verbose
mode which cluttered the output in parallel runs. Now only rank 0
will print like it should be.
2020-05-12 18:06:20 +02:00
Markus Blatt
1f177b33e7 Use communicator to decide whether this is a truly parallel. 2020-05-12 12:46:04 +02:00
Markus Blatt
1ff1f24fbb Fix when the matrix with no ghosts will be used. 2020-05-12 12:46:04 +02:00
Markus Blatt
e8b79b2b63 Prevent matrix copy in serial run. 2020-05-12 12:46:04 +02:00
Markus Blatt
357469dc21 Only extract overlap and interior information if needed.
That is, if actually set up the additional matrix with no ghosts.
2020-05-12 11:52:19 +02:00
Markus Blatt
aa54b4d8db Remove unused weight_filename from json file. 2020-05-12 11:52:19 +02:00
Markus Blatt
47acb6ecb3 Make flexible solvers and CPR accessible for flow binary.
Previously, one had to call a seperate binary called
flow_blackoil_dunecpr. Unforntunately, that was only built if users
requested that the tests (`-DBUILD_TESTING=ON`) and the flow
variants (`-DBUILD_FLOW_VARIANTS=ON`) should be built. In addition
it would use a slightly different nonlinear solver implementation.

With this commit flow can be asked to either use
CPR (`--use-cpr=true --matrix-add-well-contributions=true`) or to use
the flexible solvers bx setting the `--linear-solver-configuration`
option. In all other cases the usual solver implementations are still
used.

Note that the flexible solvers still need
`--matrix-add-well-contributions=true` and hence cannot cope with
multi-segment wells.
2020-05-12 11:52:19 +02:00
Markus Blatt
71b234ec54 Make CprReuseSetup always use same default value.
The default was 0 for flow and 3 for flow_blackoil_dunecpr. Now we
always use 3. This is safe as it will not be used for any other
solvers than the flexible ones.
2020-05-12 11:52:19 +02:00
Markus Blatt
5b4acd5417 Do not query wells for solver if it is actually not needed. 2020-05-12 11:52:19 +02:00
Markus Blatt
19bd9cea65 for DUNE 2.7 and up we need to specialize for Opm:MatrixBlock
as there already is a specialization for an arbitrary Block
and that one leads to compile errors because we redefine it
in OPM (and miss some other specializations for Opm:MatrixBlock,
e.g. isNumber).
2020-05-11 21:29:47 +02:00
Atgeirr Flø Rasmussen
329036612b Enable matrix dumping also without MPI.
Also remove the need for the reinterpret_cast by adding some extra
implementation details for more general block matrices.
2020-05-08 13:32:36 +02:00
hnil
d275242b01 Add a writeSystem() helper and use it to write system matrices.
Triggered only when using the flexible solver and a solver verbosity > 10.
2020-05-06 16:56:30 +02:00
Markus Blatt
f03b56c261 Complete future-proofing ILU usage in the preconditioner factory.
SeqILU0/SeqILU0 are removed in master and one should use SeqILU
2020-04-27 15:52:43 +02:00
Atgeirr Flø Rasmussen
a720bf9942 Add logging of linear solver parameter tree. 2020-04-24 14:52:04 +02:00
Markus Blatt
057a0ceeeb Removes stale CPR headers that have been superseeded.
No need to drag them along and confuse people.
2020-04-15 21:38:28 +02:00
Arne Morten Kvarving
ca697acc60 remove unused lambda parameter
quells a compiler warning
2020-04-14 14:17:41 +02:00
Markus Blatt
20f26bffbf fixup! [FlexibleSolver] Added missing headers determine IsComm. 2020-04-02 17:16:17 +02:00
Markus Blatt
9ce008ef7d [FlexibleSolver] Added missing headers determine IsComm.
Seems needed for some compilers
2020-04-02 17:10:43 +02:00
Atgeirr Flø Rasmussen
0c8ce54b71
Merge pull request #2498 from blattms/cherry-pick-hnil-flexible-clean-interface-rebased
Cleaned up flexible solver improvements.
2020-04-02 15:28:10 +02:00
Markus Blatt
2c432e09af Error when json file is requested for insufficient boost version. 2020-03-31 16:49:37 +02:00
Markus Blatt
589b70ff26 Correct errror message when json file is not specified. 2020-03-31 16:49:37 +02:00
Markus Blatt
910ecdb78d Addedmissing space. 2020-03-31 16:49:37 +02:00
Markus Blatt
b16f635b90 Deleted commented out code. 2020-03-31 16:49:37 +02:00
Markus Blatt
a72ab9d283 Fixed typo and reworded. 2020-03-31 16:49:37 +02:00
Markus Blatt
2fc2703aba Use special default for LinearSolverMaxIter for CPR and honor CprMaxEllIter 2020-03-31 16:49:37 +02:00
Markus Blatt
2c1df912fe honor ilulevel for ParallelOverlappingILU0 2020-03-31 16:49:37 +02:00
Markus Blatt
9019a52937 Use enable_if on comm constructor parameter.
As this is the one we want to check.
2020-03-31 16:49:37 +02:00
Markus Blatt
b016a1a714 [FlexibleSolver] active CPR if UseCpr is true and adjust maxIter.
If no LinearSolverConfiguration is specified but UseCpr is true we
use cpr_quasiimpess. If the user does not specify the maximum
iteration number we use 20 for cpr.
2020-03-31 16:49:37 +02:00
Markus Blatt
74b958c258 Improves exceptions and message and resort to OPM_THROW for flexible solvers. 2020-03-31 16:49:37 +02:00
Markus Blatt
ff0d54d4ea Add sensible defaults for flexible solver properties...
to prevent throwing. The get methods will throw if called without a
default value. This quite unfortunate and not very user friendly, as
there are many properties and the throwing will happen during the
linear solve and result in time step chopping.

This commit should prevent such throws and allow users to provide
jsdon files omitting some options.
2020-03-31 16:49:37 +02:00
hnil
fce9f5e57c Manual cherrypicked improvements from f2ed2b6dc3 and 8aad027
These were a bit hidden, but found. They add a few more customization
options and kamg as a sequential solver. The latter will be broken if
we use update, though.
2020-03-31 16:49:37 +02:00
Markus Blatt
dcb316f442 Make update method of preconditioners parameter-less again.
Previously, it got passed the weights only needed for CPR.
Additionally those were passed with the parameter tree to the
update method and constructor.

Now the CPR constructor gets a function to use for recalculating
the weights and the property is not changed. Unfortunately this
means that the preconditioner creators of the factory get another
parameter.
2020-03-31 16:49:37 +02:00
Markus Blatt
95a1e1ca0e Remove property tree parameter from PreconditionerWithUpdate::update
It is not used, needed parameters can stored in the constructor, and
it made de design a bit suboptimal.
2020-03-31 16:49:37 +02:00
Markus Blatt
70cff4b342 Refactor to a single function that calculates true impes weights.
Two identical versions seemed like a lot of maintenance for no gain.
2020-03-31 16:49:37 +02:00
hnil
2388a9b551 Added simple defaults for flexible solver: current options added ilu0, cpr_quasiimpes, cpr_trueimpes, file (genneal configuration)
This commit 0c62c8442 cherry-picked and slightly cleaned up and
adapted to recent changes.
2020-03-31 16:49:37 +02:00
hnil
90b22d8713 changed interface to only have minimal overhead using true impes.
It gives overhead in constructor when linear system is created. No overhead if reuse is used.

This commit 141903a26 cherry-picked, cleaned and made compilable with
recent changes
2020-03-31 16:49:37 +02:00
hnil
bfa859c099 changes to make true impes work with flexible solver
Cherry-picked commit 7da5ce4fec33. Which got cleaned up
(deleted trailing whitespace, tabs) and made compilable with recent changes.
2020-03-31 16:49:37 +02:00
Robert Kloefkorn
8afe8c3f96 [bugfix][ISTLSolverEbos] fix compilation when dune-fem is used in
conjunction with opm-simulators.
2020-03-31 14:22:11 +02:00
Atgeirr Flø Rasmussen
8ef508cc08
Merge pull request #2491 from blattms/flexible-fixes
Fixes ILU0 when using flexible solvers.
2020-03-24 17:39:27 +01:00
Atgeirr Flø Rasmussen
1e84624ea7 Add override spec to silence warnings. 2020-03-23 11:57:59 +01:00
Markus Blatt
03b2c44dce Prevent some unnecessary copies. 2020-03-23 09:40:14 +01:00
Markus Blatt
b41b449c7d Removed suplicated code for calculating quasi impes weights.
Maintaining two versions is just to error prone.
2020-03-23 09:40:14 +01:00
Markus Blatt
c14bf078a1 Make ParallelOverlappingILU0 updateable & use it to construct ILU0/n
This should force the flexible solver approach to recalculate the
decomposition during update.

Closes #2490
2020-03-23 09:39:51 +01:00
Markus Blatt
c0a82ff335
Merge pull request #2475 from Tongdongq/separate_wellcontributions_for_gpu
Separate wellcontributions for gpu
2020-03-20 12:14:06 +01:00
T.D. (Tongdong) Qiu
ab2d9a8c76 Changed int idx to indicate which matrix is added to WellContributions to an enum 2020-03-20 10:04:58 +01:00
T.D. (Tongdong) Qiu
75268f1166 Changed ISTLSolverEbos-BdaBridge usage. BdaBridge->solve_system() is not called when GPU is not selected or disabled 2020-03-19 16:08:29 +01:00
T.D. (Tongdong) Qiu
947f419ef8 Fixed memory issues when cusparseSolver is disabled by unsupported blocksize 2020-03-19 14:09:42 +01:00
T.D. (Tongdong) Qiu
04fe46a9da Only accept CUDA 9.0 for the WellContributions kernel. Also removed unused variables 2020-03-19 11:46:57 +01:00
T.D. (Tongdong) Qiu
8223cd1db8 Simplified filling of WellContributions object. Added comments 2020-03-19 11:15:49 +01:00
T.D. (Tongdong) Qiu
fdcf46792a BdaBridge and WellContributions are only included and compiled when CUDA is found 2020-03-18 19:03:14 +01:00
T.D. (Tongdong) Qiu
d29b6a6e5e Removed unnecessary line continuation chars. Merged unsupported cases in switch 2020-03-18 15:14:38 +01:00
T.D. (Tongdong) Qiu
009b5076a4 Removed CPU implementation of WellContributions 2020-03-18 15:08:48 +01:00
T.D. (Tongdong) Qiu
ce73337769 Disable GPU when using MPI 2020-03-18 13:53:40 +01:00
T.D. (Tongdong) Qiu
d067c08be7 Added header to CMake_files, updated copyright year 2020-03-16 12:57:35 +01:00
Markus Blatt
1c2d3fbcc7 Do not use local id set to index matrices.
That the local ids were consecutive and starting from 0 was just
a coincidence and they should never be used to access linear systems
or vectors. This commit fixes this by using the correct mappers instead.

Note the we removed some computations from the constructor of
ISTLSolverEbosCpr as it inherits from ISTLSolverEbos and the operations
already happnen in constructor of the base class.
2020-03-13 17:56:49 +01:00
andrthu
3d0d0f9624 Remove GhostLast ILU 2020-03-13 15:03:31 +01:00
T.D. (Tongdong) Qiu
581cbc6a3e cusparseSolver can now apply wellcontributions separately, so --matrix-add-wellcontributions=true is not required anymore 2020-03-13 14:21:59 +01:00
andrthu
c91eb330d3 remove 2.6 and move ownerFirst in lb 2020-03-11 12:42:55 +01:00
andrthu
866a661255 New owners-first based linear algebra operations (SoMV, SP and ILU.apply). 2020-03-11 12:41:38 +01:00
Markus Blatt
22d4e784d3
Merge pull request #2356 from akva2/boost_prune
Lessen boost usage
2020-02-21 13:15:03 +01:00
Arne Morten Kvarving
4ba7d3a7bc changed: replace boost::any with std::any 2020-02-19 11:20:16 +01:00
Arne Morten Kvarving
d56b7e338d quell warning about unused local typedef
strictly speaking the gcc diagnostics are wrong, the typedef is actually
used once templates are invoked on the structs.
simply use the typedef in the structs itself to avoid the warning
like is done for other variants.
2020-02-19 10:15:07 +01:00
Arne Morten Kvarving
226a6cb434 disable json input for boost 1.48 2020-02-17 15:21:07 +01:00
Atgeirr Flø Rasmussen
2cbeff2aca Silence warnings. 2020-02-13 11:04:02 +01:00
Atgeirr Flø Rasmussen
83a5cf1f91 Do not use std::pointer_to_binary_function.
Removed from C++17.
2020-02-13 11:03:05 +01:00
Atgeirr Flø Rasmussen
5fe48dab8b
Merge pull request #2327 from akva2/bump_dune
Bump required dune version to 2.6
2020-02-11 09:41:44 +01:00
Arne Morten Kvarving
22a291a3af
Merge pull request #2331 from akva2/janitoring
changed: rename local typedef to avoid shadowing warning
2020-02-10 15:24:15 +01:00
Arne Morten Kvarving
96b2e97b15 changed: rename local typedef to avoid shadowing warning 2020-02-10 12:30:14 +01:00
Arne Morten Kvarving
cfa0904321 fixed: quell deprecation warnings with dune 2.7 2020-02-07 15:19:44 +01:00
Arne Morten Kvarving
d28ed77036 fixed: add explicit template instantation for blocksize 1
fixes linking of flow_onephase with bda/cuda enabled
2020-02-07 15:18:40 +01:00
Arne Morten Kvarving
4978e72039 bump required dune version to 2.6
remove compatiblity code with older versions
2020-02-06 16:24:39 +01:00
Markus Blatt
7e700c11e0 Move PreconditionerFactory into namespace Opm.
This fixes name clashes with DUNE's own factory that is introduced
in DUNE 2.7. Hence it closes issue #2266.

BTW: Dune's factory has more template parameters than ours.
2020-01-07 17:59:23 +01:00
Markus Blatt
b9062396be
Merge pull request #2209 from Tongdongq/master
Added cusparseSolver, needs GPU to be used
2019-12-20 11:37:27 +01:00
T.D. (Tongdong) Qiu
103cc9b83a Added return explanation in comments 2019-12-18 17:09:33 +01:00
T.D. (Tongdong) Qiu
57344fd5e0 Added doxygen-style comments 2019-12-18 17:05:33 +01:00
T.D. (Tongdong) Qiu
6506ab5f55 Added some const qualifiers and comments 2019-12-18 16:37:29 +01:00
T.D. (Tongdong) Qiu
a491e64883 Added some whitespace around brackets in accordance with OPM suggested coding standard 2019-12-18 15:54:14 +01:00
T.D. (Tongdong) Qiu
950d1c92c1 Replaced tabs with 4 spaces 2019-12-18 15:50:09 +01:00
T.D. (Tongdong) Qiu
b543947e66 Addressed some comments of PR#2209 2019-12-18 15:47:35 +01:00
Robert Kloefkorn
2fa90d24f6 [bugfix][ebos] Make compile with PolyhedralGrid again. 2019-12-18 11:03:42 +01:00
T.D. (Tongdong) Qiu
293bd5816f Replaced exit() with OPM_THROW. Replaced primitive pointer with unique_ptr. 2019-12-16 10:05:12 +01:00
Robert Kloefkorn
8e800f0c93 [bugfix][BlackoilAmg] Fix compilation error when using DUNE 2.7 2019-12-11 11:22:28 +01:00
T.D. (Tongdong) Qiu
13e524dba2 Only print warning that cusparseSolver did not converge if it was chosen with --use-gpu=true 2019-12-09 10:02:21 +01:00
T.D. (Tongdong) Qiu
b355537e04 Replaced prints with OpmLog. BdaBridge disables GPU and continues with Dune if unsupported blocksize is used 2019-12-06 17:23:32 +01:00
T.D. (Tongdong) Qiu
8b92c5dca6 Removed extra copy of nnzs, now sends pointer to start of Dune::BCRSMatrix data to cusparseSolver. 2019-12-06 14:33:52 +01:00
T.D. (Tongdong) Qiu
48900df882 Fixed 'unused variable' warnings 2019-12-06 11:27:17 +01:00
T.D. (Tongdong) Qiu
a4cb582cfb Moved warning prints from cusparseSolver to BdaBridge. Moved solving logic from BdaBridge to cusparseSolver. Added cusparseSolverStatus enum. 2019-12-06 11:05:41 +01:00
T.D. (Tongdong) Qiu
b6e13bffd2 Added headers to PUBLIC_HEADER_FILES. Added warning print when cusparseSolver did not converge. Added more synchronization points in cusparseSolver. Pinning b and x vector as well. 2019-12-05 18:02:27 +01:00
T.D. (Tongdong) Qiu
f19a3b09b1 Updated copyright notice 2019-12-05 14:24:37 +01:00
T.D. (Tongdong) Qiu
cf48650a5e BdaBridge lets cusparseSolver copy the resulting x vector from the GPU directly into the BlockVector from ISTLSolverEbos, this only works if the underlying data from BlockVector is contiguous 2019-12-05 10:59:33 +01:00
T.D. (Tongdong) Qiu
5cb6ec510c Allow verbosity of cusparseSolver to be set via command line 2019-12-05 10:07:40 +01:00
T.D. (Tongdong) Qiu
69033ca7f2 Changed structure of cusparseSolver to fit into master branch 2019-12-04 16:59:58 +01:00
andrthu
eb83cef717 Remove tab 2019-12-04 15:44:37 +01:00
andrthu
5f68b71d0f Remove makeOverlapInvalid 2019-12-04 15:43:31 +01:00
andrthu
0829d1fa3e fix mistake in flexible 2019-12-04 15:39:42 +01:00
T.D. (Tongdong) Qiu
4db2e7ca4e Added cusparseSolver. Automatically compiled when CUDA is detected. Must be enabled at runtime by adding '--use-gpu=true' 2019-12-03 14:29:06 +01:00
andrthu
b980637f74 Romove extra copyOwnerToAll calls. Set ghost diagonal to one. Remove ghost adjecency 2019-12-03 12:04:17 +01:00
Robert Kloefkorn
f708286111 [cleanup][Wells] Consequently use SparseMatrixAdapter in addWellContributions. 2019-10-09 10:27:38 +02:00
Arne Morten Kvarving
d3d9831fc3 changed: ewoms/common -> opm/models/utils 2019-09-19 11:14:36 +02:00
Arne Morten Kvarving
ec007c1a86 quell shadowing warning 2019-09-18 13:03:13 +02:00
Bård Skaflestad
e9aec288e1 AmgCpr: Follow Relocation of "matrixblock.hh"
Taken from commit d71f7045.
2019-09-10 18:00:34 +02:00
Arne Morten Kvarving
d71f704532 changed: ewoms/linear -> opm/simulators/linalg 2019-09-09 09:21:42 +02:00
Arne Morten Kvarving
5599bb6d8c changed: namespace Ewoms -> namespace Opm 2019-09-05 17:14:38 +02:00
Atgeirr Flø Rasmussen
c6d31376b5 Use a dummy Communication object for the serial case. 2019-08-08 09:27:14 +02:00
Arne Morten Kvarving
b464896cc8 quell shadowing warnings 2019-07-10 10:08:39 +02:00
Arne Morten Kvarving
4dbf2428f7 suppress some unused variables warnings without mpi 2019-06-28 14:20:51 +02:00
Kai Bao
9a2fcdbfd5 fixing warnings in other folder under opm-simulators 2019-06-26 10:48:41 +02:00
Atgeirr Flø Rasmussen
fa016a6008 Moved all remaining files out of opm/autodiff. 2019-06-20 11:00:51 +02:00
Andreas Thune
c4e0bc2385 Moving findOverlapRowsAndColumns() to a separate file. 2019-06-20 11:00:51 +02:00
Arne Morten Kvarving
181d3cea6b fixed: build with dune 2.6 without MPI 2019-06-18 13:39:13 +02:00
Kai Bao
4c105d7672 copying invertMatrix for DynamicMatrix
the reason is to make sure for blackoil cases, the same algorithm will
be used to invert the D matrix for the well model. As a result, it will
reduce the burden to test the PR.

Whether we will keep this algorithm for 4 X 4 matrix will be addressed
as a separate issue.
2019-06-13 14:49:04 +02:00
Atgeirr Flø Rasmussen
078678206a Changes to support latest Dune version. 2019-06-12 10:40:55 +02:00
Atgeirr Flø Rasmussen
b837dd71b4 Small fixes for the FlexibleSolver system. 2019-06-11 09:55:05 +02:00
Atgeirr Flø Rasmussen
d5c3c93c7d Use overloading instead of template specialization.
This seems to be necessary for older compilers.
2019-06-06 10:36:17 +02:00
Atgeirr Flø Rasmussen
72ae444566 Fixes for Dune < 2.6.
The PreconditionerFactory requires 2.6, so this is addressed by
simply not using that code at all for Dune < 2.6. No FlexibleSolver
etc.
2019-06-06 09:10:43 +02:00
Atgeirr Flø Rasmussen
38a61fa0c0 Add <config.h> include, clean up comments. 2019-06-05 15:57:45 +02:00
Atgeirr Flø Rasmussen
c21fd6f26d Add and use PreconditionerFactory class.
This replaces the makePreconditoner() function. The main advantage
is that it is extensible, making it easy to for example add new
preconditioners to the factory at runtime. It supports both parallel
and serial preconditioners.
2019-06-05 15:12:52 +02:00
Atgeirr Flø Rasmussen
d44b974dc8 Bugfix: ensure the matrix passed to parallel preconditioner is ok.
Done with the makeOverlapRowsInvalid() approach.
2019-06-05 15:12:33 +02:00
Atgeirr Flø Rasmussen
84a8143bad Improved parameter hierarchy and const-correctness. 2019-06-03 11:42:30 +02:00
Atgeirr Flø Rasmussen
a76b19d95a Make FlexibleSolver feature-complete.
In particular:
 - Add parallel solvers and preconditioners.
 - Add the update() interface to preconditioners, and use it with CPR.
2019-06-03 11:42:30 +02:00
Halvor Møll Nilsen
ec498086a6 Add flexible solver and preconditioner infrastructure.
Also use it in flow_blackoil_dunecpr.cpp. Adds new command-line parameter,
--linear-solver-configuration-json-file, to read linear solver config from
JSON-format file at runtime.
2019-06-03 11:42:30 +02:00
Andreas Lauser
e36ae88ab9 set the SparseMatrixAdapter property in the linear solver type tag
this is necessary because after OPM/ewoms#513, the
`SparseMatrixAdapter` property will be "owned" by the linear solver
and because ISTLSolverEbos does not build on top of
`Ewoms::ParallelBaseBackend`.
2019-05-31 10:55:13 +02:00
Robert Kloefkorn
6c77fae891 [cleanup][istl] Adjust to shared_ptr change in dune-istl >= 2.7. 2019-05-09 11:28:52 +02:00
Atgeirr Flø Rasmussen
c17adf788f Moved files to opm/simulators/ subdirs. 2019-05-08 12:58:19 +02:00