diff --git a/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp b/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp
index c99bf8ef25b6e4743ee41cecaa716577d3dd1422..1a276ca6339488e0f5c8e65568dd936418e1db56 100644
--- a/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp
+++ b/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp
@@ -13,6 +13,7 @@
 
 #include <algorithm>
 
+#include "MaterialLib/MPL/CreateMaterialSpatialDistributionMap.h"
 #include "MaterialLib/PhysicalConstant.h"
 #include "ParameterLib/Utils.h"
 #include "ProcessLib/Output/CreateSecondaryVariables.h"
@@ -112,11 +113,17 @@ std::unique_ptr<Process> createLiquidFlowProcess(
             *calculatesurfaceflux_config, meshes, output_directory);
     }
 
+    auto media_map =
+        MaterialPropertyLib::createMaterialSpatialDistributionMap(media, mesh);
+
+    LiquidFlowData process_data{std::move(media_map)};
+
     return std::make_unique<LiquidFlowProcess>(
         std::move(name), mesh, std::move(jacobian_assembler), parameters,
         integration_order, std::move(process_variables),
-        std::move(secondary_variables), material_ids, gravity_axis_id, g,
-        reference_temperature, mat_config, std::move(surfaceflux));
+        std::move(process_data), std::move(secondary_variables), material_ids,
+        gravity_axis_id, g, reference_temperature, mat_config,
+        std::move(surfaceflux));
 }
 
 }  // namespace LiquidFlow
diff --git a/ProcessLib/LiquidFlow/LiquidFlowData.h b/ProcessLib/LiquidFlow/LiquidFlowData.h
new file mode 100644
index 0000000000000000000000000000000000000000..2f6e89c71b986fcaced9f96bd4557bb9fcd13252
--- /dev/null
+++ b/ProcessLib/LiquidFlow/LiquidFlowData.h
@@ -0,0 +1,31 @@
+/**
+ * \file
+ * \copyright
+ * Copyright (c) 2012-2020, 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 <memory>
+
+namespace MaterialPropertyLib
+{
+class MaterialSpatialDistributionMap;
+}
+
+namespace ProcessLib
+{
+namespace LiquidFlow
+{
+struct LiquidFlowData final
+{
+    std::unique_ptr<MaterialPropertyLib::MaterialSpatialDistributionMap>
+        media_map;
+};
+
+}  // namespace LiquidFlow
+}  // namespace ProcessLib
diff --git a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h
index 4dd8b45a5940c3fb8b20e476735e9a7b9a8def4f..88dda145428b989c07408111ac9d5814549dc86a 100644
--- a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h
+++ b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h
@@ -14,6 +14,7 @@
 
 #include "LiquidFlowLocalAssembler.h"
 
+#include "MaterialLib/MPL/MaterialSpatialDistributionMap.h"
 #include "NumLib/Function/Interpolation.h"
 
 namespace ProcessLib
diff --git a/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp b/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp
index 02985aa1af563cf4c6d38b6004151a7d9022659d..f505220747c4346f8c88216a978c6734bb41dff0 100644
--- a/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp
+++ b/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp
@@ -34,6 +34,7 @@ LiquidFlowProcess::LiquidFlowProcess(
     unsigned const integration_order,
     std::vector<std::vector<std::reference_wrapper<ProcessVariable>>>&&
         process_variables,
+    LiquidFlowData&& process_data,
     SecondaryVariableCollection&& secondary_variables,
     MeshLib::PropertyVector<int> const* const material_ids,
     int const gravitational_axis_id,
@@ -49,6 +50,7 @@ LiquidFlowProcess::LiquidFlowProcess(
       _reference_temperature(reference_temperature),
       _material_properties(
           createLiquidFlowMaterialProperties(config, parameters, material_ids)),
+      _process_data(std::move(process_data)),
       _surfaceflux(std::move(surfaceflux))
 {
     DBUG("Create Liquid flow process.");
diff --git a/ProcessLib/LiquidFlow/LiquidFlowProcess.h b/ProcessLib/LiquidFlow/LiquidFlowProcess.h
index 5f2932e26b8fa301b83b576e9bc6883f903d4e67..0b870ef788c1b8f0c931f60e045bc6374867d481 100644
--- a/ProcessLib/LiquidFlow/LiquidFlowProcess.h
+++ b/ProcessLib/LiquidFlow/LiquidFlowProcess.h
@@ -16,6 +16,7 @@
 
 #include "LiquidFlowLocalAssembler.h"
 #include "LiquidFlowMaterialProperties.h"
+#include "LiquidFlowData.h"
 #include "MaterialLib/Fluid/FluidProperties/FluidProperties.h"
 #include "NumLib/DOF/LocalToGlobalIndexMap.h"
 #include "ProcessLib/Process.h"
@@ -65,6 +66,7 @@ public:
         unsigned const integration_order,
         std::vector<std::vector<std::reference_wrapper<ProcessVariable>>>&&
             process_variables,
+        LiquidFlowData&& process_data,
         SecondaryVariableCollection&& secondary_variables,
         MeshLib::PropertyVector<int> const* const material_ids,
         int const gravitational_axis_id,
@@ -116,6 +118,7 @@ private:
     const double _gravitational_acceleration;
     const double _reference_temperature;
     const std::unique_ptr<LiquidFlowMaterialProperties> _material_properties;
+    LiquidFlowData _process_data;
 
     std::vector<std::unique_ptr<LiquidFlowLocalAssemblerInterface>>
         _local_assemblers;