Commit Graph

21 Commits

Author SHA1 Message Date
andrthu
6c62753803 Ghost entries skipped for ilu apply and GL operator in AMG/CPR hierarchy.
This works since the ghost entries are the last entries
2024-06-07 14:40:53 +02:00
Tobias Meyer Andersen
e9d6b326cc Add HIP support for AMD GPUs
This commits adds cmake functionality that can
hipify the cuistl framework to support AMD GPUs.

Some tests have been written as HIP does not mirror
CUDA exactly.

CONVERT_CUDA_TO_HIP is the new CMAKE argument.
CMAKE version is increased to include HIP
as a language (3.21 required).

A macro is added to create a layer of indirection
that will make only cuistl files that have been
changed rehipified.

Some BDA stuff is extracted to make sure CUDA
is not accidentally included.
2024-05-06 15:56:53 +02:00
hnil
c065d34d0e -- added more timing to get better coverage of amg solver
-- added includes needed
2023-07-24 12:28:08 +02:00
Atgeirr Flø Rasmussen
7f96922c3c Ensure UMFPACK works with FlexibleSolver.
Every apply() call for UMFPACK must (for now) recreate the solver.
2023-06-09 15:37:31 +02:00
Kjetil Olsen Lye
ea86e45fef SolverAdapter now takes a reference to scalar product. 2023-05-31 16:39:45 +02:00
Kjetil Olsen Lye
ceb15e22e3 Expose CuISTL solver in FlexibleSolver. 2023-05-31 15:03:31 +02:00
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
Arne Morten Kvarving
5f6339f6fd FlexibleSolver: use std::make_shared 2023-03-29 09:50:09 +02:00
Arne Morten Kvarving
52d871f998 FlexibleSolver: avoid use of sstream 2023-01-02 15:18:10 +01: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
Atgeirr Flø Rasmussen
a0f16089f7 Re-add explicit instantiation of FlexibleSolver to reduce compile time. 2022-06-08 17:03:27 +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
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
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
Atgeirr Flø Rasmussen
c94eec872f Allow well operators with FlexibleSolver. 2020-06-30 12:33:57 +02:00
Atgeirr Flø Rasmussen
427eac5132 Use macro for instantiations, and clean up includes. 2020-06-19 16:37:43 +02:00
Atgeirr Flø Rasmussen
3784ab9d77 Amended copyrights and made the _impl.hpp a proper header file. 2020-06-17 21:07:13 +02:00
Atgeirr Flø Rasmussen
f24b2cd708 Split instantiation files to enable parallel build. 2020-06-17 13:03:57 +02:00