diff --git a/ProcessLib/BoundaryCondition/GenericNaturalBoundaryConditionLocalAssembler.h b/ProcessLib/BoundaryCondition/GenericNaturalBoundaryConditionLocalAssembler.h
index 40a29e985c21b8b1da067d225ce0de4f89862b33..6acaa079fc3676960af14e91926394f8d881bd36 100644
--- a/ProcessLib/BoundaryCondition/GenericNaturalBoundaryConditionLocalAssembler.h
+++ b/ProcessLib/BoundaryCondition/GenericNaturalBoundaryConditionLocalAssembler.h
@@ -60,9 +60,9 @@ private:
             ns_and_weights;
         ns_and_weights.reserve(integration_method.getNumberOfPoints());
 
-        auto sms = initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                                     IntegrationMethod, GlobalDim>(
-            e, is_axially_symmetric, integration_method);
+        auto sms =
+            initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
+                e, is_axially_symmetric, integration_method);
         for (unsigned ip = 0; ip < sms.size(); ++ip)
         {
             auto& sm = sms[ip];
diff --git a/ProcessLib/BoundaryCondition/NormalTractionBoundaryConditionLocalAssembler.h b/ProcessLib/BoundaryCondition/NormalTractionBoundaryConditionLocalAssembler.h
index 8ed02b06f0136add80ca7754fc72319a1efd691f..7d2c9715094463d3d17e5eb9fa336b9a0b0b2e74 100644
--- a/ProcessLib/BoundaryCondition/NormalTractionBoundaryConditionLocalAssembler.h
+++ b/ProcessLib/BoundaryCondition/NormalTractionBoundaryConditionLocalAssembler.h
@@ -78,8 +78,8 @@ public:
 
         auto const shape_matrices_u =
             initShapeMatrices<ShapeFunctionDisplacement, ShapeMatricesType,
-                              IntegrationMethod, GlobalDim>(
-                e, is_axially_symmetric, _integration_method);
+                              GlobalDim>(e, is_axially_symmetric,
+                                         _integration_method);
 
         GlobalDimVectorType element_normal(GlobalDim);
 
diff --git a/ProcessLib/ComponentTransport/ComponentTransportFEM.h b/ProcessLib/ComponentTransport/ComponentTransportFEM.h
index 2425bfefe4182adc1dfd7513ceed32606da5f894..248bf7f5458558567dc2cff4d2e951d5b873844e 100644
--- a/ProcessLib/ComponentTransport/ComponentTransportFEM.h
+++ b/ProcessLib/ComponentTransport/ComponentTransportFEM.h
@@ -146,8 +146,7 @@ public:
         _ip_data.reserve(n_integration_points);
 
         auto const shape_matrices =
-            initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, GlobalDim>(
+            initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
                 element, is_axially_symmetric, _integration_method);
 
         for (unsigned ip = 0; ip < n_integration_points; ip++)
diff --git a/ProcessLib/HT/HTFEM.h b/ProcessLib/HT/HTFEM.h
index a48d136b84f29f5c1be19e6e6183717da19a3c5a..9e0b01a8b66af70cfa7cfbb22c8fef72bf71de15 100644
--- a/ProcessLib/HT/HTFEM.h
+++ b/ProcessLib/HT/HTFEM.h
@@ -69,8 +69,7 @@ public:
         _ip_data.reserve(n_integration_points);
 
         auto const shape_matrices =
-            initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, GlobalDim>(
+            initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
                 element, is_axially_symmetric, _integration_method);
 
         for (unsigned ip = 0; ip < n_integration_points; ip++)
diff --git a/ProcessLib/HeatConduction/HeatConductionFEM.h b/ProcessLib/HeatConduction/HeatConductionFEM.h
index dc676f5214950a3f872ed6c26d05066a9790d7dc..0b2189bed4ae51e8cab229a9e8d22bd9019a75f7 100644
--- a/ProcessLib/HeatConduction/HeatConductionFEM.h
+++ b/ProcessLib/HeatConduction/HeatConductionFEM.h
@@ -79,9 +79,9 @@ public:
         : _element(element),
           _process_data(process_data),
           _integration_method(integration_order),
-          _shape_matrices(initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                                            IntegrationMethod, GlobalDim>(
-              element, is_axially_symmetric, _integration_method)),
+          _shape_matrices(
+              initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
+                  element, is_axially_symmetric, _integration_method)),
           _heat_fluxes(
               GlobalDim,
               std::vector<double>(_integration_method.getNumberOfPoints()))
diff --git a/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerBHE-impl.h b/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerBHE-impl.h
index 548e2efa719983d27f364c424de1fcb7c5a41f09..a35b8f72df7acbc6eb040a7d54f0080cf7db32e1 100644
--- a/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerBHE-impl.h
+++ b/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerBHE-impl.h
@@ -40,9 +40,8 @@ HeatTransportBHELocalAssemblerBHE<ShapeFunction, IntegrationMethod, BHEType>::
     _secondary_data.N.resize(n_integration_points);
 
     auto const shape_matrices =
-        initShapeMatrices<ShapeFunction, ShapeMatricesType, IntegrationMethod,
-                          3 /* GlobalDim */>(e, is_axially_symmetric,
-                                             _integration_method);
+        initShapeMatrices<ShapeFunction, ShapeMatricesType, 3 /* GlobalDim */>(
+            e, is_axially_symmetric, _integration_method);
 
     // ip data initialization
     for (unsigned ip = 0; ip < n_integration_points; ip++)
diff --git a/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerSoil-impl.h b/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerSoil-impl.h
index 2a796f104d9421fe8590f91c27b3a179e8a8a43d..acd741623f9f445383052f243e5a515d040763bf 100644
--- a/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerSoil-impl.h
+++ b/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerSoil-impl.h
@@ -45,9 +45,9 @@ HeatTransportBHELocalAssemblerSoil<ShapeFunction, IntegrationMethod>::
     _ip_data.reserve(n_integration_points);
     _secondary_data.N.resize(n_integration_points);
 
-    _shape_matrices = initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                                        IntegrationMethod, 3 /* GlobalDim */>(
-        e, is_axially_symmetric, _integration_method);
+    _shape_matrices =
+        initShapeMatrices<ShapeFunction, ShapeMatricesType, 3 /* GlobalDim */>(
+            e, is_axially_symmetric, _integration_method);
 
     ParameterLib::SpatialPosition x_position;
     x_position.setElementID(_element_id);
diff --git a/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h b/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
index 90401c561904bdd83dbac9ab064492b5e890e602..6c2ed982db6d9363d62cef4936efa4ddd5598d86 100644
--- a/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
+++ b/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
@@ -51,14 +51,13 @@ HydroMechanicsLocalAssembler<ShapeFunctionDisplacement, ShapeFunctionPressure,
 
     auto const shape_matrices_u =
         initShapeMatrices<ShapeFunctionDisplacement,
-                          ShapeMatricesTypeDisplacement, IntegrationMethod,
-                          DisplacementDim>(e, is_axially_symmetric,
-                                           _integration_method);
+                          ShapeMatricesTypeDisplacement, DisplacementDim>(
+            e, is_axially_symmetric, _integration_method);
 
     auto const shape_matrices_p =
         initShapeMatrices<ShapeFunctionPressure, ShapeMatricesTypePressure,
-                          IntegrationMethod, DisplacementDim>(
-            e, is_axially_symmetric, _integration_method);
+                          DisplacementDim>(e, is_axially_symmetric,
+                                           _integration_method);
 
     auto const& solid_material =
         MaterialLib::Solids::selectSolidConstitutiveRelation(
diff --git a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h
index ad016b1f60bf71674f436fa82cba1dd4946c55bb..f1b256c26494a32072b8ef4d1e126d1594e75079 100644
--- a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h
+++ b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h
@@ -63,14 +63,13 @@ HydroMechanicsLocalAssemblerFracture<ShapeFunctionDisplacement,
 
     auto const shape_matrices_u =
         initShapeMatrices<ShapeFunctionDisplacement,
-                          ShapeMatricesTypeDisplacement, IntegrationMethod,
-                          GlobalDim>(e, is_axially_symmetric,
-                                     integration_method);
+                          ShapeMatricesTypeDisplacement, GlobalDim>(
+            e, is_axially_symmetric, integration_method);
 
     auto const shape_matrices_p =
         initShapeMatrices<ShapeFunctionPressure, ShapeMatricesTypePressure,
-                          IntegrationMethod, GlobalDim>(e, is_axially_symmetric,
-                                                        integration_method);
+                          GlobalDim>(e, is_axially_symmetric,
+                                     integration_method);
 
     auto const& frac_prop = *_process_data.fracture_property;
 
diff --git a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerMatrix-impl.h b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerMatrix-impl.h
index 6a9c5211dd69d95286a3f356bec5abf7db7daa65..f3d4e064bf4808126916d9fa2a072b404a892524 100644
--- a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerMatrix-impl.h
+++ b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerMatrix-impl.h
@@ -54,14 +54,13 @@ HydroMechanicsLocalAssemblerMatrix<ShapeFunctionDisplacement,
 
     auto const shape_matrices_u =
         initShapeMatrices<ShapeFunctionDisplacement,
-                          ShapeMatricesTypeDisplacement, IntegrationMethod,
-                          GlobalDim>(e, is_axially_symmetric,
-                                     integration_method);
+                          ShapeMatricesTypeDisplacement, GlobalDim>(
+            e, is_axially_symmetric, integration_method);
 
     auto const shape_matrices_p =
         initShapeMatrices<ShapeFunctionPressure, ShapeMatricesTypePressure,
-                          IntegrationMethod, GlobalDim>(e, is_axially_symmetric,
-                                                        integration_method);
+                          GlobalDim>(e, is_axially_symmetric,
+                                     integration_method);
 
     auto& solid_material = MaterialLib::Solids::selectSolidConstitutiveRelation(
         _process_data.solid_materials, _process_data.material_ids, e.getID());
diff --git a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerFracture-impl.h b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerFracture-impl.h
index e1c7c7490d6a0e54129d3f8215567f6777b43999..1b2339b2504239511cd19f7e0335b360b4712e7a 100644
--- a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerFracture-impl.h
+++ b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerFracture-impl.h
@@ -43,9 +43,9 @@ SmallDeformationLocalAssemblerFracture<ShapeFunction, IntegrationMethod,
           dofIndex_to_localIndex),
       _process_data(process_data),
       _integration_method(integration_order),
-      _shape_matrices(initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                                        IntegrationMethod, DisplacementDim>(
-          e, is_axially_symmetric, _integration_method)),
+      _shape_matrices(
+          initShapeMatrices<ShapeFunction, ShapeMatricesType, DisplacementDim>(
+              e, is_axially_symmetric, _integration_method)),
       _element(e)
 {
     assert(_element.getDimension() == DisplacementDim - 1);
diff --git a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrix-impl.h b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrix-impl.h
index 85039a99fc5ba0202cfd1ad898e7fc230a79154e..e6f7f4835dd57c514d9d594a897affb13c5d4b10 100644
--- a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrix-impl.h
+++ b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrix-impl.h
@@ -60,9 +60,8 @@ SmallDeformationLocalAssemblerMatrix<ShapeFunction, IntegrationMethod,
     _secondary_data.N.resize(n_integration_points);
 
     auto const shape_matrices =
-        initShapeMatrices<ShapeFunction, ShapeMatricesType, IntegrationMethod,
-                          DisplacementDim>(e, is_axially_symmetric,
-                                           _integration_method);
+        initShapeMatrices<ShapeFunction, ShapeMatricesType, DisplacementDim>(
+            e, is_axially_symmetric, _integration_method);
 
     auto& solid_material = MaterialLib::Solids::selectSolidConstitutiveRelation(
         _process_data.solid_materials, _process_data.material_ids, e.getID());
diff --git a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h
index 06b49f64877ea6b45e268af4c8a4b8895d575f0f..f413a118973e53a49e0cc98f10e8967df1852836 100644
--- a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h
+++ b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h
@@ -67,12 +67,9 @@ SmallDeformationLocalAssemblerMatrixNearFracture<ShapeFunction,
       _element(e),
       _is_axially_symmetric(is_axially_symmetric)
 {
-    std::vector<
-        ShapeMatrices,
-        Eigen::aligned_allocator<typename ShapeMatricesType::ShapeMatrices>>
-        shape_matrices = initShapeMatrices<ShapeFunction,
-                                           ShapeMatricesType,
-                                           IntegrationMethod,
+    std::vector<ShapeMatrices, Eigen::aligned_allocator<
+                                   typename ShapeMatricesType::ShapeMatrices>>
+        shape_matrices = initShapeMatrices<ShapeFunction, ShapeMatricesType,
                                            DisplacementDim>(
             e, is_axially_symmetric, _integration_method);
 
diff --git a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h
index 674e2cd2466348d828ee58b49b3d8929f9f49d0c..0f4f01348ebdbf813e23208e43f8f086442aff1b 100644
--- a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h
+++ b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h
@@ -100,8 +100,7 @@ public:
         _ip_data.reserve(n_integration_points);
 
         auto const& shape_matrices =
-            initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, GlobalDim>(
+            initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
                 element, is_axially_symmetric, _integration_method);
 
         for (unsigned ip = 0; ip < n_integration_points; ip++)
diff --git a/ProcessLib/PhaseField/PhaseFieldFEM.h b/ProcessLib/PhaseField/PhaseFieldFEM.h
index 58d02d3d817c3b7f5c3cc87bf5a53985e9fce23b..759607d7308ea8d01c9406366b39a04f04cd4c67 100644
--- a/ProcessLib/PhaseField/PhaseFieldFEM.h
+++ b/ProcessLib/PhaseField/PhaseFieldFEM.h
@@ -170,8 +170,8 @@ public:
 
         auto const shape_matrices =
             initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, DisplacementDim>(
-                e, is_axially_symmetric, _integration_method);
+                              DisplacementDim>(e, is_axially_symmetric,
+                                               _integration_method);
 
         ParameterLib::SpatialPosition x_position;
         x_position.setElementID(_element.getID());
diff --git a/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM-impl.h b/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM-impl.h
index a1ab6fee86e870150066e5a0feb4bc7f0f5c270f..4f261818a43d7c51078181b654deefac1f0b9042 100644
--- a/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM-impl.h
+++ b/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM-impl.h
@@ -37,9 +37,8 @@ LocalAssemblerData<ShapeFunction, IntegrationMethod, GlobalDim>::
     _ip_data.reserve(n_integration_points);
 
     auto const shape_matrices =
-        initShapeMatrices<ShapeFunction, ShapeMatricesType, IntegrationMethod,
-                          GlobalDim>(element, is_axially_symmetric,
-                                     _integration_method);
+        initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
+            element, is_axially_symmetric, _integration_method);
 
     for (unsigned ip = 0; ip < n_integration_points; ip++)
     {
diff --git a/ProcessLib/RichardsFlow/RichardsFlowFEM.h b/ProcessLib/RichardsFlow/RichardsFlowFEM.h
index dd83b3c417b4b2aa82b97bc1de91d1a5d995c2d2..7096a0212f0385e71fed794f527d0835657f16a0 100644
--- a/ProcessLib/RichardsFlow/RichardsFlowFEM.h
+++ b/ProcessLib/RichardsFlow/RichardsFlowFEM.h
@@ -115,8 +115,7 @@ public:
         _ip_data.reserve(n_integration_points);
 
         auto const shape_matrices =
-            initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, GlobalDim>(
+            initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
                 element, is_axially_symmetric, _integration_method);
 
         for (unsigned ip = 0; ip < n_integration_points; ip++)
diff --git a/ProcessLib/RichardsMechanics/RichardsMechanicsFEM-impl.h b/ProcessLib/RichardsMechanics/RichardsMechanicsFEM-impl.h
index da82b8ef3ff21bc01fd06e344ec95db2d1d1a715..a3918d38e02dcaba7719ec39cc2bd7576b30f0f3 100644
--- a/ProcessLib/RichardsMechanics/RichardsMechanicsFEM-impl.h
+++ b/ProcessLib/RichardsMechanics/RichardsMechanicsFEM-impl.h
@@ -50,14 +50,13 @@ RichardsMechanicsLocalAssembler<ShapeFunctionDisplacement,
 
     auto const shape_matrices_u =
         initShapeMatrices<ShapeFunctionDisplacement,
-                          ShapeMatricesTypeDisplacement, IntegrationMethod,
-                          DisplacementDim>(e, is_axially_symmetric,
-                                           _integration_method);
+                          ShapeMatricesTypeDisplacement, DisplacementDim>(
+            e, is_axially_symmetric, _integration_method);
 
     auto const shape_matrices_p =
         initShapeMatrices<ShapeFunctionPressure, ShapeMatricesTypePressure,
-                          IntegrationMethod, DisplacementDim>(
-            e, is_axially_symmetric, _integration_method);
+                          DisplacementDim>(e, is_axially_symmetric,
+                                           _integration_method);
 
     auto const& solid_material =
         MaterialLib::Solids::selectSolidConstitutiveRelation(
diff --git a/ProcessLib/SmallDeformation/SmallDeformationFEM.h b/ProcessLib/SmallDeformation/SmallDeformationFEM.h
index fcc28dc600aa5b98476013a4a7c528081d51794d..9c3a21c369b431a9d8b822ca10ca6fc4295e2490 100644
--- a/ProcessLib/SmallDeformation/SmallDeformationFEM.h
+++ b/ProcessLib/SmallDeformation/SmallDeformationFEM.h
@@ -126,8 +126,8 @@ public:
 
         auto const shape_matrices =
             initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, DisplacementDim>(
-                e, is_axially_symmetric, _integration_method);
+                              DisplacementDim>(e, is_axially_symmetric,
+                                               _integration_method);
 
         auto& solid_material =
             MaterialLib::Solids::selectSolidConstitutiveRelation(
diff --git a/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalFEM.h b/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalFEM.h
index 525053841db49cfcd7afd8ec2b4c33f7aaa6778a..50c8a0e5cdb284360ffaab3d41e3dcead1f223f9 100644
--- a/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalFEM.h
+++ b/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalFEM.h
@@ -92,8 +92,8 @@ public:
 
         auto const shape_matrices =
             initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, DisplacementDim>(
-                e, is_axially_symmetric, _integration_method);
+                              DisplacementDim>(e, is_axially_symmetric,
+                                               _integration_method);
 
         auto& solid_material =
             MaterialLib::Solids::selectSolidConstitutiveRelation(
diff --git a/ProcessLib/SourceTerms/LineSourceTermFEM.h b/ProcessLib/SourceTerms/LineSourceTermFEM.h
index f811a406f7abdaa082764b115160e23d0cb1e770..aac0fbf50b51398ff357878a897364c1ad64260d 100644
--- a/ProcessLib/SourceTerms/LineSourceTermFEM.h
+++ b/ProcessLib/SourceTerms/LineSourceTermFEM.h
@@ -63,8 +63,7 @@ public:
             _integration_method.getNumberOfPoints();
 
         auto const shape_matrices =
-            initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, GlobalDim>(
+            initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
                 _element, is_axially_symmetric, _integration_method);
 
         for (unsigned ip = 0; ip < n_integration_points; ip++)
diff --git a/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssembler.h b/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssembler.h
index afa1c555a3fb2651c9b1a3f5140a67dd214257bc..1ef23f796a7137514ac91d41f17769b837fbdf1d 100644
--- a/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssembler.h
+++ b/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssembler.h
@@ -72,8 +72,7 @@ public:
             _integration_method.getNumberOfPoints();
 
         auto const shape_matrices =
-            initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, GlobalDim>(
+            initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
                 _element, _is_axially_symmetric, _integration_method);
 
         for (unsigned ip = 0; ip < n_integration_points; ip++)
diff --git a/ProcessLib/SourceTerms/VolumetricSourceTermFEM.h b/ProcessLib/SourceTerms/VolumetricSourceTermFEM.h
index fbeb33d42c8035fc8b80e7f15ef19fb5d33693af..88e4515251341797f180f5e310db8e234dee071e 100644
--- a/ProcessLib/SourceTerms/VolumetricSourceTermFEM.h
+++ b/ProcessLib/SourceTerms/VolumetricSourceTermFEM.h
@@ -63,8 +63,7 @@ public:
             _integration_method.getNumberOfPoints();
 
         auto const shape_matrices =
-            initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, GlobalDim>(
+            initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
                 _element, is_axially_symmetric, _integration_method);
 
         for (unsigned ip = 0; ip < n_integration_points; ip++)
diff --git a/ProcessLib/SteadyStateDiffusion/SteadyStateDiffusionFEM.h b/ProcessLib/SteadyStateDiffusion/SteadyStateDiffusionFEM.h
index 834b1cf49a5a3094891830a01cce02f14d657c6a..84aff33d92a16abd37324651e90a720573ca9d04 100644
--- a/ProcessLib/SteadyStateDiffusion/SteadyStateDiffusionFEM.h
+++ b/ProcessLib/SteadyStateDiffusion/SteadyStateDiffusionFEM.h
@@ -70,9 +70,9 @@ public:
         : _element(element),
           _process_data(process_data),
           _integration_method(integration_order),
-          _shape_matrices(initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                                            IntegrationMethod, GlobalDim>(
-              element, is_axially_symmetric, _integration_method))
+          _shape_matrices(
+              initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
+                  element, is_axially_symmetric, _integration_method))
     {
     }
 
diff --git a/ProcessLib/TES/TESLocalAssembler-impl.h b/ProcessLib/TES/TESLocalAssembler-impl.h
index 2e53aa07e2053ddafc2fb78b0ab34abf942fc1ac..00f0a7b88b3dac38340f91a5bea5401f093a6011 100644
--- a/ProcessLib/TES/TESLocalAssembler-impl.h
+++ b/ProcessLib/TES/TESLocalAssembler-impl.h
@@ -126,9 +126,9 @@ TESLocalAssembler<ShapeFunction_, IntegrationMethod_, GlobalDim>::
                       AssemblyParams const& asm_params)
     : _element(e),
       _integration_method(integration_order),
-      _shape_matrices(initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                                        IntegrationMethod_, GlobalDim>(
-          e, is_axially_symmetric, _integration_method)),
+      _shape_matrices(
+          initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
+              e, is_axially_symmetric, _integration_method)),
       _d(asm_params, _integration_method.getNumberOfPoints(), GlobalDim)
 {
 }
diff --git a/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPLocalAssembler.h b/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPLocalAssembler.h
index 298252db51776618c849737951edb6ea35442387..ee17ddf92c002adcbfa38a86034957e331a00e29 100644
--- a/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPLocalAssembler.h
+++ b/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPLocalAssembler.h
@@ -114,8 +114,7 @@ public:
             _integration_method.getNumberOfPoints();
         _ip_data.reserve(n_integration_points);
         auto const shape_matrices =
-            initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, GlobalDim>(
+            initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
                 element, is_axially_symmetric, _integration_method);
         for (unsigned ip = 0; ip < n_integration_points; ip++)
         {
diff --git a/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsFEM-impl.h b/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsFEM-impl.h
index 13c00ac9a70536643eddee2f961a4fea30022135..792363924c7084f091489dde36c46f6854f9214f 100644
--- a/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsFEM-impl.h
+++ b/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsFEM-impl.h
@@ -52,14 +52,13 @@ ThermoHydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
 
     auto const shape_matrices_u =
         initShapeMatrices<ShapeFunctionDisplacement,
-                          ShapeMatricesTypeDisplacement, IntegrationMethod,
-                          DisplacementDim>(e, is_axially_symmetric,
-                                           _integration_method);
+                          ShapeMatricesTypeDisplacement, DisplacementDim>(
+            e, is_axially_symmetric, _integration_method);
 
     auto const shape_matrices_p =
         initShapeMatrices<ShapeFunctionPressure, ShapeMatricesTypePressure,
-                          IntegrationMethod, DisplacementDim>(
-            e, is_axially_symmetric, _integration_method);
+                          DisplacementDim>(e, is_axially_symmetric,
+                                           _integration_method);
 
     auto const& solid_material =
         MaterialLib::Solids::selectSolidConstitutiveRelation(
diff --git a/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldFEM.h b/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldFEM.h
index 0df4e3d795e795605ab4a295c4231e536396f6c8..5cad34688fc1655d5310403f1c85a22da72a8427 100644
--- a/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldFEM.h
+++ b/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldFEM.h
@@ -184,11 +184,10 @@ public:
                 "support is implemented.");
         }
 
-
         auto const shape_matrices =
             initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, DisplacementDim>(
-                e, is_axially_symmetric, _integration_method);
+                              DisplacementDim>(e, is_axially_symmetric,
+                                               _integration_method);
 
         ParameterLib::SpatialPosition x_position;
         x_position.setElementID(_element.getID());
diff --git a/ProcessLib/ThermoMechanics/ThermoMechanicsFEM-impl.h b/ProcessLib/ThermoMechanics/ThermoMechanicsFEM-impl.h
index 2ea0cd0fe075aaad6916fb120200ffe15c3aa964..5a77f5dbeb6fe9cb822d3000affe7d135aa299d0 100644
--- a/ProcessLib/ThermoMechanics/ThermoMechanicsFEM-impl.h
+++ b/ProcessLib/ThermoMechanics/ThermoMechanicsFEM-impl.h
@@ -41,9 +41,8 @@ ThermoMechanicsLocalAssembler<ShapeFunction, IntegrationMethod,
     _secondary_data.N.resize(n_integration_points);
 
     auto const shape_matrices =
-        initShapeMatrices<ShapeFunction, ShapeMatricesType, IntegrationMethod,
-                          DisplacementDim>(e, is_axially_symmetric,
-                                           _integration_method);
+        initShapeMatrices<ShapeFunction, ShapeMatricesType, DisplacementDim>(
+            e, is_axially_symmetric, _integration_method);
 
     auto& solid_material = MaterialLib::Solids::selectSolidConstitutiveRelation(
         _process_data.solid_materials, _process_data.material_ids, e.getID());
diff --git a/ProcessLib/TwoPhaseFlowWithPP/TwoPhaseFlowWithPPLocalAssembler.h b/ProcessLib/TwoPhaseFlowWithPP/TwoPhaseFlowWithPPLocalAssembler.h
index f695f6e5bb3e5e45bc3b93e97ebd57991bf1ab26..18d0ea8fdca77bad84a2f74851f5fedbc93b36ed 100644
--- a/ProcessLib/TwoPhaseFlowWithPP/TwoPhaseFlowWithPPLocalAssembler.h
+++ b/ProcessLib/TwoPhaseFlowWithPP/TwoPhaseFlowWithPPLocalAssembler.h
@@ -109,8 +109,7 @@ public:
             _integration_method.getNumberOfPoints();
         _ip_data.reserve(n_integration_points);
         auto const shape_matrices =
-            initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                              IntegrationMethod, GlobalDim>(
+            initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
                 element, is_axially_symmetric, _integration_method);
         for (unsigned ip = 0; ip < n_integration_points; ip++)
         {
diff --git a/ProcessLib/TwoPhaseFlowWithPrho/TwoPhaseFlowWithPrhoLocalAssembler.h b/ProcessLib/TwoPhaseFlowWithPrho/TwoPhaseFlowWithPrhoLocalAssembler.h
index 023a5d9a420d14a55dabe6849798df7212771371..2a42aa3ed8ab64468d61d0a3481fbfcb5af59438 100644
--- a/ProcessLib/TwoPhaseFlowWithPrho/TwoPhaseFlowWithPrhoLocalAssembler.h
+++ b/ProcessLib/TwoPhaseFlowWithPrho/TwoPhaseFlowWithPrhoLocalAssembler.h
@@ -103,9 +103,9 @@ public:
         TwoPhaseFlowWithPrhoProcessData const& process_data)
         : _element(element),
           _integration_method(integration_order),
-          _shape_matrices(initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                                            IntegrationMethod, GlobalDim>(
-              element, is_axially_symmetric, _integration_method)),
+          _shape_matrices(
+              initShapeMatrices<ShapeFunction, ShapeMatricesType, GlobalDim>(
+                  element, is_axially_symmetric, _integration_method)),
           _process_data(process_data),
           _saturation(
               std::vector<double>(_integration_method.getNumberOfPoints())),
diff --git a/ProcessLib/Utils/InitShapeMatrices.h b/ProcessLib/Utils/InitShapeMatrices.h
index fe31adc7afa0193964e155058fa1494aabf59aca..2bd8099fd2833c8b5b7ac480a5ddbd15158c7c21 100644
--- a/ProcessLib/Utils/InitShapeMatrices.h
+++ b/ProcessLib/Utils/InitShapeMatrices.h
@@ -17,8 +17,8 @@
 
 namespace ProcessLib
 {
-template <typename ShapeFunction, typename ShapeMatricesType,
-          typename IntegrationMethod, unsigned GlobalDim>
+template <typename ShapeFunction, typename ShapeMatricesType, int GlobalDim,
+          typename IntegrationMethod>
 std::vector<typename ShapeMatricesType::ShapeMatrices,
             Eigen::aligned_allocator<typename ShapeMatricesType::ShapeMatrices>>
 initShapeMatrices(MeshLib::Element const& e, bool is_axially_symmetric,
diff --git a/Tests/MathLib/TestGaussLegendreIntegration.cpp b/Tests/MathLib/TestGaussLegendreIntegration.cpp
index 42c9f01311c09dea5de6b3d4b7924a6f146d35f1..0d2413abdcc51fecc500ac2fb7c8fc8491af8f87 100644
--- a/Tests/MathLib/TestGaussLegendreIntegration.cpp
+++ b/Tests/MathLib/TestGaussLegendreIntegration.cpp
@@ -90,7 +90,7 @@ public:
 
         auto const sms =
             ProcessLib::initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                                          IntegrationMethod, GlobalDim>(
+                                          GlobalDim>(
                 _e, false /*is_axially_symmetric*/,
                 IntegrationMethod{integration_order});
         IntegrationMethod integration_method{integration_order};
diff --git a/Tests/NumLib/TestExtrapolation.cpp b/Tests/NumLib/TestExtrapolation.cpp
index e32f6867d4d8fe4c398ab8ea8c96b8393c404cd4..71d3ad0156c9f03bcd3ab108fd59c41e34080752 100644
--- a/Tests/NumLib/TestExtrapolation.cpp
+++ b/Tests/NumLib/TestExtrapolation.cpp
@@ -86,11 +86,9 @@ public:
                        std::size_t const /*local_matrix_size*/,
                        bool is_axially_symmetric,
                        unsigned const integration_order)
-        : _shape_matrices(
-              ProcessLib::initShapeMatrices<ShapeFunction, ShapeMatricesType,
-                                            IntegrationMethod, GlobalDim>(
-                  e, is_axially_symmetric,
-                  IntegrationMethod{integration_order})),
+        : _shape_matrices(ProcessLib::initShapeMatrices<
+                          ShapeFunction, ShapeMatricesType, GlobalDim>(
+              e, is_axially_symmetric, IntegrationMethod{integration_order})),
           _int_pt_values(_shape_matrices.size())
     {
     }