diff --git a/dune/tectonic/nicefunction.hh b/dune/tectonic/nicefunction.hh
index 532dfa2580e7e46404615da3ae6cb10cd9c43859..efa0ba616e5d76b20efff30686b2ae58513a7489 100644
--- a/dune/tectonic/nicefunction.hh
+++ b/dune/tectonic/nicefunction.hh
@@ -34,6 +34,26 @@ class SampleFunction : public NiceFunction {
   double virtual rightDifferential(double s) const { return (s < 1) ? 1 : 2; }
 };
 
+class SteepFunction : public NiceFunction {
+public:
+  void virtual evaluate(double const& x, double& y) const { y = 100 * x; }
+
+  double virtual leftDifferential(double s) const { return 100; }
+
+  double virtual rightDifferential(double s) const { return 100; }
+};
+
+class SteepFunctionNonsmooth : public NiceFunction {
+public:
+  void virtual evaluate(double const& x, double& y) const {
+    y = (x < 1) ? x : (100 * x - 99);
+  }
+
+  double virtual leftDifferential(double s) const { return (s <= 1) ? 1 : 100; }
+
+  double virtual rightDifferential(double s) const { return (s < 1) ? 1 : 100; }
+};
+
 class TrivialFunction : public NiceFunction {
 public:
   void virtual evaluate(double const& x, double& y) const { y = 0; }