Commit Graph
53 Commits
Author SHA1 Message Date
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