Commit Graph

1278 Commits

Author SHA1 Message Date
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
Tor Harald Sandve
202235abe0
Merge pull request #2510 from dr-robertk/PR/bugfix-gridview-mixup
[bugfix][ISTLSolverEbos] fix compilation when dune-fem is used in
2020-04-01 10:05:51 +02:00
Joakim Hove
58717905ee Use only wconnection transmissibility without WellPI scaling 2020-03-31 18:12:29 +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
Joakim Hove
c8524a139e Add build time to flow startup banner 2020-03-31 08:42:24 +02:00
Bård Skaflestad
d95eb32510 Save and Restore Well's Current Control Target Mode
This commit uses the new restart file support for active well
control target modes to save and restore the run's active targets.
2020-03-26 14:20:12 +01: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
Bård Skaflestad
7e6d283665
Merge pull request #2495 from akva2/use_aquifer_config
changed: use AquiferConfig when setting up aquifers
2020-03-24 14:31:52 +01:00
Arne Morten Kvarving
9906cc47f7 changed: use AquiferConfig when setting up aquifers 2020-03-24 13:36:39 +01:00
Arne Morten Kvarving
5fd85c1446
Merge pull request #2497 from akva2/deck_avoid
Avoid deck usage in simulator
2020-03-24 08:28:21 +01:00
Arne Morten Kvarving
30eb7256bc remove call to checkMissingFeatures
once is enough. as a bonus avoids deck usage in simulator
2020-03-23 15:54:48 +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
Bård Skaflestad
fda4a29c7e
Merge pull request #2459 from jalvestad/group_constraints_summary
Make available current Production/Injection Group Control parameters for use in  Restart
2020-03-19 16:54:34 +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
7f3f03f63d Added check to prevent segfaults for unsupported welltypes 2020-03-19 16:06:49 +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
Arne Morten Kvarving
a2d840a5f7 changed: put eclipse state broadcast in separate compilation unit
to avoid compiling several times for each flow variant
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
59d1ff9b88 updates in EclMpiSerializer to avoid explicit instances in serializer
now the serializer is 'standard', as in we only require basic types
+ stl containers. this should make the actual implementation pretty
pluggable. will ease replacing our serialization routines
with those in Dune 2.7 later.
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
9b545e58a4 remove old serialization support for pointers 2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
aa7eba1f98 remove old serialization support for DynamicState 2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
e71670e231 remove old serialization support for OrderedMap 2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
777e2f7683 remove old serialization support for VFPProdTable 2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
58b0ed66fc remove old serialization support for VFPInjTable 2020-03-19 09:31:52 +01:00