OPM/opm-core — pull request #590 by qilicun (2014-05-16 07:43:20+00:00)
Title: Linsolver petsc

This PR implement Petsc interface for OPM. Summary as following.
- Pass ``-DPETSC_ROOT=/the/path/installed/petsc`` to cmake when you compile opm-core, if you installed Petsc in your machine.
- Since now OPM is not fully support parallel computing, FindPetsc.cmake can found mpiuni for sequential computing, which under ``${PETSC_ROOT}/include/mpiuni``, this patch need sequential Petsc, that said when you compile Petsc please ``--with-mpi=0``.
- Different KSP solvers and PC can be set by ParameterGroup, take an example, you can specify Petsc by the command ``linsolver=petsc ksp_type=gmres pc_type=ilu`` and also``ksp_view=1`` to view the detail of the solver and preconditioner.
- In the constructor of LinearSolverPetsc, Petsc is initialized, in the destructor Petsc is Finalized. There will be problems when you call several times of the constructor and destructor, so I suggest just call it once during the computation(Any patch for this is appreciated).