Jose Eduardo Bueno
4d10d9ac76
Fixed issue when no std wells are present
2020-09-02 15:44:46 -03:00
Jose Eduardo Bueno
56c1c0862c
Added StandardWell functionality to OpenCL backend
2020-09-02 15:00:34 -03:00
Arne Morten Kvarving
7305f84351
use std::make_unique where applicable
2020-09-02 15:35:39 +02:00
Arne Morten Kvarving
3b21a8a481
changed: remove SET_TYPE_PROP macro usage
2020-08-28 10:44:53 +02:00
Arne Morten Kvarving
93a3ebf8f7
changed: remove NEW_PROP_TAG macro usage
2020-08-28 10:44:53 +02:00
Arne Morten Kvarving
941e4916f8
changed: remove SET_PROP macro usage
2020-08-27 14:02:05 +02:00
Arne Morten Kvarving
7d853d2e05
changed: remove SET_SCALAR_PROP macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
fca83318aa
changed: remove SET_INT_PROP macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
a79c37a041
changed: remove SET_STRING_PROP macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
0e71c0e29b
changed: remove SET_BOOL_PROP macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
e8248b44ff
changed: remove NEW_TYPE_TAG macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
914053ac3c
changed: remove GET_PROP_VALUE macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
74fac38d85
changed: remove GET_PROP_TYPE / GET_PROP macro usage
2020-08-27 08:19:39 +02:00
Arne Morten Kvarving
70908d9017
changed: remove BEGIN_PROPERTIES/END_PROPERTIES macro usage
2020-08-21 15:50:35 +02:00
Markus Blatt
5743a979e3
Formatting: added missing space.
2020-08-07 09:38:10 +02:00
Markus Blatt
8d3eac81a5
[OpenCL] Fixes out of bounds read in reordering code in ILU0.
...
rowPerColor only has size numColors!
2020-08-05 21:22:01 +02:00
Markus Blatt
c28a12636a
Also free memory allocated with CUDA also with CUDA
...
With multisegment wells we allocate WellContributions::hx and hy with
`CudaMallocHost`. Yet we tried to deallocate them with
`delete[]`. This caused segementation faults e.g. for
model1/MSW_MODEL_1. Now we use `CudaFreeHost` for freeing if we used
CUDA.
Closes #2719
2020-08-04 12:54:27 +02:00
Markus Blatt
f37fa8bbd9
Prevent unused variable warnings without CUDA in WellContributions.
2020-07-21 11:24:19 +02:00
Markus Blatt
59064b4ac2
Prevent warning about shadowing dim_wells and dim.
2020-07-10 13:40:38 +02:00
Markus Blatt
efd3aeb290
Catch exceptions by const reference to prevent warnings.
...
e.g. gcc issued: "warning: catching polymorphic type ‘class cl::Error’ by value [-Wcatch-value=]"
2020-07-10 13:40:38 +02:00
Markus Blatt
faaee51d09
Merge pull request #2682 from Tongdongq/openclSolver
...
Added openclSolver
2020-07-10 13:38:32 +02:00
T.D. (Tongdong) Qiu
5971a7ae9e
Split WellContributions into .cpp and .cu
2020-07-10 11:13:55 +02:00
T.D. (Tongdong) Qiu
af02fc3924
Added try-catch around the linear solve
2020-07-07 16:07:42 +02:00
T.D. (Tongdong) Qiu
0b20762e59
Clarified parameter help print and chosen OpenCL platform and device
2020-07-07 14:26:02 +02:00
T.D. (Tongdong) Qiu
ab49f60eca
Added opencl.hpp to define variables and import opencl
...
Added opencl.cpp to get OpenCL error strings
2020-07-07 13:46:47 +02:00
T.D. (Tongdong) Qiu
478e2ee971
Improved rowsPerColor usage
2020-07-07 11:00:38 +02:00
T.D. (Tongdong) Qiu
5aa8dda487
Changed default parallel strategy to GRAPH_COLORING
2020-07-06 13:56:27 +02:00
T.D. (Tongdong) Qiu
4c037b0998
Removed unused test kernels
2020-07-06 13:56:27 +02:00
T.D. (Tongdong) Qiu
a164a57220
Added memory management to BlockedMatrix
2020-07-06 13:55:50 +02:00
T.D. (Tongdong) Qiu
779a713330
Simplified BdaSolverStatus
2020-07-06 13:40:44 +02:00
T.D. (Tongdong) Qiu
833ea8ae72
Added templated blockinversion for C-style arrays
2020-07-06 13:40:44 +02:00
T.D. (Tongdong) Qiu
bb622449b6
Changed platformID and deviceID to commandline parameter. Make sure Flow exits cleanly upon invalid platform- or deviceID.
2020-07-06 13:38:57 +02:00
Tom Hogervorst
c8eb14aaac
Graph coloring now uses CSC-format version of input pattern as well.
2020-07-06 13:29:30 +02:00
Tom Hogervorst
38c58bffae
Renamed functions to all used Camel case, and renamed parameters to better represent what is stored in them.
...
Fixed mistake of using wrong sparsity pattern data to call canBeStarted function, and removed nnzValues of CSCmat, which were never used.
2020-07-06 13:18:46 +02:00
T.D. (Tongdong) Qiu
7f8faa018b
Replaced timing function with Dune::Timer
2020-07-06 11:22:11 +02:00
T.D. (Tongdong) Qiu
845563c37b
Replaced hardcoded constant with template
2020-07-06 11:20:43 +02:00
Bård Skaflestad
8e20e0957f
Don't Name Type that does not Exist in Sequential Configurations
...
This commit makes the constructor PressureInverseOperator that
accepts a Dune::OwnerOverlapCopyCommunication<> object contingent on
having MPI. The type does not exist otherwise.
2020-07-01 21:52:57 +02:00
Atgeirr Flø Rasmussen
c94eec872f
Allow well operators with FlexibleSolver.
2020-06-30 12:33:57 +02:00
T.D. (Tongdong) Qiu
8913e1d057
Make sure OpenCL can be used without CUDA
2020-06-25 18:44:49 +02:00
T.D. (Tongdong) Qiu
b7f47c9787
Clarified preprocessor macros
2020-06-25 15:01:23 +02:00
T.D. (Tongdong) Qiu
c76630687d
Removed config.h in header files
2020-06-25 14:49:41 +02:00
T.D. (Tongdong) Qiu
0471da3815
Rewritten Graph Coloring
2020-06-25 14:42:35 +02:00
T.D. (Tongdong) Qiu
ca83a8f53c
Removed unused headers
2020-06-25 13:12:12 +02:00
T.D. (Tongdong) Qiu
4ad234bf55
Changed some ints to unsigned
2020-06-25 12:29:20 +02:00
T.D. (Tongdong) Qiu
b692b66d3a
Added block_size templates to BlockedMatrix and Reorder functions
2020-06-25 11:51:41 +02:00
Atgeirr Flø Rasmussen
c59f4f7118
Make ghost-last feature available in PreconditionerFactory.
2020-06-25 10:56:11 +02:00
Atgeirr Flø Rasmussen
c2c79f0903
Move well operators to separate file.
...
Also introduce new class WellModelAsLinearOperator making a well model
into an actual Dune::LinearOperator, this prevents the TypeTag dependent
type from leaking into the type of the WellModelMatrixAdapter instantiation.
As a side benefit, the adapter classes can now adapt (i.e. combine with a
matrix operator) any linear operator.
2020-06-25 10:13:12 +02:00
T.D. (Tongdong) Qiu
8f9fa15ecd
Fixed warnings, mostly shadowed parameters
2020-06-25 09:40:20 +02:00
T.D. (Tongdong) Qiu
98ddf47b44
Added block_size template to BdaSolvers and BILU0
2020-06-25 09:39:55 +02:00
T.D. (Tongdong) Qiu
2a48f5f63f
Simplified usage of BdaSolver::second() for timing
2020-06-24 19:48:50 +02:00
T.D. (Tongdong) Qiu
3dc368b0b4
Added block_size templates to the BdaBridge. Removed unused gpu_mode variable
2020-06-24 16:46:04 +02:00
T.D. (Tongdong) Qiu
26133c4fd7
Fixed type of gpu_mode when HAVE_CUDA is false
2020-06-24 15:55:03 +02:00
Markus Blatt
27c9ed5c85
Consistently use ISTLSolverEbos::getMatrix to get correct matrix.
2020-06-24 15:37:43 +02:00
Markus Blatt
27ace20378
[bugfix] remove redundant copyjacToNoGhost in ISTLSolverEbos::solve
...
It uses a null pointer and make flow segfault. The copying is already
done in ISTLSolverEbos::prepare.
2020-06-24 15:25:24 +02:00
T.D. (Tongdong) Qiu
e4417fdc01
Set default value for use_gpu, using Dune would segfault because of the unitialized value
2020-06-23 18:20:10 +02:00
T.D. (Tongdong) Qiu
b9e4bd3a95
Updated HAVE_XX guards. Replaced string == compare with .compare()
2020-06-23 18:19:33 +02:00
T.D. (Tongdong) Qiu
39df7c9381
Updated comments, fixed shadowed declaration warnings
2020-06-23 11:30:15 +02:00
T.D. (Tongdong) Qiu
f974a5f6db
Added openclSolver
...
Usage: --gpu-mode=[cusparse|opencl|none] on command line
2020-06-22 18:26:49 +02:00
Atgeirr Flø Rasmussen
c58456faae
Add missing include.
2020-06-20 16:28:59 +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
fb99dd6fee
Use unique_ptr rather than shared_ptr.
2020-06-19 16:03:46 +02:00
Atgeirr Flø Rasmussen
faddef0321
Do not instantiate things requiring MPI when HAVE_MPI is false.
2020-06-19 10:01:16 +02:00
Atgeirr Flø Rasmussen
dcd5d21415
Split constructor to reduce instantiation.
...
Without the split, certain combinations with Dune::Amg::SequentialInformation
as template argument for Comm needlessly get instantiated.
2020-06-18 08:28:20 +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
Atgeirr Flø Rasmussen
2dc2e053d1
Change order of constructor arguments.
...
This allows simplification, and having just two constructors.
2020-06-17 09:31:19 +02:00
Atgeirr Flø Rasmussen
a6d186551b
Use explicit instantiation for FlexibleSolver to reduce compile times.
2020-06-17 07:43:30 +02:00
Atgeirr Flø Rasmussen
20c63f9f49
Merge pull request #2624 from OPM/fix/adapt-to-propertysystem-changes
...
adapt to changes in the property system
2020-05-28 12:05:17 +02:00
Markus Blatt
55b3a65230
Merge pull request #2628 from Tongdongq/multisegmentwells-gpu
...
cusparseSolver can now handle MultisegmentWells
2020-05-22 16:24:58 +02:00
T.D. (Tongdong) Qiu
98a8dac155
Passing std::vectors to pass data for C and B faster. Variables for D are initialized in initializer list.
2020-05-21 11:41:15 +02:00
T.D. (Tongdong) Qiu
f04a629546
Updated comments
2020-05-20 15:13:58 +02:00
Bernd Flemisch
a3b27ad9a4
[properties] include header with linear algebra property definitions
2020-05-19 10:04:35 +02:00
T.D. (Tongdong) Qiu
f6036ffa8e
Now WellContributions copies vectors for MultisegmentWells to reduce number of copies
2020-05-18 18:48:58 +02:00
T.D. (Tongdong) Qiu
0f273ebdf6
Removed unused variables. Changed initializerlist order for readability.
2020-05-18 16:10:19 +02:00
Bernd Flemisch
21df1cbe31
[properties] adapt to changes in the property system
...
`NEW_PROP_TAG` is now a definition and not just a declaration.
Eliminate superfluous declarations, include headers with definitions.
Make one necessary forward declaration explicit.
2020-05-18 15:54:26 +02:00
Markus Blatt
74936c3239
Skip exception for unset verbosity, use fallback for default solvers
...
boost::property_try::get without a defaults throws an exception. As
result the nonlinear solver and timestepper think that there is a
problem with solving and chop the timnestep until they give up.
This commit fixes this by using a default and falling back to the
command line specified value for the default solvers.
2020-05-18 08:33:49 +02:00
T.D. (Tongdong) Qiu
dcbba53510
Updated comment
2020-05-15 17:55:06 +02:00
T.D. (Tongdong) Qiu
04ee2be348
cusparseSolver can now handle MultisegmentWells, they are actually applied on CPU via SuiteSparse/UMFPACK
2020-05-15 16:40:34 +02:00
Markus Blatt
b887492285
Write out the linear system when ultra high verbosity is requested.
...
This added to ISTLSolverEbosFlexible and should be available form
ISTLSolverEbos for consistency reasons, too. Done with this commit.
2020-05-15 16:21:48 +02:00
Markus Blatt
712f576b36
Default to trueimpes as this seems slightly faster for Norne.
2020-05-15 12:41:25 +02:00
Markus Blatt
6635c8c7cd
Actually honor CprMaxEllIter
...
instead of always overwriting it with 1.
2020-05-15 12:40:17 +02:00
Markus Blatt
65fceb34c1
Delete superfluous second setting of trueimpes.
...
It is already set in the if-else above.
2020-05-15 12:38:41 +02:00
Atgeirr Flø Rasmussen
35cf505d14
Merge pull request #2618 from blattms/actually-use-trueimpes-for-cpr-trueimpes
...
Use "trueimpes" for weight_type for configuration cpr_trueimpes.
2020-05-14 09:57:12 +02:00
Bård Skaflestad
3c44a670bb
Merge pull request #2616 from atgeirr/specialize-amgsmootherargs
...
Specialize amgSmootherArgs() for ParallelOverlappingILU0
2020-05-13 19:55:30 +02:00
Atgeirr Flø Rasmussen
883b987837
Set default smoother relaxation to 1.0.
2020-05-13 17:08:38 +02:00
Atgeirr Flø Rasmussen
ebce35b318
Add specialization for ParallelOverlappingILU0.
2020-05-13 17:08:38 +02:00
Markus Blatt
50cbe9a09e
Use "trueimpes" for weight_type for configuration cpr_trueimpes.
...
Previously, we always used quasiimpes.
2020-05-13 17:00:36 +02:00
Markus Blatt
76e710df97
Simplify intstantiation of BDABridge template members
...
with a macro and stripping unneeded template members.
2020-05-13 16:29:36 +02:00
Markus Blatt
85fffee06e
Pass a mutable matrix to BdaBridge::solve_system
...
That function will overwrite zero diagonal values with small nonzero ones.
2020-05-13 16:28:15 +02:00
Markus Blatt
d54268513e
Add getMatrix() const
method needed for GPU solvers.
...
Somehow I missed testing with CUDA.
2020-05-13 15:33:34 +02:00
Markus Blatt
46ab154396
Merge pull request #2615 from atgeirr/split-files
...
Split file to ensure correct authorship and license is applied.
2020-05-13 15:02:54 +02:00
Markus Blatt
90a0e2b392
Merge pull request #2613 from blattms/use-correct-matrix
...
Use correct matrix for scaling and get rid of unused preconditioner matrix member
2020-05-13 14:54:07 +02:00
Markus Blatt
f6b4a4396e
Merge pull request #2614 from blattms/clean-hnil-fix
...
Fixed unitialized value for ILU when using flexible solvers.
2020-05-13 14:40:02 +02:00
Atgeirr Flø Rasmussen
bf0e7f0e4a
Split file to ensure correct authorship and license is applied.
2020-05-13 13:53:45 +02:00
Markus Blatt
664e582b5f
[bugfix] Use correct matrix for scaling.
...
For some of the scaling approaches the wrong matrix (dereferenced
nullptr) would have been used which should have resulted segmentation
faults. With this commit we add a method getMatrix() that returns the
correct one and use that for scaling.
2020-05-13 13:38:02 +02:00
Markus Blatt
9f278db5a6
Removes additional member for matrix used by the preconditioner.
...
Somehow that approach went missing in action and it is always the
same as the assembled matrix. Hence no need for that member anymore
and we remove it to prevent confusion.
2020-05-13 13:38:02 +02:00
Markus Blatt
1e56b8f907
Merge pull request #2608 from blattms/merge-cpr-legacy
...
Make flexible solvers and CPR accessible for flow binary.
2020-05-13 13:20:23 +02:00
hnil
e309d86012
Fixed unitialized value for ILU when using flexible solvers.
...
If the user requested ILU0, the uninitialized valued caused an
arbritrary (quite high) fill-in level to be used which stalled the
computation and exhausted memory when running parallel.
2020-05-13 13:13:54 +02:00
Markus Blatt
7ed960b6d1
Use normal pointer to assembled matrix.
2020-05-13 12:23:20 +02:00
Markus Blatt
ddd947bf0a
Use correct matrix for flexible solver when parallel.
...
In this case matrix_ is a nullptr and noGhostMat_ is the optimized
matrix to use. Before this commit we experienced a segmentation fault
as the nullptr was dereferenced and passed to the solver.
2020-05-12 19:06:12 +02:00
Markus Blatt
4c72af9546
Make only rank zero honor verbosity in flexible solvers.
...
Previously all the ranks print linear solver statistics in verbose
mode which cluttered the output in parallel runs. Now only rank 0
will print like it should be.
2020-05-12 18:06:20 +02:00
Markus Blatt
1f177b33e7
Use communicator to decide whether this is a truly parallel.
2020-05-12 12:46:04 +02:00
Markus Blatt
1ff1f24fbb
Fix when the matrix with no ghosts will be used.
2020-05-12 12:46:04 +02:00
Markus Blatt
e8b79b2b63
Prevent matrix copy in serial run.
2020-05-12 12:46:04 +02:00
Markus Blatt
357469dc21
Only extract overlap and interior information if needed.
...
That is, if actually set up the additional matrix with no ghosts.
2020-05-12 11:52:19 +02:00
Markus Blatt
aa54b4d8db
Remove unused weight_filename from json file.
2020-05-12 11:52:19 +02:00
Markus Blatt
47acb6ecb3
Make flexible solvers and CPR accessible for flow binary.
...
Previously, one had to call a seperate binary called
flow_blackoil_dunecpr. Unforntunately, that was only built if users
requested that the tests (`-DBUILD_TESTING=ON`) and the flow
variants (`-DBUILD_FLOW_VARIANTS=ON`) should be built. In addition
it would use a slightly different nonlinear solver implementation.
With this commit flow can be asked to either use
CPR (`--use-cpr=true --matrix-add-well-contributions=true`) or to use
the flexible solvers bx setting the `--linear-solver-configuration`
option. In all other cases the usual solver implementations are still
used.
Note that the flexible solvers still need
`--matrix-add-well-contributions=true` and hence cannot cope with
multi-segment wells.
2020-05-12 11:52:19 +02:00
Markus Blatt
71b234ec54
Make CprReuseSetup always use same default value.
...
The default was 0 for flow and 3 for flow_blackoil_dunecpr. Now we
always use 3. This is safe as it will not be used for any other
solvers than the flexible ones.
2020-05-12 11:52:19 +02:00
Markus Blatt
5b4acd5417
Do not query wells for solver if it is actually not needed.
2020-05-12 11:52:19 +02:00
Markus Blatt
19bd9cea65
for DUNE 2.7 and up we need to specialize for Opm:MatrixBlock
...
as there already is a specialization for an arbitrary Block
and that one leads to compile errors because we redefine it
in OPM (and miss some other specializations for Opm:MatrixBlock,
e.g. isNumber).
2020-05-11 21:29:47 +02:00
Atgeirr Flø Rasmussen
329036612b
Enable matrix dumping also without MPI.
...
Also remove the need for the reinterpret_cast by adding some extra
implementation details for more general block matrices.
2020-05-08 13:32:36 +02:00
hnil
d275242b01
Add a writeSystem() helper and use it to write system matrices.
...
Triggered only when using the flexible solver and a solver verbosity > 10.
2020-05-06 16:56:30 +02:00
Markus Blatt
f03b56c261
Complete future-proofing ILU usage in the preconditioner factory.
...
SeqILU0/SeqILU0 are removed in master and one should use SeqILU
2020-04-27 15:52:43 +02:00
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