diff --git a/LDDsimulation/LDDsimulation.py b/LDDsimulation/LDDsimulation.py
index 41c91bb0e4597f5c41fcf959e462a2ed1bfb88ae..fdc977f9fda9a8b05675e0b7feddb50dd5cfd1d5 100644
--- a/LDDsimulation/LDDsimulation.py
+++ b/LDDsimulation/LDDsimulation.py
@@ -172,15 +172,15 @@ class LDDsimulation(object):
         self.solver_type_is_Krylov = True
         ### Define the linear solver to be used.
         if self.solver_type_is_Krylov:
-            self.solver = 'bicgstab'#'superlu' #'gmres'#'bicgstab' # biconjugate gradient stabilized method
-            self.preconditioner = 'jacobi' #'hypre_amg' 'default' #'ilu'#'hypre_amg' # incomplete LU factorization
+            self.solver = 'gmres' #'bicgstab'#'superlu' #'gmres'#'bicgstab' # biconjugate gradient stabilized method
+            self.preconditioner = 'ilu'#'jacobi' #'hypre_amg' 'default' #'ilu'#'hypre_amg' # incomplete LU factorization
             # dictionary of solver parametrs. This is passed to self._init_subdomains,
             # where for each subdomain a sovler object of type self.solver is created
             # with these parameters.
             self.solver_parameters = {
                 'nonzero_initial_guess': True,
                 'absolute_tolerance': 1E-14,
-                'relative_tolerance': 1E-12,
+                'relative_tolerance': 1E-11,
                 'maximum_iterations': 1000,
                 'report': False,
                 'monitor_convergence': False