OPM/opm-benchmarks — pull request #46 by bska (2014-08-24 14:00:39+00:00)
Title: Enable Linear Solver Based on GeneralizedPCGsolver and FastAMG

This change-set switches the linear solver used in the benchmark to the
```
GeneralizedPCGSolver<> solver/FastAMG<> preconditioner
```
combination encoded in `linearsolver_type=3`. When available, this reduces the computational cost (execution time) of a benchmark run with a factor of about two compared to Dune 2.2.x's `CGSolver<>/AMG<>` combination on the `small` case. Strangely enough, the latter combination **appears** to be about a factor of two **slower** in 2.3.x
than in 2.2.x, so this is altogether a run-time reduction of a factor of about four compared to the original `linearsolver_type=1` in Dune 2.3.x.

The solver selection in `IncompFlowSolverHybrid<>` falls back to the original `CGSolver<>/AMG<>` when `GeneralizedPCGSolver<>/FastAMG<>` is not available (e.g., in Dune 2.2.x) so there's no adverse effect
from enabling `linearsolver_type=3` unconditionally.

While here, we also replace a hard-coded unit conversion factor from milli-Darcy to metres squared with an expression based on the facilities of opm-core's `Units.hpp` header. This **may** alter the numerical results slightly, but have not caused any benchmark failures in my tests.