diff --git a/dune/tectonic/spatial-solving/fixedpointiterator_tmpl.cc b/dune/tectonic/spatial-solving/fixedpointiterator_tmpl.cc
index c434a9b279dd768a2c44750f4c195a44495b09e9..5e66f407b1a31fc73934075a65ca4fb0ca0b13b5 100644
--- a/dune/tectonic/spatial-solving/fixedpointiterator_tmpl.cc
+++ b/dune/tectonic/spatial-solving/fixedpointiterator_tmpl.cc
@@ -9,6 +9,7 @@
 #include <dune/solvers/solvers/loopsolver.hh>
 
 #include "../spatial-solving/solverfactory.hh"
+#include "../spatial-solving/tnnmg/zerononlinearity.hh"
 #include "../data-structures/network/contactnetwork.hh"
 #include "../data-structures/friction/globalfriction.hh"
 
@@ -36,6 +37,13 @@ using MyFunctional = Functional<Matrix&, Vector&, MyGlobalFriction&, Vector&, Ve
 using MySolverFactory = SolverFactory<MyFunctional, BitVector>;
 
 template class FixedPointIterator<MySolverFactory, MyNBodyAssembler, MyUpdaters, ErrorNorms>;
-
 template FixedPointIterationCounter FixedPointIterator<MySolverFactory, MyNBodyAssembler, MyUpdaters, ErrorNorms>::run<LinearSolver>(
     MyUpdaters, std::shared_ptr<LinearSolver>&, const std::vector<Matrix>&, const std::vector<Vector>&, std::vector<Vector>&);
+
+using NoFriction = ZeroNonlinearity;
+using NoFrictionFunctional = Functional<Matrix&, Vector&, NoFriction&, Vector&, Vector&, double>;
+using NoFrictionSolverFactory = SolverFactory<NoFrictionFunctional, BitVector>;
+
+template class FixedPointIterator<NoFrictionSolverFactory, MyNBodyAssembler, MyUpdaters, ErrorNorms>;
+template FixedPointIterationCounter FixedPointIterator<NoFrictionSolverFactory, MyNBodyAssembler, MyUpdaters, ErrorNorms>::run<LinearSolver>(
+    MyUpdaters, std::shared_ptr<LinearSolver>&, const std::vector<Matrix>&, const std::vector<Vector>&, std::vector<Vector>&);
diff --git a/dune/tectonic/spatial-solving/tnnmg/zerononlinearity.hh b/dune/tectonic/spatial-solving/tnnmg/zerononlinearity.hh
index 2ea3e4595b5718da80c95ce20e9d72c3f89ba10a..2c3f11fa390b1b7c2dafb8681dd16abe9640297f 100644
--- a/dune/tectonic/spatial-solving/tnnmg/zerononlinearity.hh
+++ b/dune/tectonic/spatial-solving/tnnmg/zerononlinearity.hh
@@ -71,6 +71,9 @@ class ZeroNonlinearity
 
     template <class BitVector>
     void setIgnore(const BitVector& ignore) {}
+
+    template <class StateVector>
+    void updateAlpha(const StateVector& alpha) {}
 };
 
 #endif
diff --git a/dune/tectonic/time-stepping/coupledtimestepper_tmpl.cc b/dune/tectonic/time-stepping/coupledtimestepper_tmpl.cc
index a2b7fc846d54a21917a8ea4d280ec150aa9fe56e..8fa4e7fb48295071c131557e08feebf29691f050 100644
--- a/dune/tectonic/time-stepping/coupledtimestepper_tmpl.cc
+++ b/dune/tectonic/time-stepping/coupledtimestepper_tmpl.cc
@@ -10,6 +10,7 @@
 
 #include "../spatial-solving/tnnmg/functional.hh"
 #include "../spatial-solving/solverfactory.hh"
+#include "../spatial-solving/tnnmg/zerononlinearity.hh"
 
 #include "../data-structures/network/contactnetwork.hh"
 #include "../data-structures/friction/globalfriction.hh"
@@ -36,5 +37,11 @@ using MyFunctional = Functional<Matrix&, Vector&, MyGlobalFriction&, Vector&, Ve
 using MySolverFactory = SolverFactory<MyFunctional, BitVector>;
 
 template class CoupledTimeStepper<MySolverFactory, MyNBodyAssembler, MyUpdaters, ErrorNorms>;
-
 template FixedPointIterationCounter CoupledTimeStepper<MySolverFactory, MyNBodyAssembler, MyUpdaters, ErrorNorms>::step<LinearSolver>(std::shared_ptr<LinearSolver>&, double, double);
+
+using NoFriction = ZeroNonlinearity;
+using NoFrictionFunctional = Functional<Matrix&, Vector&, NoFriction&, Vector&, Vector&, double>;
+using NoFrictionSolverFactory = SolverFactory<NoFrictionFunctional, BitVector>;
+
+template class CoupledTimeStepper<NoFrictionSolverFactory, MyNBodyAssembler, MyUpdaters, ErrorNorms>;
+template FixedPointIterationCounter CoupledTimeStepper<NoFrictionSolverFactory, MyNBodyAssembler, MyUpdaters, ErrorNorms>::step<LinearSolver>(std::shared_ptr<LinearSolver>&, double, double);
diff --git a/dune/tectonic/time-stepping/uniformtimestepper_tmpl.cc b/dune/tectonic/time-stepping/uniformtimestepper_tmpl.cc
index fd863d188aa64d872a4c40c248dcd5b8a149f03d..94d258b41619134dfb18ee87c3f8b30f07513096 100644
--- a/dune/tectonic/time-stepping/uniformtimestepper_tmpl.cc
+++ b/dune/tectonic/time-stepping/uniformtimestepper_tmpl.cc
@@ -16,6 +16,7 @@
 
 #include "../data-structures/network/contactnetwork.hh"
 #include "../data-structures/friction/globalfriction.hh"
+#include "../spatial-solving/tnnmg/zerononlinearity.hh"
 
 #include "rate/rateupdater.hh"
 #include "state/stateupdater.hh"
@@ -40,6 +41,13 @@ using MySolverFactory = SolverFactory<MyFunctional, BitVector>;
 
 template class UniformTimeStepper<MySolverFactory, MyContactNetwork, MyUpdaters, ErrorNorms>;
 
+
+using NoFriction = ZeroNonlinearity;
+using NoFrictionFunctional = Functional<Matrix&, Vector&, NoFriction&, Vector&, Vector&, double>;
+using NoFrictionSolverFactory = SolverFactory<NoFrictionFunctional, BitVector>;
+
+template class UniformTimeStepper<NoFrictionSolverFactory, MyContactNetwork, MyUpdaters, ErrorNorms>;
+
 /*
 template std::packaged_task<typename AdaptiveTimeStepper<MySolverFactory, MyContactNetwork, MyUpdaters, ErrorNorms>::UpdatersWithCount()>
 AdaptiveTimeStepper<MySolverFactory, MyContactNetwork, MyUpdaters, ErrorNorms>::step<LinearSolver>(