Kai Bao
4b95123895
removing extra bracket to restore compilation
2023-04-03 14:15:16 +02:00
hnil
1773ea8229
fixed comment
2023-03-31 11:03:57 +02:00
hnil
528921ee6f
- added flexiblegmres
2023-03-31 11:01:49 +02:00
Markus Blatt
b4b8e7aff1
Merge pull request #4558 from Tongdongq/move-cpu-decomposition
...
Only do CPU decomposition if needed, when using GPU
2023-03-29 12:54:38 +02:00
Bård Skaflestad
dcdb9413b4
Merge pull request #4565 from hnil/reduced_linearsolver_option
...
Reduced linearsolver option
2023-03-29 10:44:56 +02:00
Arne Morten Kvarving
5f6339f6fd
FlexibleSolver: use std::make_shared
2023-03-29 09:50:09 +02:00
hnil
2e4d5ee57b
- Remove wrong output if already converged
2023-03-29 09:47:02 +02:00
hnil
445e4f10fe
fixed spelling
2023-03-29 08:55:31 +02:00
hnil
6b4082a1fe
better messages
2023-03-28 13:54:09 +02:00
hnil
992edc1fec
- added a reduced tolerance for linear for the nonlinear solver to accept the result
2023-03-28 11:43:00 +02:00
Tong Dong Qiu
0bf91691fe
Only do CPU decomposition if needed, when using GPU
2023-03-27 11:43:26 +02:00
Arne Morten Kvarving
aaaf00f2fd
adjust to timing macro header split
2023-03-01 13:18:16 +01:00
Atgeirr Flø Rasmussen
7acc6feb18
Make names more consistent.
2023-02-28 13:58:02 +01:00
hnil
79d7698dd8
added timeblocks in linear solver
2023-02-15 15:07:58 +01:00
hnil
fd98d8ea27
added timing blocks to most important parts
2023-02-15 09:41:37 +01:00
Atgeirr Flø Rasmussen
235a8a7f78
Avoid copying the matrix in the ILU preconditioner.
...
When the matrix already exists and has the correct sparsity structure
(which is assumed by the calling update()), we can copy just the data,
avoiding the need for allocation and matrix construction.
2023-02-02 14:10:16 +01:00
Bård Skaflestad
7c1cf03773
Merge pull request #4400 from blattms/use-cpr-from-datafile
...
Use CPR if specified in RUNSPEC / Make cprw the default
2023-01-19 16:59:48 +01:00
Markus Blatt
a69c8436ad
Use cprw as default CPR variant if CPR is requested.
2023-01-19 15:54:33 +01:00
Markus Blatt
b67388e6f0
Use cpr if requested in RUNSPEC section of data file.
...
Can be overwritten using command line parameter `--linear-solver=...`.
2023-01-18 22:02:35 +01:00
Bård Skaflestad
171a591659
Tag Unused Parameter as [[maybe_unused]]
...
Suppresses warnings about unused arguments. While here, also split
a long line for readability and include a number of standard headers
that were missing before.
2023-01-16 14:50:58 +01:00
Bård Skaflestad
11c0e085f9
Merge pull request #4193 from hnil/amgcl_fix
...
- fix compilation of amgcl bindings in bda by not doing anything for …
2023-01-16 11:23:39 +01:00
Arne Morten Kvarving
df5edfb96f
BISAI: remove unnecessary iostream include
2023-01-03 15:25:00 +01:00
Arne Morten Kvarving
f00ebc8b1c
setupPropertyTree: avoid use of sstream
2023-01-02 15:23:14 +01:00
Arne Morten Kvarving
48bdf6f14c
add missing sstream includes
2023-01-02 15:21:42 +01:00
Arne Morten Kvarving
e25d77f705
WellContributions: avoid use of sstream
2023-01-02 15:19:40 +01:00
Arne Morten Kvarving
bcf64b4be8
PreconditionerFactory: avoid use of sstream
2023-01-02 15:19:26 +01:00
Arne Morten Kvarving
ccce1cfe86
OwningTwoLevelPreconditioner: avoid use of sstream
2023-01-02 15:19:08 +01:00
Arne Morten Kvarving
6d033fcf56
MILU: avoid use of sstream
2023-01-02 15:18:50 +01:00
Arne Morten Kvarving
4a0bdc38e1
ISTLSolverEbos: avoid use of sstream
2023-01-02 15:18:34 +01:00
Arne Morten Kvarving
52d871f998
FlexibleSolver: avoid use of sstream
2023-01-02 15:18:10 +01:00
Atgeirr Flø Rasmussen
ba734bc9ad
Change default CPR preconditioner recreation behaviour.
2022-12-21 13:23:26 +01:00
Atgeirr Flø Rasmussen
3832b02367
Adjust default behaviours for CPR variants.
...
- Remove two unused parameters. CprEllSolvetype is never used, and CprEllMaxIter
is not used correctly as is (if used, it should change the maximum iterations of
the coarse solver, not the repeats of the preconditioner) and is better left for
JSON file customization.
- Make the default AMG setup for "cpr" (including "cpr_trueimpes" and "cpr_quasiimpes")
match the setup for "cprw". In particular, beta = 0.0 (not 1e-4) and
prolongationdamping = 1.0 (not 1.6).
- Just as we override the default maximum number of linear iterations for cpr and cprw
(unless the user actually specified on the command line) to 20 instead of 100, we
change the default reduction to be 0.005 instead of 0.01.
2022-12-21 13:23:13 +01:00
Arne Morten Kvarving
f17a90170d
use exception classes from opm-common
2022-12-13 12:56:13 +01:00
Tong Dong Qiu
a8e568f4c5
Moved initializing CUDA device to constructor
2022-11-21 15:54:14 +01:00
Tong Dong Qiu
5620b08033
Fix segfaults rocalutionSolver
2022-11-18 14:19:10 +01:00
Tong Dong Qiu
21b23b7aa4
Combine multiple defines into one
2022-11-18 13:09:39 +01:00
Tong Dong Qiu
65128d1616
Removed unused reordering functions, file, header inclusions
2022-11-17 09:38:23 +01:00
Tong Dong Qiu
35287a61ff
Remove FPGASolver and references
2022-11-17 09:38:01 +01:00
Arne Morten Kvarving
bdb2738034
ISTLSolverEbos: instance for ALUGrid
2022-11-14 14:54:11 +01:00
Markus Blatt
4988f98060
Merge pull request #4178 from Tongdongq/rocalution
...
Add rocalutionSolver
2022-11-09 16:44:35 +01:00
Tong Dong Qiu
b51a4a863e
Fix reduction calculation
2022-11-09 10:27:10 +01:00
Tong Dong Qiu
1dd6af15dc
Print via fmt
2022-11-08 13:05:57 +01:00
Tong Dong Qiu
d3d9743b81
Simplify parameter
2022-11-08 10:03:15 +01:00
Tong Dong Qiu
8fbfd473ab
Removed unnecessary stream clear
2022-11-08 10:03:15 +01:00
Tong Dong Qiu
f91154c165
Autodetect if transposing is needed
2022-11-08 10:03:09 +01:00
Bård Skaflestad
1c0f1ad4d0
Merge pull request #4243 from blattms/drop-unused-LinearSolverRequireFullSparsityPattern
...
Remove ununsed ancient LinearSolverRequireFullSparsityPattern option.
2022-11-04 21:47:27 +01:00
Bård Skaflestad
d095c8c287
Merge pull request #4242 from blattms/reactivate-use-gmres-flexible-solver
...
[bugfix] recover support for selecting GMRes as solver.
2022-11-04 21:18:30 +01:00
Markus Blatt
6f5931ca1b
Remove ununsed ancient LinearSolverRequireFullSparsityPattern option.
...
It is unused since 2018 when we moved away from autodiff implementation.
2022-11-04 21:04:40 +01:00
Markus Blatt
2dc73a7c47
[bugfix] recover support for selecting GMRes as solver.
...
Previously, passing --use-gmres=true had now effect. Probably was lost
when introducing FlexibleSolver. With this change the FlexibleSolver
will now use GMRes if the option is true.
Closes #4240
2022-11-04 20:30:13 +01:00
Tong Dong Qiu
5dea01b9dc
Remove unnecessary release()
2022-11-03 15:47:38 +01:00
Arne Morten Kvarving
0e2f7649e2
improve encapsulation
2022-11-03 15:47:38 +01:00
Arne Morten Kvarving
9ce8d1ceca
adjust for ILU reorder removal
2022-11-03 15:47:38 +01:00
Tong Dong Qiu
5466fdd289
Add missing macro guards
2022-11-03 15:47:38 +01:00
Tong Dong Qiu
7e2a6800de
Add test for rocalutionSolver
2022-11-03 15:47:32 +01:00
Tong Dong Qiu
ea73a1bf3c
Add rocalutionSolver
2022-11-02 15:55:07 +01:00
Atgeirr Flø Rasmussen
e872cfb21d
Merge pull request #4194 from hnil/trueimpes_scaling_fix
...
- made heuristic scaling of trueimpes
2022-11-01 12:00:06 +01:00
Tong Dong Qiu
b4e730a767
Removed default declaration in wrong place
2022-10-27 09:25:55 +02:00
hnil
8ede0e67b2
- made heuristic scaling of trueimpes
2022-10-21 12:51:05 +02:00
hnil
32e21c0e25
- fix compilation of amgcl bindings in bda by not doing anything for blocksize 1
2022-10-21 11:08:59 +02:00
Markus Blatt
3e680e41f5
Merge pull request #4136 from Tongdongq/remove_reordering
...
Remove reordering for opencl
2022-10-19 15:30:01 +02:00
Arne Morten Kvarving
0da1ff494b
findOverlapRowsAndColumns: use elements range generator
2022-10-13 23:01:37 +02:00
Arne Morten Kvarving
3137cb5194
getQuasiImplesWeights: use elements range generator
2022-10-13 23:01:37 +02:00
Tong Dong Qiu
09e262bbfd
Minor changes:
...
- removed unused header inclusion
- update comments
- removed unnecessary cast
2022-10-13 15:37:20 +02:00
Bård Skaflestad
90ddd13bcc
Remove Trailing Semicolon on Function's Close Brace
...
This removes a GCC warning message on higher warning levels.
2022-10-13 09:57:55 +02:00
Markus Blatt
fcc3690832
Added missing include of config.h in cpp files.
2022-10-12 15:28:38 +02:00
Tong Dong Qiu
38f67ffa57
Bugfix: wrong size when copying matrix to GPU row-by-row
2022-09-29 11:02:04 +02:00
OPMUSER
75d35bbefb
Update FlowLinearSolverParameters.hpp
...
Remove commented out code
2022-09-29 14:37:52 +08:00
Tong Dong Qiu
5c4d1a3f65
Removed outdated functions
2022-09-27 15:59:51 +02:00
Tong Dong Qiu
d30073a885
Bugfix: use full matrix for spmv
...
Remove references to reordering
2022-09-27 15:59:37 +02:00
Tong Dong Qiu
24f8f7c857
Use exact instead of approximate inverted diagonal blocks for ChowPatel
2022-09-27 15:54:27 +02:00
Tong Dong Qiu
42410d408f
Removed GRAPH_COLORING opencl reordering option.
...
Simplified and renamed opencl_ilu_reorder parameter.
2022-09-27 15:54:19 +02:00
Tong Dong Qiu
e327142088
Do not reorder the matrix for GPU
2022-09-27 15:51:23 +02:00
Tong Dong Qiu
2690917e93
Simple speedup for opencl level_scheduling
2022-09-27 15:51:23 +02:00
OPMUSER
8dbd23793c
LinearSolverVerbosity
...
This is one of several PRs that will rename some command line parameters for greater consistency, as agreed with Atgeirr in #4096
Here we rename FlowLinearSolverVerbosity to LinearSolverVerbosity.
2022-09-26 14:27:55 +08:00
Atgeirr Flø Rasmussen
6834fafe15
Remove misleading dummy ISAI config.
...
Added comment explaining a bit.
2022-09-21 09:32:06 +02:00
Atgeirr Flø Rasmussen
caca77dc67
Rename command line option --linsolver to --linear-solver.
2022-09-21 09:31:19 +02:00
Arne Morten Kvarving
8e2b385f4d
changed: put parts of ISTLSolverEbos in separate compile unit
...
in particular this means simulator objects are now not dependent
on FlexibleSolver.hpp and BdaBridge.hpp
2022-09-12 12:44:56 +02:00
Markus Blatt
a4360b4961
Merge pull request #4028 from akva2/reduce_dup
...
changed: get rid of duplicate MatrixBlock headers/classes
2022-09-09 15:30:30 +02:00
Arne Morten Kvarving
58b0121e9b
fixed: forward structs as struct
2022-09-09 08:37:59 +02:00
Arne Morten Kvarving
2c0ff6f81e
consistently use ParallelCommunication.hpp for communication definition
2022-09-01 12:26:11 +02:00
Antonella Ritorto
57183081c8
Code modernization
...
Change from Functor class to functions.
2022-08-26 08:54:48 +02:00
Arne Morten Kvarving
1a348c0d29
changed: get rid of duplicate MatrixBlock headers/classes
...
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.
the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-25 12:48:53 +02:00
Atgeirr Flø Rasmussen
432df26ecc
Merge pull request #4025 from bska/remove-dune-unused
...
Prefer Attributes to Macros
2022-08-25 08:29:33 +02:00
Bård Skaflestad
a56cd6752c
Revert "changed: reduce some code duplication"
2022-08-24 20:34:52 +02:00
Bård Skaflestad
f3fc5331f0
Prefer Attributes to Macros
2022-08-24 17:05:55 +02:00
Arne Morten Kvarving
447d77b579
changed: get rid of duplicate MatrixBlock headers/classes
...
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.
the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-24 15:54:01 +02:00
Arne Morten Kvarving
3faccb4a17
changed: reduce some code duplication
2022-08-23 09:31:27 +02:00
Arne Morten Kvarving
3ef07d7f62
changed: put ParallelOverlappingILU0 in separate compile unit
...
i chose to split in a separate _impl file because this code is so
generic that there may be downstream users who want to use on other
matrix types than what we use in opm-simulators.
2022-08-22 11:21:31 +02:00
Arne Morten Kvarving
ec089af048
changed: split PreconditionerFactory in _impl file
...
and put instances in separate cpp files.
2022-08-22 09:33:15 +02:00
Bård Skaflestad
b87154223b
Restore Non-MPI Builds
...
Commit 371b2592f
misordered the closing brace of a namespace and
the conditional declarations dependent upon MPI availability. This
commit restores the expected order and fixes non-MPI builds.
2022-08-18 16:08:41 +02:00
Arne Morten Kvarving
371b2592f5
changed: put ParallelIstlInformation in separate compile unit
2022-08-18 09:15:28 +02:00
Arne Morten Kvarving
a32a32649d
changed: put MILU in separate compile unit
2022-08-16 10:46:20 +02:00
Bård Skaflestad
e73d3368e0
Merge pull request #3989 from Tongdongq/tweak-opencl-launch-params
...
Tweak opencl launch params v2
2022-08-10 14:22:52 +02:00
Tong Dong Qiu
18d9f8cca7
Include missing header
2022-08-10 14:03:32 +02:00
Tong Dong Qiu
58b20fe2fb
Tweak ILU opencl kernel launch params
2022-08-09 13:39:35 +02:00
Tong Dong Qiu
d0aa42e9e3
Reduce source code line lengths
2022-08-09 13:38:57 +02:00
Tong Dong Qiu
5607329b05
Backport to fix ChowPatelIlu
2022-08-09 11:49:47 +02:00
Atgeirr Flø Rasmussen
93ce28e9a2
Merge pull request #3972 from ElyesAhmed/alugrid2
...
Alugrid2
2022-08-04 15:43:24 +02:00
Arne Morten Kvarving
36b167b451
remove use of Unused.hpp
2022-08-02 11:53:54 +02:00
Elyes Ahmed
5c2b60bcd0
rebasing
2022-07-28 20:40:34 +02:00
Bård Skaflestad
9d9ec6c522
Revert "Tweak opencl launch params"
2022-07-07 15:21:53 +02:00
Markus Blatt
f22d58a1d0
Merge pull request #3953 from Tongdongq/tweak-opencl-launch-params
...
Tweak opencl launch params
2022-07-07 10:43:15 +02:00
Tong Dong Qiu
85776f528a
Tweak ILU opencl kernel launch params
2022-06-28 12:42:52 +02:00
Arne Morten Kvarving
9751b78992
fixed: add virtual dtor to class with virtual members
2022-06-27 14:47:44 +02:00
Tong Dong Qiu
842a9a9317
Reduce source code line lengths
2022-06-23 10:21:34 +02:00
Tong Dong Qiu
c4ebed1718
Backport to fix ChowPatelIlu
2022-06-23 10:17:14 +02:00
Markus Blatt
f3bf15ab2f
Merge pull request #3946 from Tongdongq/fix-gpu-verbose-timing
...
Fix: verbose timing for openclSolver
2022-06-22 16:13:57 +02:00
Arne Morten Kvarving
da57e15271
fixed: fix build with dune 2.6
2022-06-20 14:16:43 +02:00
Tong Dong Qiu
4384872f8e
Only use timers when printing their results,
...
and actually wait for kernels to finish when timing GPU
2022-06-17 16:02:56 +02:00
Atgeirr Flø Rasmussen
ffb09ee53e
Merge pull request #3937 from atgeirr/pressure-bhp-cpr
...
Pressure bhp cpr
2022-06-16 17:15:49 +02:00
Atgeirr Flø Rasmussen
c871e603f8
Do not insert unused options.
2022-06-16 16:24:41 +02:00
Atgeirr Flø Rasmussen
66ff942b2f
Move MatrixBlock specializations inside namespace.
...
This is necessary since the calls are ns-qualified in the
matrix market code.
2022-06-16 11:37:40 +02:00
Atgeirr Flø Rasmussen
2992ec25d8
Address issues raised in review.
2022-06-10 15:59:45 +02:00
Atgeirr Flø Rasmussen
7fe3839500
Use MatrixBlock consistently, also whitespace cleanup.
2022-06-10 11:08:24 +02:00
Atgeirr Flø Rasmussen
16b1756339
Add necessary include statements.
2022-06-09 10:38:47 +02:00
hnil
98acda0977
- change FieldMatrix to MatrixBlock in Tracer model to not need extra initializations in linear solver
2022-06-08 17:03:27 +02:00
Atgeirr Flø Rasmussen
a0f16089f7
Re-add explicit instantiation of FlexibleSolver to reduce compile time.
2022-06-08 17:03:27 +02:00
hnil
4ead854b69
- taking pullrequest information into account
...
- Moving transfere level to be template of OwningTwolevelPrecontitioner
2022-06-08 17:03:27 +02:00
hnil
8f4cf8a952
removed compiler warnings
2022-06-08 17:03:27 +02:00
hnil
66c4a8c862
made resue interval separate paramter
2022-06-08 17:03:27 +02:00
hnil
3bed1ebbdb
fixed bug in default options for cprw
2022-06-08 17:03:27 +02:00
hnil
541edeaf67
- add default for CPRW
...
- cleanded code
2022-06-08 17:03:27 +02:00
hnil
8a757a4935
removed comments
2022-06-08 17:03:27 +02:00
hnil
a8acd40f4a
Changes to make ms wells work with cprw
2022-06-08 17:03:27 +02:00
hnil
141a816e5d
new restart options
2022-06-08 17:03:25 +02:00
hnil
aba1d5047d
working with no resue on norne
2022-06-08 17:02:02 +02:00
hnil
c697e70a69
changed definition of extra equations. made norne go to step 27. HACK
2022-06-08 17:02:02 +02:00
hnil
4975d5d9e7
- fixed extended communicator
...
- fixed scaling of well cpr
2022-06-08 17:02:02 +02:00
hnil
da572d1f60
-Fixed buges related to cpr with wells.
...
- change interfaces to have access to pressureVarIndex
- added option in cmake files to propagate checking in dune-istl
2022-06-08 17:02:02 +02:00
Atgeirr Flø Rasmussen
fef06a77af
Updated for upstream changes.
2022-06-08 17:02:02 +02:00
hnil
f3acfcde0b
Adding functions for pressure system manipulation to well models.
...
Also add well-aware operator and transfer policy.
This will be used for CPR with custom operators.
2022-06-08 17:01:33 +02:00
Bård Skaflestad
e6dff88eb7
Temporarily Limit Block-Jacobi Partitioner to OpenCL Only
...
The block-Jacobi partitioner (commit e360c00b7
) uses grid interfaces
that are only available in CpGrid and this blocks introducing other
grid managers such as ALUGrid. Since the partitioner was only added
for OpenCL, guard special purposes accesses with HAVE_OPENCL.
This is a temporary measure and we will venture to restore the
partitioner later, although possibly restricted to CpGrid only.
2022-06-08 16:14:39 +02:00
Tong Dong Qiu
91a54645fb
Fix: zeros were not replaced correctly in the diagonal
...
And minor changes
2022-06-08 10:00:22 +02:00
Tong Dong Qiu
b00d31042c
Check if memory for nnzs is contiguous
2022-05-04 16:15:57 +02:00
Tong Dong Qiu
cb1ee68967
Fix ILU0 creation for NONE reordering
2022-04-21 17:19:02 +02:00
Tong Dong Qiu
50d7c0f61d
Tweak verbosity for opencl
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
68b604c85f
Speed up reordering for opencl
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
fc298d8f9c
Allow cusparseSolver to use jacMatrix
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
4db112cafa
Use row_wise mode to build jacMatrix
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
1a1bc24bef
Delay creating sparsity pattern for jacobi Matrix
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
2683019280
Bugfix: set vector size for MSwells was removed during refactoring
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
448af67ce6
Merge duplicate functions
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
6ca5f167b2
Allow BISAI to use jacMatrix
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
6f89629f92
Fix wrong print, remove unused variables
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
1cec56fa68
Use implicit mode to build jacMatrix
...
Fix print variable
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
550ce92902
Faster copying to jacMatrix
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
3797b7297d
Merge some duplicate functions
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
d963820e48
Pass BlockedMatrix to BdaSolvers
2022-04-21 17:19:00 +02:00
Tong Dong Qiu
7f5322f7d4
Store a BlockedMatrix in BdaBridge
2022-04-21 17:19:00 +02:00
Tong Dong Qiu
9dec714590
Allow to use jacobi matrix for ILU with CPR
...
Fix whitespace
2022-04-21 17:19:00 +02:00
Tong Dong Qiu
61f693dbaf
reenable normal opencl
...
Rebased
2022-04-21 17:18:54 +02:00
Tong Dong Qiu
dee5e16fb8
subdomain matrix for opencl
...
Rebased
2022-04-21 17:18:40 +02:00
Tong Dong Qiu
e360c00b73
add block-jacobi partitioner option. Add block-jacobi matrix for use in OpenCL preconditioner
...
Rebased
2022-04-21 17:18:32 +02:00
Tong Dong Qiu
c1cbf7a00f
Fix ChowPatelIlu compilation errors,
...
introduced in recent PR
2022-02-03 10:42:27 +01:00
Tong Dong Qiu
6c8ada4cd2
Reduced header inclusion and updated comments
2022-02-03 10:42:22 +01:00
Tong Dong Qiu
275bfe2da4
Move cuda files to separate folder
2022-02-02 09:28:41 +01:00
Tong Dong Qiu
e81ca0526e
Move opencl files to separate folder
2022-02-01 16:51:32 +01:00
Markus Blatt
3db9a4e3e5
Merge pull request #3750 from ducbueno/isai-ilu
...
Adds IncompleteSAI preconditioner to openclSolver
2022-01-18 12:38:39 +01:00
Eduardo Bueno
1df9d2e51f
Adds BISAI preconditioner to openclSolver
2022-01-17 13:57:29 -03:00
Tong Dong Qiu
f48fe632cb
Added comment to apply_stdwell kernels
2021-12-22 16:22:55 +01:00
Tong Dong Qiu
3decb73561
Fix stdwell_apply opencl kernel
2021-12-22 16:16:04 +01:00
Jose Eduardo Bueno
c7ac97e215
[OpenCL] Moves all OpenCL kernels to *.cl files.
...
Kernel files are located in opm/simulators/linalg/bda/opencl/kernels.
CMake will combine them for usage in
${PROJECT_BINARY_DIR}/clSources.cpp that becomes part of the library.
2021-12-22 12:43:18 +01:00
Arne Morten Kvarving
2d0d48d8c9
fix build with dune 2.6
2021-12-09 09:02:13 +01:00
Markus Blatt
ac41c318da
Fixes compilation of opencl CPR without MPI
2021-12-08 20:24:14 +01:00
Tong Dong Qiu
374f8276dc
Move opencl variables to Preconditioner
2021-12-01 14:15:59 +01:00
Tong Dong Qiu
94ea2dcd30
Change C to C++
...
Also bugfix wrong size when COPY_ROW_BY_ROW is active
2021-12-01 14:15:16 +01:00
Tong Dong Qiu
e0a4d271ea
Formatting changes
2021-12-01 11:47:45 +01:00
Tong Dong Qiu
0881089406
Add Preconditioner, superclass of BILU0 and CPR
2021-12-01 11:47:45 +01:00
Tong Dong Qiu
50d0486b28
Allow a variable number of pre/post smooth steps during AMG
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
a911d5d2be
Add test for solve_transposed_3x3()
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
56fb3948e5
Fill restriction matrix faster
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
411d3c6a8d
Replace spmv-prolongation by specialized kernel
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
eaded9dcf7
Add prolongate_vector() kernel
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
9d611f04ee
Add timers to opencl CPR preconditioner
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
f2225503c4
Combine BILU0 and CPR preconditioner
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
11d54f31f5
Reuse umfpack object
2021-12-01 11:47:29 +01:00
Tong Dong Qiu
b9a12b64d9
Rename copy sparsity pattern function
2021-12-01 11:43:40 +01:00
Tong Dong Qiu
d7204c5be7
Create separate functions
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
13646337f3
Reduce get_absmax() code
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
5e85c23478
Renamed move_to_coarse/fine() in CPR
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
19a0454b6f
Update comments
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
ca44351c72
Add error checks for OpenclMatrix
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
de8073e689
Reuse Matrix constructor
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
a71a5cd8fe
Moved OpenclMatrix to new file
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
a8b1d7c9dc
Change header include guard name
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
1306a65104
Remove unnecessary intermediate variables
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
5385bd275e
Rename get_opencl_kernel functions
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
adb4649277
Changed block_size template to parameter for block functions
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
288e548b89
Changed block_size template to variable for OpenclMatrix
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
9acffab47e
Changed block_size template to variable for BlockedMatrix
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
a6b6a62b27
Changes needed for FPGA
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
606143ef57
Add timer for cpr_apply
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
6465cf9cbb
Add CPR preconditioner for openclSolver and
...
change raw pointers to vector for Matrix
2021-12-01 11:43:30 +01:00
Markus Blatt
50867bf23c
Guard include of WellContributions.cpp
2021-11-17 19:23:46 +01:00
Markus Blatt
d2caf41037
Fix incomplete type ‘Opm::WellContributions’ compiler error (g++-8)
...
Fixes
```
In file included from opm-simulators/opm/simulators/flow/BlackoilModelEbos.hpp:53,
from opm-simulators/opm/simulators/flow/SimulatorFullyImplicitBlackoilEbos.hpp:26,
from opm-simulators/flow/flow_ebos_gaswater.cpp:28:
opm-simulators/opm/simulators/linalg/ISTLSolverEbos.hpp: In member function ‘bool Opm::ISTLSolverEbos<TypeTag>::solve(Opm::ISTLSolverEbos<TypeTag>::Vector&)’:
opm-simulators/opm/simulators/linalg/ISTLSolverEbos.hpp:265:56: error: incomplete type ‘Opm::WellContributions’ used in nested name specifier
auto wellContribs = WellContributions::create(accelerator_mode, useWellConn_);
^~~~~~
```
2021-11-17 17:30:01 +01:00
Bård Skaflestad
d163bebcdc
Merge pull request #3699 from blattms/man-page-spelling
...
Adds manpage and fixes several spelling issue found by lintian
2021-11-17 09:59:50 +01:00
Joakim Hove
4d1fb8c797
Merge pull request #3700 from blattms/gcc-11
...
Include limits header where needed for g++-11
2021-11-15 13:13:07 +01:00
Markus Blatt
b0792db164
Include limits header where needed for g++-11
...
Without this compilation fails on Debian unstable.
2021-11-15 12:11:25 +01:00
Markus Blatt
a2246d331b
Spelling fixes
...
Gbp-Pq: Name 0005-Spelling-fixes.patch
2021-11-15 12:06:05 +01:00
Arne Morten Kvarving
e25caba8ed
changed: refactor BDA well contributions
...
split in API specific classes for Cuda/OpenCL
this to
1) it's cleaner
2) it avoids pulling in openCL code in cuda classes which leads
to clashes between nvidia headers and opencl.hpp
there is still too much API specific things in interface between the
bda components to work through a virtual interface so we still have to cast
to the relevant implementation in various places.
2021-11-11 14:49:33 +01:00
Arne Morten Kvarving
352d31a1e9
BdaBridge: avoid FPGA include in header
...
already includ in the cpp file where it is required.
2021-11-11 13:39:46 +01:00
Arne Morten Kvarving
7fb39f8308
BdaBridge: avoid includes in header
2021-11-11 13:39:25 +01:00
Arne Morten Kvarving
be6c857b16
bda: use forwarding for WellContributions
2021-11-11 13:29:12 +01:00
Arne Morten Kvarving
4a1fb0b86a
use std::vector for val_pointers
2021-11-11 13:15:29 +01:00
Arne Morten Kvarving
2b0508af8b
changed: use unique_ptr for MultisegmentWellContributions
...
less manual pointer management is always good
2021-11-11 13:15:29 +01:00
Markus Blatt
c54e85a8eb
Fixes compilation of WellContributions with deactivated OpenCL.
...
OpenCL header was included and OpenclKernels used unconditionally
in WellContributions.cpp. As this file is compiled if CUDA is found,
too it lead to undefined references for e.g. cl::CommandQueue if
opencl headers were there and compile error if not.
2021-11-10 19:41:59 +01:00
Arne Morten Kvarving
f27931c2e2
fixed: auto function parameters requires the concept-ts
...
use a regular template parameter instead
2021-11-10 10:25:27 +01:00
Markus Blatt
ad44564f27
Merge pull request #3619 from Tongdongq/opencl-refactor
...
Opencl refactor
2021-11-08 16:45:57 +01:00
Tong Dong Qiu
803a2ac2f4
Allow CMake to set CHOW_PATEL variables
2021-11-04 15:47:33 +01:00
Tong Dong Qiu
920eeee426
Rename namespace bda to Opm::Accelerator
2021-11-04 15:47:33 +01:00
Tong Dong Qiu
b945502a82
Minor improvements
2021-11-04 15:45:33 +01:00
Tong Dong Qiu
78b1714481
Move apply_stdwells kernels to OpenclKernels
2021-11-04 14:25:39 +01:00
Tong Dong Qiu
1583292bf4
Move opencl kernels to static class
2021-11-04 14:25:22 +01:00
Tong Dong Qiu
b8587daaa7
Move ChowPatel decomposition to appropriate file
2021-11-04 13:58:06 +01:00
Bård Skaflestad
869de90b56
Merge pull request #3663 from blattms/remove-warn-opencl
...
Fixes warning about catching polymorphic type by value.
2021-11-03 18:30:57 +01:00
Markus Blatt
02bbe995c3
Fixes warning about catching polymorphic type by value.
...
Removed message in amgclbackend was:
warning: catching polymorphic type ‘class
boost::property_tree::json_parser::json_parser_error’ by value
[-Wcatch-value=]
2021-11-03 18:07:56 +01:00
Atgeirr Flø Rasmussen
5503e6ca06
Remove ISTLSolverEbosFlexible and flow_blackoil_dunecpr.
...
The class ISTLSolverEbos has all features of the removed class, and
is not much more complex. The flow_blackoil_dunecpr is the only
program using it, and is redundant.
2021-11-02 15:02:48 +01:00
Markus Blatt
932ddcd32d
Merge pull request #3652 from akva2/use_opencl_hpp
...
changed: probe for cl/opencl.hpp and use if found
2021-11-02 09:31:05 +01:00
Arne Morten Kvarving
7de50b94c7
changed: probe for cl/opencl.hpp and use if found
...
this to avoid a spam of warnings
2021-11-01 19:41:05 +01:00
Atgeirr Flø Rasmussen
624d8b1343
Merge pull request #3651 from akva2/remove_gcc7_compat
...
use std::filesystem directly
2021-11-01 15:30:03 +01:00
Atgeirr Flø Rasmussen
5f81b77d14
Merge pull request #3639 from blattms/dune-fem-master
...
Fixes compilation with dune-fem 2.8
2021-11-01 13:10:17 +01:00
Arne Morten Kvarving
06bd25575f
use std::filesystem directly
2021-11-01 12:31:58 +01:00
Markus Blatt
9197ee3e20
Prevent deprecation warning about cl2.hpp: __CL_ENABLE_EXCEPTIONS.
2021-10-28 17:09:22 +02:00
Markus Blatt
4de52a8d30
Use OpenCl's CL/cl2.hpp instead of CL/cl.hpp
...
We still request Standard version 1.2 only.
We need to use KernelFunctor instead of make_kernel.
In addition cl::Sources now works on std::string and
does not support std::pair<const char*, in> anymore.
2021-10-28 16:42:43 +02:00
Markus Blatt
a1e90be2aa
Use grid view from simulator for element mapper.
...
With dune-fem the type of the grid view is
Dune::Fem::AdaptiveLeafGridPart and not the LeafGridView
of the grid. The old approach therefore did not compile
as we passed the wrong view.
2021-10-26 21:55:04 +02:00
Tor Harald Sandve
70c9d2e237
Merge pull request #3590 from daavid00/micp-2021-10
...
micp
2021-10-14 22:28:28 +02:00
daavid00
48b175904a
first version of micp implementation in flow
2021-10-14 17:44:57 +02:00
Markus Blatt
f2ce097b4b
Merge pull request #3575 from Tongdongq/fix-ilu-decomp-gpu
...
Create and use scale kernel for relaxation of ILU
2021-10-07 15:55:17 +02:00
Elyes Ahmed
0202b00d59
clean up after review
2021-10-05 13:07:52 +02:00
Elyes Ahmed
f53c597f90
Replacing use of MPI_COMM_WORLD with a variable communicator.
2021-10-05 13:07:52 +02:00
Tong Dong Qiu
68adf85f52
Create and use scale kernel for relaxation of ILU
2021-10-05 10:49:21 +02:00
Atgeirr Flø Rasmussen
e5c85e88ce
Merge pull request #3552 from fgfuchs/cuda_improvements
...
cusparsesolver wrong size and type in cols,rows fixed
2021-09-28 11:41:17 +02:00
Franz Georg Fuchs
a0ccd1e754
cusparsesolver wrong size and type in cols,rows fixed
2021-09-27 13:53:26 +02:00
Markus Blatt
3cda8a2fdb
Added missing parallel try-catch clause for updatePrimaryIntensities.
...
As Problem::updatePrimaryIntensities might throw we need to do this
to prevent dealocks in parallel run in case problem occurs.
2021-09-24 09:25:44 +02:00
Markus Blatt
c84b55c452
Fixes ILU for Dune 2.8
...
We got compile errors like:
/home/build/opm-simulators/opm/simulators/linalg/FlexibleSolver1.cpp:24:1: required from here
/usr/include/dune/istl/ilu.hh:140:29: error: 'double' is not a class, struct, or union type
without this patch.
Hence we use the new internal ILU functions if available.
2021-09-13 12:25:49 +02:00
Arne Morten Kvarving
08e950686f
use .empty() instead of .size() comparisons
2021-08-04 09:19:03 +02:00
Arne Morten Kvarving
78c5675daf
changed: get rid of OPM_UNUSED macro usages
...
prefer anonymous parameters or c++17 [[maybe_unused]]
2021-08-02 14:55:41 +02:00
Markus Blatt
ea4e4a1520
Merge pull request #3346 from Tongdongq/amgcl-support
...
Amgcl support
2021-07-21 15:02:25 +02:00
Bård Skaflestad
48e1af8bbe
Address Static Code Analysis Warnings
...
In particular, don't print uninitialized memory (Reorder.cpp:left)
and don't capture objects ('prm') that aren't actually used. While
here, refactor the initialization of the MT19937 random number
generator. Constructing this object is too expensive to do for each
try, especially when we can just run the generator in place.
2021-07-13 11:37:57 +02:00
Tong Dong Qiu
796d1b7f8a
Allow to choose a platform and device when using amgcl with VexCL
2021-07-09 17:03:11 +02:00
Tong Dong Qiu
0ee6b58fb0
Only initialize VexCL once
2021-07-09 15:39:35 +02:00
Tong Dong Qiu
b0749ce7d4
Use default parameters if json file does not specify all.
...
Throw exception if json file cannot be parsed.
2021-07-09 14:07:55 +02:00
Tong Dong Qiu
f77d745b51
Factor out CUDA part of amgclSolver
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
b2156a4edc
Remove unused variable warnings
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
b28c96699b
Combine blocked and unblocked VexCL implementations
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
5306ae6a60
Allow VexCL to use unblocked matrices
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
47ffeaf24a
Allow VexCL to use runtime parameters
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
b4eb711c71
Enable the VexCL backend, disabled for blocksize=1
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
a3d8d6655f
Added enum for amgcl_backend_type
2021-07-07 16:24:52 +02:00
Markus Blatt
adc2bf46b9
Search for VexCL and create an imported target.
...
Unfortunately, we cannot us the imported targets. They add some compile
parameters using generator expressions based on the CXX_COMPILER_ID.
While we are using the system CXX compiler for most of the stuff, some
cuda code is compiled with nvcc which at least for some versions does
not support -Wno-catch-value (which gets passed as normal compiler
option).
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
d45f9d08f7
Allow amgcl without CUDA
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
e556124405
Allow to choose amgcl backend at runtime, added default amgcl params
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
282f611f92
Make sure amgcl can be used without CUDA
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
3c1bfeb72f
Let amgcl use runtime parameters via JSON file
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
a23d881817
Reuse amgcl parameters
2021-07-07 16:24:51 +02:00
Tong Dong Qiu
47e2899ba8
Moved amgcl declarations to header
2021-07-07 16:24:51 +02:00
Tong Dong Qiu
7c7911b9bc
Allow to use amgcl when CUDA and OpenCL are not found
2021-07-07 16:24:51 +02:00
Tong Dong Qiu
c2869810e2
Added amgclSolverBackend
2021-07-07 16:24:51 +02:00
Tong Dong Qiu
5918c64b54
Add useWellConn parameter to WellContributions()
2021-07-07 16:24:51 +02:00
Markus Blatt
8d0a254211
Merge pull request #3364 from blattms/flexible-solver-determine-pressure-idx-from-model
...
Determine index of pressure from model used to increase usability
2021-07-01 15:22:50 +02:00
Markus Blatt
2260fde478
Merge pull request #3300 from Tongdongq/add-tests
...
Added tests for cusparseSolver and openclSolver
2021-06-17 22:31:23 +02:00
Bård Skaflestad
dc7a6018f6
Merge pull request #3381 from akva2/boost_version_include
...
fixed: add missing include for boost version
2021-06-14 13:29:14 +02:00
Arne Morten Kvarving
54d928583b
fixed: add missing include for boost version
2021-06-14 11:50:57 +02:00
Arne Morten Kvarving
86b454f4c8
fixed: initialize to avoid sca warning
2021-06-14 09:26:32 +02:00
Markus Blatt
db0f19ba88
Determine index of pressure from model used.
...
Previously, the user had to specify it in the json file read from the
FlexibleSolver or 1 was used. Unfortunately, the index depends on the
model used and it seem rather opaque to a user what that index is.
With this commit we determine the pressure index from the model.
2021-06-10 16:19:18 +02:00
Arne Morten Kvarving
b7e2ad3bfe
added: PropertyTree class
...
this is a thin wrapper around boost::property_tree
with this we avoid parsing property tree headers in all
simulator objects
2021-06-09 15:21:52 +02:00
Arne Morten Kvarving
29ae002a87
changed: avoid templating in setupPropertyTree
...
simply pass the required params to function instead.
2021-06-09 12:54:14 +02:00
Tong Dong Qiu
74b46e4d8d
Added tests for cusparseSolver and openclSolver
2021-06-07 11:40:03 +02:00
Tong Dong Qiu
0e63cda518
Instantiate whole class instead of each function
2021-06-07 11:40:03 +02:00
Markus Blatt
7c17db3d06
Fixes unused variable warnings for CUDA only.
2021-05-28 16:26:46 +02:00
Markus Blatt
6ffde47096
Fixes compilation with CUDA but without OpenCL.
...
Using statements should not be in namespaces anyway...
2021-05-28 16:26:46 +02:00
Arne Morten Kvarving
a4c0af09d9
fixed: do not use Opm:: prefix when inside namespace Opm
2021-05-05 11:59:18 +02:00
Bård Skaflestad
7be6e5bbf1
Merge pull request #3196 from akva2/use_forwarding
...
Use forwarding where possible in some headers
2021-04-30 16:00:41 +02:00
Arne Morten Kvarving
3c77b97cae
MultisegmentWellContribution: remove unused members
2021-04-30 13:09:25 +02:00
Arne Morten Kvarving
b30fc4eac1
ExtractParallelGridInfoToISTL: use forwarding
2021-04-29 12:50:19 +02:00
Markus Blatt
824df60e94
Merge pull request #3150 from Tongdongq/always_print_prec_info
...
Always print CHOW_PATEL info if used
2021-04-21 19:51:22 +02:00
Arne Morten Kvarving
b9c19958fb
fixed: mark possibly unused variables as such to quell warnings
...
also take chance to break an extremely long line
2021-04-19 09:49:20 +02:00
Tong Dong Qiu
5466b0f5f2
Always print CHOW_PATEL info if used
2021-04-09 16:19:45 +02:00
Tong Dong Qiu
8ea19c66aa
Reduced code duplication in BdaBridge
2021-03-12 11:15:02 +01:00
Tong Dong Qiu
81c0a3d9f9
Simplified CPU fallback warnings
2021-03-12 11:15:02 +01:00
Giacomo Marchiori
b4aa28771f
Added fpgaSolver
2021-03-12 11:14:59 +01:00
Markus Blatt
3ec181e231
Merge pull request #3089 from Tongdongq/exact-ilu-decomp-gpu
...
Exact ilu decomp gpu
2021-03-08 17:25:04 +01:00
Tong Dong Qiu
87e3f1d72d
Added timers to ChowPatelIlu
2021-03-03 17:12:46 +01:00
Tong Dong Qiu
b87e9dad9a
Updated comments
2021-03-03 16:36:27 +01:00
Tong Dong Qiu
0caae966b8
Add more waiting for opencl functions, using shortened opencl kernel params in WellContributions
2021-03-03 14:04:06 +01:00
Tong Dong Qiu
688d8ff627
Shorten opencl kernel params, add source file for openclKernels
2021-03-03 13:09:24 +01:00
Tong Dong Qiu
61bf85bf24
Add waiting for enqueueWriteBuffer
2021-03-03 10:37:01 +01:00
Tong Dong Qiu
18bf7c4b19
Replace diagfinding with std::find
2021-03-03 09:50:33 +01:00
Tong Dong Qiu
5b4deab7e4
Generating opencl kernels
2021-03-01 10:26:44 +01:00
Tong Dong Qiu
141af23db5
Exact ILU decomp is now performed on GPU
2021-03-01 10:26:35 +01:00
Tong Dong Qiu
748dc4ccb3
Reduced header inclusion, also moved WellContributions OpenCL initialization
2021-03-01 09:42:56 +01:00
Franz Georg Fuchs
17126ba229
throw specific error if json file does not exist
2021-02-24 11:31:36 +01:00
Markus Blatt
00df3d06c2
Allow usage of non-gpu devices with OpenCL.
...
This is needed to use the CPU backend of PoCL http://portablecl.org/
which seems handy for debugging.
2021-02-09 10:45:19 +01:00
tqiu
c8dca99fad
Renamed fgpilu to ChowPatelIlu
2021-02-03 17:43:54 +01:00
tqiu
a64a342104
Added symmetry check in Debug mode
2021-02-01 11:19:38 +01:00
tqiu
363cc31316
Made waiting for a GPUcopy more explicit
2021-01-28 15:40:10 +01:00
tqiu
d222dffcfd
Improved initial guess of L
2021-01-28 13:46:01 +01:00
tqiu
837a83fc16
Added error checking and std::call_once
2021-01-26 17:32:18 +01:00
tqiu
1e09b1f4d9
Added comments and rewrote if
2021-01-26 15:42:38 +01:00
tqiu
dba20adf04
Bugfix: extra swap was done on odd number of sweeps
2021-01-20 11:00:30 +01:00
tqiu
48ebef7808
Updated comments
2021-01-19 11:06:39 +01:00
tqiu
123e3fa89e
Use std::find and added comments
2021-01-18 17:10:46 +01:00
tqiu
a8e524fc9d
Minor C to C++ changes
2021-01-18 14:11:07 +01:00
tqiu
0f9ae3695d
Made reordering optional for WellContributions
...
Removed unnecessary alloc
2021-01-13 12:34:56 +01:00
tqiu
f26e58c6ca
Reordering is now actually skipped when NONE is chosen.
...
Also made reordering optional for openclSolver.
2021-01-12 15:25:47 +01:00
tqiu
71692ff52b
Disabled FGPILU by default
2021-01-12 15:21:19 +01:00
tqiu
9f92a69037
Added CPU and GPU implementations of Fine-Grained Parallel ILU (FGPILU)
2021-01-12 15:21:19 +01:00
Markus Blatt
c037bd762d
Merge pull request #2990 from atgeirr/testing-precfactory-operators
...
Only add AMG preconditioners to factory if sensible.
2020-12-22 09:52:53 +01:00
Atgeirr Flø Rasmussen
d910d42f6e
Only add AMG preconditioners to factory if sensible.
...
Also add test using a new operator class, that would not compile
without the change.
2020-12-17 14:54:59 +01:00
Markus Blatt
065e2f34f1
Do not include config.h in header (not even in *_impl.hpp)
...
I was getting warnings about redefined definitions (e.g. HAVE_PARMETIS).
2020-12-11 17:53:24 +01:00
Atgeirr Flø Rasmussen
374764fc6f
Merge pull request #2946 from atgeirr/add-more-amg-options
...
Add more AMG options to allow setting from JSON.
2020-11-27 08:57:04 +01:00
Atgeirr Flø Rasmussen
6e31c77234
Add more AMG options to allow setting from JSON.
2020-11-26 15:37:50 +01:00
Tor Harald Sandve
f924ac7ffe
Merge pull request #2933 from totto82/dunefem
...
WIP make Flow compile with dune-fem
2020-11-26 15:10:34 +01:00
Atgeirr Flø Rasmussen
a0ca8dd0b5
Use better-suited AMG criterion.
...
Use SymmetricDependency instead of SymmetricMatrixDependency.
Our matrices are structurally symmetric, but not numerically symmetric.
2020-11-25 16:40:03 +01:00
Markus Blatt
b21b6cf28c
Merge pull request #2914 from ducbueno/rm-oclcontainer
...
Removed WellContributionsOCLContainer class
2020-11-19 21:27:55 +01:00
Tor Harald Sandve
c4c0b7a756
Make it compile with dune-fem
2020-11-19 15:45:37 +01:00
Markus Blatt
ea3c899080
Merge pull request #2882 from atgeirr/msw-add-well-contrib
...
Implement addWellContributions() for multi-segment wells
2020-11-18 13:44:24 +01:00
Jose Eduardo Bueno
a9c2a684c6
Removed WellContributionsOCLContainer class (rebase)
2020-11-18 09:14:31 -03:00
Markus Blatt
64fa5a2b30
Merge pull request #2858 from Tongdongq/ilu-reorder-strategy
...
Added cmdline parameter --ilu-reorder-strategy
2020-11-17 09:35:12 +01:00
Atgeirr Flø Rasmussen
db7cd1053f
Add the multMatrixImpl() utility.
2020-11-16 11:37:44 +01:00
Tor Harald Sandve
fbccdbf68e
Make a flow version that uses the polyhedreal grid
...
Currently the simulator creats the polyhedreal grid from an eclGrid from opm-common
TODO
- make it possible to create the grid directly from DGF or MRST format
- fix issue on norne.
2020-11-10 15:49:59 +01:00
Atgeirr Flø Rasmussen
adfb8ef771
Merge pull request #2898 from blattms/always-accu-to-one-proc-as-default
...
Always accumulates data in AMG to 1 process on coarse levels.
2020-11-05 15:41:57 +01:00
Markus Blatt
d83ae17e5b
Always accumulates data in AMG to 1 process on coarse levels.
...
In OPM the matrix graph might be unsymmetric as we do not store
the full sparsity pattern for copy rows but only the diagonal.
Unfortunately, DUNE assumes that matrices from finite elements and
finite volumes have a symmetric sparsity pattern for copy rows to
and uses this assumption to create the graphs for PTScotch/ParMETIS
more easily. But PTScotch/ParMetis assume a symmetric graph.
2020-11-03 22:13:27 +01:00
Arne Morten Kvarving
4121e0a3c4
fix typo
2020-11-03 13:48:09 +01:00
tqiu
d25405d39a
Renamed parameter to OpenclIluReorder and moved error checking to BdaBridge constructor.
2020-10-19 11:36:25 +02:00
tqiu
a372a1e4bd
Added cmdline parameter --ilu-reorder-strategy
2020-10-19 11:33:32 +02:00
Atgeirr Flø Rasmussen
e7d1d6603a
Silence unused argument warning.
2020-10-19 09:13:37 +02:00
Bård Skaflestad
9a71bbe4b0
Move 'gridForConn' Into Cuda/OpenCL Block
...
It is only used within this context and produces a warning of the
form
ISTLSolverEbos.hpp:128:25: warning: unused variable ‘gridForConn’
unless the build configures accelerator support.
2020-10-19 02:28:05 +02:00
Markus Blatt
44fadfb88a
Fixes compilation of CUDA.
...
nvcc exits compilation if the header dune/istl/basearray.hh (form DUNE
2.6) is included as it does not seem to understand the friend declaration
there (friend class for a struct).
```
/usr/include/dune/istl/basearray.hh:101:49: error: ‘typename Dune::Imp::base_array_unmanaged<B, A>::RealIterator’ names ‘template<class B, class A> template<class T> struct Dune::Imp::base_array_unmanaged<B, A>::RealIterator’, which is not a type
friend class RealIterator<const ValueType>;
^
```
2020-10-14 19:23:57 +02:00
Atgeirr Flø Rasmussen
43d5d2c532
Merge pull request #2850 from atgeirr/silence-warnings
...
Silence warnings from range-for.
2020-10-13 08:19:48 +02:00
Atgeirr Flø Rasmussen
ea0abd1331
Bugfix: do not substr() on too small strings.
2020-10-12 21:58:58 +02:00
Atgeirr Flø Rasmussen
dedbe78cee
Copyright additions.
2020-10-12 17:06:11 +02:00
Atgeirr Flø Rasmussen
316b28923d
Rename parameter --linear-solver-configuration to --linsolver.
2020-10-12 17:03:00 +02:00
Atgeirr Flø Rasmussen
f169cf90d8
Remove --linear-solver-configuration-file parameter.
...
This is now handled by passing a string to --linear-solver-configuration that
ends with ".json".
2020-10-12 16:41:09 +02:00
Atgeirr Flø Rasmussen
f262eec9bf
Silence warnings from range-for.
2020-10-12 09:39:37 +02:00
Atgeirr Flø Rasmussen
385880485a
Fix logic of shouldCreateSolver().
2020-10-11 22:46:02 +02:00
Atgeirr Flø Rasmussen
30a4fe55b0
Add "amg" option to --linear-solver-configuration.
2020-10-11 09:31:48 +02:00
Atgeirr Flø Rasmussen
842afd312e
Refactor setupPropertyTree().
2020-10-11 09:24:05 +02:00
Atgeirr Flø Rasmussen
00438c4860
Remove unused parts (not just comment out).
2020-10-11 08:44:21 +02:00
Atgeirr Flø Rasmussen
0a70d95bee
Refactor shouldCreateSolver().
2020-10-11 08:20:19 +02:00
Atgeirr Flø Rasmussen
1c208e9a92
Avoid unnecessary extra matrix manipulation.
...
When using the ParallelOverlappingILU0 it is not necessary to fix the overlap rows.
2020-10-10 10:09:23 +02:00
Atgeirr Flø Rasmussen
65817c9068
Removed old amg/cpr code that can be replaced.
...
The replacement consists of using the FlexibleSolver code.
2020-10-08 15:12:41 +02:00
Markus Blatt
ec884183a5
Merge pull request #2828 from blattms/add-mswells
...
[opencl] deletes assignment operator of WellContributionsOCLContainer
2020-10-01 22:35:09 +02:00
Markus Blatt
e8c030be17
Merge pull request #2821 from ducbueno/add-mswells
...
Reintroduced multisegment wells to OpenCL backend
2020-10-01 21:52:25 +02:00
Markus Blatt
684b58564c
use auto in for-loop as at other occasions.
2020-10-01 15:56:50 +02:00
Markus Blatt
f306f78737
Delete assignment operator of WellContributionsOCLContainer, too
2020-10-01 15:55:57 +02:00
Jose Eduardo Bueno
fbbb21d482
Removed smart pointers; + delete for copy constr
2020-10-01 10:27:34 -03:00
Jose Eduardo Bueno
89cefd8d95
Fixed seg fault when there are only mswells
2020-09-30 18:34:50 -03:00
Jose Eduardo Bueno
7aad035bcf
Added smart pointers
2020-09-30 17:31:35 -03:00
Markus Blatt
d30f6d272b
[gpu] Support UMFPack with DUNE 2.7
...
The index type changed from int to long int with 2.7.
2020-09-30 20:10:21 +02:00