From b68eee2c56607a9ebfb277963b023d679fe688eb Mon Sep 17 00:00:00 2001
From: Tom Fischer <thomas.fischer@ufz.de>
Date: Fri, 5 Apr 2024 08:52:42 +0200
Subject: [PATCH] [PL/HT] Rm ref to shape matrix cache from local assemblers

---
 ProcessLib/HT/HTFEM.h           |  5 +----
 ProcessLib/HT/HTProcess.cpp     |  4 ++--
 ProcessLib/HT/MonolithicHTFEM.h | 10 ++++------
 ProcessLib/HT/StaggeredHTFEM.h  |  9 ++++-----
 4 files changed, 11 insertions(+), 17 deletions(-)

diff --git a/ProcessLib/HT/HTFEM.h b/ProcessLib/HT/HTFEM.h
index ca9c204198c..f0e08207fa6 100644
--- a/ProcessLib/HT/HTFEM.h
+++ b/ProcessLib/HT/HTFEM.h
@@ -50,12 +50,10 @@ public:
           NumLib::GenericIntegrationMethod const& integration_method,
           bool const is_axially_symmetric,
           HTProcessData const& process_data,
-          NumLib::ShapeMatrixCache const& shape_matrix_cache,
           const unsigned dof_per_node)
         : HTLocalAssemblerInterface(),
           _element(element),
           _process_data(process_data),
-          _shape_matrix_cache(shape_matrix_cache),
           _integration_method(integration_method)
     {
         // This assertion is valid only if all nodal d.o.f. use the same shape
@@ -169,7 +167,6 @@ public:
 protected:
     MeshLib::Element const& _element;
     HTProcessData const& _process_data;
-    NumLib::ShapeMatrixCache const& _shape_matrix_cache;
 
     NumLib::GenericIntegrationMethod const& _integration_method;
     std::vector<IntegrationPointData<GlobalDimNodalMatrixType>> _ip_data;
@@ -271,7 +268,7 @@ protected:
         auto const& liquid_phase = medium.phase("AqueousLiquid");
 
         auto const& Ns =
-            _shape_matrix_cache
+            _process_data.shape_matrix_cache
                 .NsHigherOrder<typename ShapeFunction::MeshElement>();
 
         for (unsigned ip = 0; ip < n_integration_points; ++ip)
diff --git a/ProcessLib/HT/HTProcess.cpp b/ProcessLib/HT/HTProcess.cpp
index 50971ed954c..f1dd20f1f8b 100644
--- a/ProcessLib/HT/HTProcess.cpp
+++ b/ProcessLib/HT/HTProcess.cpp
@@ -56,14 +56,14 @@ void HTProcess::initializeConcreteProcess(
         ProcessLib::createLocalAssemblers<MonolithicHTFEM>(
             mesh_space_dimension, mesh.getElements(), dof_table,
             _local_assemblers, NumLib::IntegrationOrder{integration_order},
-            mesh.isAxiallySymmetric(), _process_data, _shape_matrix_cache);
+            mesh.isAxiallySymmetric(), _process_data);
     }
     else
     {
         ProcessLib::createLocalAssemblers<StaggeredHTFEM>(
             mesh_space_dimension, mesh.getElements(), dof_table,
             _local_assemblers, NumLib::IntegrationOrder{integration_order},
-            mesh.isAxiallySymmetric(), _process_data, _shape_matrix_cache);
+            mesh.isAxiallySymmetric(), _process_data);
     }
 
     _secondary_variables.addSecondaryVariable(
diff --git a/ProcessLib/HT/MonolithicHTFEM.h b/ProcessLib/HT/MonolithicHTFEM.h
index d1c741298c6..91ad8249837 100644
--- a/ProcessLib/HT/MonolithicHTFEM.h
+++ b/ProcessLib/HT/MonolithicHTFEM.h
@@ -59,12 +59,10 @@ public:
                     std::size_t const local_matrix_size,
                     NumLib::GenericIntegrationMethod const& integration_method,
                     bool is_axially_symmetric,
-                    HTProcessData const& process_data,
-                    NumLib::ShapeMatrixCache const& shape_matrix_cache)
-        : HTFEM<ShapeFunction, GlobalDim>(element, local_matrix_size,
-                                          integration_method,
-                                          is_axially_symmetric, process_data,
-                                          shape_matrix_cache, NUM_NODAL_DOF)
+                    HTProcessData const& process_data)
+        : HTFEM<ShapeFunction, GlobalDim>(
+              element, local_matrix_size, integration_method,
+              is_axially_symmetric, process_data, NUM_NODAL_DOF)
     {
     }
 
diff --git a/ProcessLib/HT/StaggeredHTFEM.h b/ProcessLib/HT/StaggeredHTFEM.h
index 3939dc522b4..db88872e2ba 100644
--- a/ProcessLib/HT/StaggeredHTFEM.h
+++ b/ProcessLib/HT/StaggeredHTFEM.h
@@ -58,11 +58,10 @@ public:
                    std::size_t const local_matrix_size,
                    NumLib::GenericIntegrationMethod const& integration_method,
                    bool is_axially_symmetric,
-                   HTProcessData const& process_data,
-                   NumLib::ShapeMatrixCache const& shape_matrix_cache)
-        : HTFEM<ShapeFunction, GlobalDim>(
-              element, local_matrix_size, integration_method,
-              is_axially_symmetric, process_data, shape_matrix_cache, 1)
+                   HTProcessData const& process_data)
+        : HTFEM<ShapeFunction, GlobalDim>(element, local_matrix_size,
+                                          integration_method,
+                                          is_axially_symmetric, process_data, 1)
     {
     }
 
-- 
GitLab