Merge pull request #1464 from totto82/fixilu

keep using the block inversion algorithm in OPM
This commit is contained in:
Tor Harald Sandve 2018-04-24 15:18:17 +02:00 committed by GitHub
commit dee7d97b8f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -479,16 +479,15 @@ namespace Detail
}
}
#if DUNE_VERSION_NEWER_REV(DUNE_ISTL, 2 , 5, 1)
// 3x3 matrix block inversion was unstable at least 2.3 until and including
// 2.5.0
typedef ParallelOverlappingILU0<Matrix,Vector,Vector> SeqPreconditioner;
#else
// 2.5.0. There may still be some issue with the 4x4 matrix block inversion
// we therefore still use the block inversion in OPM
typedef ParallelOverlappingILU0<Dune::BCRSMatrix<Dune::MatrixBlock<typename Matrix::field_type,
Matrix::block_type::rows,
Matrix::block_type::cols> >,
Vector, Vector> SeqPreconditioner;
#endif
template <class Operator>
std::unique_ptr<SeqPreconditioner> constructPrecond(Operator& opA, const Dune::Amg::SequentialInformation&) const