diff --git a/MaterialLib/CMakeLists.txt b/MaterialLib/CMakeLists.txt
index 2120e13374d43d8a1eba7c46a78da1371234a2f3..55fc32038ba8d51ed7c9c598b051fb16ca22e5e8 100644
--- a/MaterialLib/CMakeLists.txt
+++ b/MaterialLib/CMakeLists.txt
@@ -2,6 +2,7 @@
 get_source_files(SOURCES)
 append_source_files(SOURCES Adsorption)
 append_source_files(SOURCES SolidModels)
+append_source_files(SOURCES FractureModels)
 
 append_source_files(SOURCES Fluid)
 append_source_files(SOURCES Fluid/Density)
diff --git a/MaterialLib/FractureModels/FractureModelBase.h b/MaterialLib/FractureModels/FractureModelBase.h
new file mode 100644
index 0000000000000000000000000000000000000000..fd0a1778f5332537dcdcbf12b55e7bc1552ac84b
--- /dev/null
+++ b/MaterialLib/FractureModels/FractureModelBase.h
@@ -0,0 +1,40 @@
+/**
+ * \copyright
+ * Copyright (c) 2012-2016, OpenGeoSys Community (http://www.opengeosys.org)
+ *            Distributed under a Modified BSD License.
+ *              See accompanying file LICENSE.txt or
+ *              http://www.opengeosys.org/project/license
+ *
+ */
+
+#pragma once
+
+#include <Eigen/Eigen>
+
+#include "ProcessLib/Parameter/Parameter.h"
+
+namespace MaterialLib
+{
+namespace Fracture
+{
+
+template <int DisplacementDim>
+class FractureModelBase
+{
+public:
+    virtual ~FractureModelBase() {}
+
+    virtual void computeConstitutiveRelation(
+            double const t,
+            ProcessLib::SpatialPosition const& x,
+            Eigen::Ref<Eigen::VectorXd const> w_prev,
+            Eigen::Ref<Eigen::VectorXd const> w,
+            Eigen::Ref<Eigen::VectorXd const> sigma_prev,
+            Eigen::Ref<Eigen::VectorXd> sigma,
+            Eigen::Ref<Eigen::MatrixXd> C)  = 0;
+
+};
+
+}  // namespace Fracture
+}  // namespace MaterialLib
+