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
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
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