Commit Graph

111 Commits

Author SHA1 Message Date
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