Commit Graph

6 Commits

Author SHA1 Message Date
Markus Blatt
bdc4573e2a Added support for the parallel solvers of dune-istl.
To support this the solveSystem methods of the LinearSolverInterface gets
an optional additional template parameter of type boost::any. It can hold any
copy constructable object. In our case it is used to pass the information about
the parallelization into the solvers of dune-istl without the compiler needing to know
their type. Inside of LinearSolverIstl::solveSystem we check whether the type stored inside of
boost::any is the new ParallelIstlInformation. If this is the case we extract the information
and use the parallel solvers if available, otherwise we solve serial/sequential.

The new ParallelIstlInformation is needed as the OwnerOverlapCopyCommunication is not copy
constructable. This is indeed a design flaw that should and will fixed upstream, but for the
time being we need ParallelIstlInformation to transfer the ParallelIndexSet and RemoteIndices
objects.
2014-03-20 21:59:29 +01:00
Xavier Raynaud
c81a840382 Added possibility to set tolerance for linear solvers. 2012-06-06 15:14:46 +02:00
Atgeirr Flø Rasmussen
8c16722b84 Removed copied text accidentally left in. 2012-02-21 22:02:16 +01:00
Atgeirr Flø Rasmussen
9ed9f8b288 Fixed class comments, LinearSolverUmfpack::solve() properly returns a report. 2012-02-21 21:54:46 +01:00
Atgeirr Flø Rasmussen
e52cae02ac Made the solve() methods const. 2012-02-21 21:36:09 +01:00
Atgeirr Flø Rasmussen
3cb3d69d90 Added LinearSolverInterface and two subclasses, using Umfpack and Istl. 2012-02-21 21:27:15 +01:00