diff --git a/demo/init/heat.dat.3d b/demo/init/heat.dat.3d
index 3f2dc52f5d3cdd7b1e60faf266f5279199f12cd8..9d04f253f03dc6aaed900d5c0677273ec3fe3e94 100644
--- a/demo/init/heat.dat.3d
+++ b/demo/init/heat.dat.3d
@@ -8,11 +8,11 @@ heat->space->polynomial degree[0]:    1
 heat->space->dim:                     3
 heat->space->mesh:                    heatMesh
 
-heat->space->solver:                  umfpack
+heat->space->solver:                  bicgstab
 heat->space->solver->max iteration:   1000
 heat->space->solver->tolerance:       1.e-8
 heat->space->solver->info:            2
-heat->space->solver->left precon:     no
+heat->space->solver->left precon:     diag
 heat->space->solver->right precon:    no
 
 heat->space->estimator[0]:           residual
diff --git a/demo/init/nonlin.dat.2d b/demo/init/nonlin.dat.2d
index aacae7dd5a812714fbb92416dfea846f69e1eece..bc5bb95b28e5cca0c13ca41d807975c82f451af0 100644
--- a/demo/init/nonlin.dat.2d
+++ b/demo/init/nonlin.dat.2d
@@ -9,11 +9,11 @@ nonlin->polynomial degree[0]:   1
 nonlin->components:             1
 
 nonlin->nonlin solver:          newton
-nonlin->solver:                 umfpack
+nonlin->solver:                 bicgstab
 nonlin->solver->max iteration:  1000
 nonlin->solver->tolerance:      1.e-8
 nonlin->solver->info:           2
-nonlin->solver->left precon:    no
+nonlin->solver->left precon:    ilu
 nonlin->solver->right precon:   no
 
 nonlin->estimator[0]:              residual
diff --git a/demo/init/vecellipt.dat.1d b/demo/init/vecellipt.dat.1d
index 84e8264d2cdb144bab481c6c4c74951143a410a1..3d3c9dc574bb5a7c904a40077065f618886f2188 100644
--- a/demo/init/vecellipt.dat.1d
+++ b/demo/init/vecellipt.dat.1d
@@ -9,11 +9,11 @@ vecellipt->components:                   2
 vecellipt->polynomial degree[0]:         1
 vecellipt->polynomial degree[1]:         1
 
-vecellipt->solver:                       umfpack
+vecellipt->solver:                       bicgstab
 vecellipt->solver->max iteration:        1000
 vecellipt->solver->tolerance:            1.e-8
 vecellipt->solver->info:                 2
-vecellipt->solver->left precon:          no
+vecellipt->solver->left precon:          diag
 vecellipt->solver->right precon:         no
 
 vecellipt->estimator[0]:                 residual
diff --git a/demo/init/vecellipt.dat.2d b/demo/init/vecellipt.dat.2d
index 1fcd2d1031acbfe8efae1485c0431a5d7145867c..9cba6a4dbb058e13d2f036d94035fc52359dfe95 100644
--- a/demo/init/vecellipt.dat.2d
+++ b/demo/init/vecellipt.dat.2d
@@ -9,11 +9,11 @@ vecellipt->components:                   2
 vecellipt->polynomial degree[0]:         1
 vecellipt->polynomial degree[1]:         1
 
-vecellipt->solver:                       umfpack 
+vecellipt->solver:                       bicgstab 
 vecellipt->solver->max iteration:        1000
 vecellipt->solver->tolerance:            1.e-8
 vecellipt->solver->info:                 2
-vecellipt->solver->left precon:          no
+vecellipt->solver->left precon:          diag
 vecellipt->solver->right precon:         no
 
 vecellipt->estimator[0]:                 residual
diff --git a/demo/init/vecellipt.dat.3d b/demo/init/vecellipt.dat.3d
index 349f78f14693ad652309d1388292e1d4bf1a50d8..16fe3bae3a20d41ddae2c42d31cce3fa5cf99ff6 100644
--- a/demo/init/vecellipt.dat.3d
+++ b/demo/init/vecellipt.dat.3d
@@ -9,11 +9,11 @@ vecellipt->components:                   2
 vecellipt->polynomial degree[0]:         1
 vecellipt->polynomial degree[1]:         1
 
-vecellipt->solver:                       umfpack
+vecellipt->solver:                       bicgstab
 vecellipt->solver->max iteration:        1000
 vecellipt->solver->tolerance:            1.e-8
 vecellipt->solver->info:                 2
-vecellipt->solver->left precon:          no
+vecellipt->solver->left precon:          diag
 vecellipt->solver->right precon:         no
 
 vecellipt->estimator[0]:                 residual
@@ -46,4 +46,4 @@ vecellipt->output[0]->AMDiS format: 1
 vecellipt->output[1]->filename:             output/vecellipt1.3d
 vecellipt->output[1]->ParaView format:      1 
 vecellipt->output[1]->ARH format: 1
-vecellipt->output[1]->AMDiS format: 1
\ No newline at end of file
+vecellipt->output[1]->AMDiS format: 1
diff --git a/demo/init/vecheat.dat.2d b/demo/init/vecheat.dat.2d
index cf39df95991bda04f01194e854c03002a560cee2..2642127344bbee22ee759a32e2ae922c8030cf98 100644
--- a/demo/init/vecheat.dat.2d
+++ b/demo/init/vecheat.dat.2d
@@ -10,11 +10,11 @@ vecheat->space->mesh:                        vecheatMesh
 
 vecheat->space->components:                  2
 
-vecheat->space->solver:                      umfpack 
+vecheat->space->solver:                      bicgstab 
 vecheat->space->solver->max iteration:       1000
 vecheat->space->solver->tolerance:           1.e-8
 vecheat->space->solver->info:                2
-vecheat->space->solver->left precon:         no
+vecheat->space->solver->left precon:         diag
 vecheat->space->solver->right precon:        no
 
 vecheat->space->estimator[0]:                residual
diff --git a/demo/init/vecheat.dat.3d b/demo/init/vecheat.dat.3d
index 0c68ab349004d45778efbdfdb602226f990b23ab..0b031f7311988b14f0020c0fa999f24611d4de7c 100644
--- a/demo/init/vecheat.dat.3d
+++ b/demo/init/vecheat.dat.3d
@@ -10,11 +10,11 @@ vecheat->space->mesh:                        vecheatMesh
 
 vecheat->space->components:                  2
 
-vecheat->space->solver:                      umfpack 
+vecheat->space->solver:                      bicgstab 
 vecheat->space->solver->max iteration:       1000
 vecheat->space->solver->tolerance:           1.e-8
 vecheat->space->solver->info:                2
-vecheat->space->solver->left precon:         no
+vecheat->space->solver->left precon:         diag
 vecheat->space->solver->right precon:        no
 
 vecheat->space->estimator[0]:                residual