Commit Graph

20 Commits

Author SHA1 Message Date
Markus Blatt
32b8ed654e Prevent memory leaks in case SeqILU0 throws an exception. 2015-09-08 14:38:29 +02:00
Markus Blatt
3c1498ce92 Only construct SeqILU0 in try block.
The rest is not needed and this simplyfies code.
2015-09-08 12:06:03 +02:00
Markus Blatt
c97f125b56 Include rank into error message. 2015-09-08 11:48:06 +02:00
Markus Blatt
315251da2c Fix typo wether->whether. 2015-09-08 11:44:46 +02:00
Markus Blatt
de8c638308 Put space around braces where it seems approppriate. 2015-09-08 11:15:46 +02:00
Markus Blatt
ccac548420 Introduces parallel exception handling for ILU0 preconditioner.
When running Norne with the interleaved solver sometimes exceptions
(diagonal matrix block is not invertible) occur for some rows in the
ILU decomposition. In a parallel run this means that some, but not all
processes will see the exceptions. This leads to a classic deadlock.

With this commit we catch the exception during the setup of the preconditioner,
determine with the other processes whether there were any exceptions, and
in this case all the processes will throw an exception.

Currently this limited to Dune::MatrixBlockError, but we could extend this.
2015-09-08 09:46:35 +02:00
Markus Blatt
0adde744bf [bugfix] Make sequential preconditioner live as long as the parallel one.
It holds a reference to the sequential code. Previously this reference
point to a temporary object that was deleted upon exit of
constructPrecond.

With this commit use a unique_ptr to store the parallel
preconditioner. It also gets a custom deleter that will delete the
nested sequential iterator during destruction.
2015-09-05 16:09:33 +02:00
babrodtk
5b287e0ea8 Fixed warnings 2015-09-02 13:02:27 +02:00
Atgeirr Flø Rasmussen
9af29fd496 Merge pull request #434 from atgeirr/fix-minor-memleak
Fix minor memory leak
2015-08-17 16:38:18 +02:00
Atgeirr Flø Rasmussen
18a3b0b7a2 Minor whitespace fix. 2015-08-17 16:36:01 +02:00
Atgeirr Flø Rasmussen
c9b76880b6 Fix minor memory leak. 2015-08-17 15:44:58 +02:00
Kai Bao
a816f4c06c optimizing the formInterleavedSystem().
The current implementation avoids the using of formEllipticSystem() and
vercatCollapseJacs(), which take a significant amount of computing time
during the non-linear solutions.
2015-08-17 13:36:44 +02:00
Atgeirr Flø Rasmussen
ae6caaac61 Move parallel overload into HAVE_MPI block. 2015-06-19 14:06:27 +02:00
Atgeirr Flø Rasmussen
f3623270cc Fix case in include statement. 2015-06-19 13:35:36 +02:00
Atgeirr Flø Rasmussen
700ce9e13d Move forming interleaved matrix to own function/ 2015-06-19 11:33:30 +02:00
Atgeirr Flø Rasmussen
5e513642d7 Add paralell preconditioner, enable parallel case. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
5476b7a6ac Clean up headers, copyright. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
8cbce1bfdf Working interleaved solver implemented. 2015-06-19 10:53:32 +02:00
Atgeirr Flø Rasmussen
63285bf6f9 Remove usage of CPRPreconditioner. 2015-06-19 10:53:32 +02:00
Atgeirr Flø Rasmussen
5d0f654443 Add class NewtonIterationBlackoilInterleaved.
Initially it is just a copy of the NewtonIterationBlackoilCPR class.
Also, add use_interleaved parameter to use the class.
2015-06-19 10:53:32 +02:00