diff --git a/MaterialLib/Fluid/ThermalConductivity/CreateFluidThermalConductivityModel.cpp b/MaterialLib/Fluid/ThermalConductivity/CreateFluidThermalConductivityModel.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..1e5d0b64394ad74706138a9a43292d08ea3aff67
--- /dev/null
+++ b/MaterialLib/Fluid/ThermalConductivity/CreateFluidThermalConductivityModel.cpp
@@ -0,0 +1,47 @@
+/**
+ *  \brief A function for creating a thermal conductivity model for fluid
+ *
+ *  \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
+ *
+ *   \file CreateFluidThermalConductivityModel.cpp
+ *
+ */
+
+#include "CreateFluidThermalConductivityModel.h"
+
+#include "BaseLib/Error.h"
+#include "BaseLib/ConfigTree.h"
+
+#include "MaterialLib/Fluid/FluidProperty.h"
+#include "MaterialLib/Fluid/ConstantFluidProperty.h"
+
+namespace MaterialLib
+{
+namespace Fluid
+{
+std::unique_ptr<FluidProperty> createFluidThermalConductivityModel(
+    BaseLib::ConfigTree const& config)
+{
+    //! \ogs_file_param{material__fluid__thermal_conductivity__type}
+    auto const type = config.getConfigParameter<std::string>("type");
+
+    if (type == "Constant")
+        return std::unique_ptr<FluidProperty>(new ConstantFluidProperty(
+            //! \ogs_file_param{material__fluid__thermal_conductivity__Constant__value}
+            config.getConfigParameter<double>("value")));
+    // TODO: add more models
+    else
+    {
+        OGS_FATAL(
+            "The viscosity type %s is unavailable.\n"
+            "The available type is \n\tConstant\n",
+            type.data());
+    }
+}
+
+}  // end namespace
+}  // end namespace
diff --git a/MaterialLib/Fluid/ThermalConductivity/CreateFluidThermalConductivityModel.h b/MaterialLib/Fluid/ThermalConductivity/CreateFluidThermalConductivityModel.h
new file mode 100644
index 0000000000000000000000000000000000000000..e2646c56ab8b5212b21a9adb313422dbab1f232f
--- /dev/null
+++ b/MaterialLib/Fluid/ThermalConductivity/CreateFluidThermalConductivityModel.h
@@ -0,0 +1,40 @@
+/**
+ *  \brief A function for creating a thermal conductivity model for fluid
+ *
+ *  \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
+ *
+ *   \file CreateFluidThermalConductivityModel.h
+ *
+ */
+
+#ifndef OGS_CREATE_FLUID_THERMAL_CONDUCTIVITY_MODEL_H
+#define OGS_CREATE_FLUID_THERMAL_CONDUCTIVITY_MODEL_H
+
+#include <memory>
+
+namespace BaseLib
+{
+class ConfigTree;
+}
+
+namespace MaterialLib
+{
+namespace Fluid
+{
+class FluidProperty;
+
+/**
+ *  Create a thermal conductivity model
+ *  \param config  ConfigTree object has a tag of `<thermal_conductivity>`
+ */
+std::unique_ptr<FluidProperty> createFluidThermalConductivityModel(
+    BaseLib::ConfigTree const& config);
+
+}  // end namespace
+}  // end namespace
+
+#endif  // OGS_CREATE_FLUID_THERMAL_CONDUCTIVITY_MODEL_H
diff --git a/Tests/MaterialLib/TestFluidSpecificHeatCapacityModel.cpp b/Tests/MaterialLib/TestFluidSpecificHeatCapacityModel.cpp
index 3f9c230b8ea7681b9f5684df1769575f853e7cc4..34a1615752ca974b90d2200a1d3bfbcf10e497b7 100644
--- a/Tests/MaterialLib/TestFluidSpecificHeatCapacityModel.cpp
+++ b/Tests/MaterialLib/TestFluidSpecificHeatCapacityModel.cpp
@@ -34,7 +34,7 @@ std::unique_ptr<FluidProperty> createSpecificFluidHeatCapacityModel(
     BaseLib::ConfigTree conf(ptree, "", BaseLib::ConfigTree::onerror,
                              BaseLib::ConfigTree::onwarning);
     auto const& sub_config = conf.getConfigSubtree("specific_heat_capacity");
-    return MaterialLib::Fluid::createSpecificFluidHeatCapacityModel(sub_config);
+    return createSpecificFluidHeatCapacityModel(sub_config);
 }
 
 TEST(MaterialFluid, checkConstantSpecificFluidHeatCapacityModel)
diff --git a/Tests/MaterialLib/TestFluidThermalConductivityModel.cpp b/Tests/MaterialLib/TestFluidThermalConductivityModel.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..04e3ab136f8e05a6ea101868ae88f86711ecf023
--- /dev/null
+++ b/Tests/MaterialLib/TestFluidThermalConductivityModel.cpp
@@ -0,0 +1,52 @@
+/**
+ *  \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
+ *
+ *   \file TestFluidThermalConductivityModel.cpp
+ *
+ */
+
+#include <gtest/gtest.h>
+
+#include <memory>
+
+#include "Tests/TestTools.h"
+
+#include "BaseLib/ConfigTree.h"
+
+#include "MaterialLib/PhysicalConstant.h"
+#include "MaterialLib/Fluid/FluidProperty.h"
+#include "MaterialLib/Fluid/ConstantFluidProperty.h"
+#include "MaterialLib/Fluid/ThermalConductivity/CreateFluidThermalConductivityModel.h"
+#include "MaterialLib/Fluid/Density/LiquidDensity.h"
+
+using namespace MaterialLib;
+using namespace MaterialLib::Fluid;
+
+using ArrayType = MaterialLib::Fluid::FluidProperty::ArrayType;
+
+std::unique_ptr<FluidProperty> createFluidThermalConductivityModel(
+    const char xml[])
+{
+    auto const ptree = readXml(xml);
+    BaseLib::ConfigTree conf(ptree, "", BaseLib::ConfigTree::onerror,
+                             BaseLib::ConfigTree::onwarning);
+    auto const& sub_config = conf.getConfigSubtree("thermal_conductivity");
+    return createFluidThermalConductivityModel(sub_config);
+}
+
+TEST(Material, checkConstantFluidThermalConductivity)
+{
+    const char xml[] =
+        "<thermal_conductivity>"
+        "   <type>Constant</type>"
+        "   <value> .45 </value> "
+        "</thermal_conductivity>";
+    const auto lambda = createFluidThermalConductivityModel(xml);
+
+    ArrayType dummy;
+    ASSERT_EQ(.45, lambda->getValue(dummy));
+}