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