From 93b6074e973557a1ad6c41dc72fcaf1ff4c9ef0e Mon Sep 17 00:00:00 2001
From: Wenqing Wang <wenqing.wang@ufz.de>
Date: Wed, 15 Feb 2017 17:51:14 +0100
Subject: [PATCH] [Coupling] Changed some variable or class member names and
 made some other

minor changes according to Dima's comments.
---
 .../HeatConduction/HeatConductionFEM-impl.h   |  61 +++++----
 ProcessLib/HeatConduction/HeatConductionFEM.h |  46 +++++--
 .../HeatConduction/HeatConductionProcess.cpp  |   4 +-
 .../LiquidFlowLocalAssembler-impl.h           | 129 ++++++++++--------
 .../LiquidFlow/LiquidFlowLocalAssembler.h     |  38 +++---
 ProcessLib/LiquidFlow/LiquidFlowProcess.cpp   |   5 +-
 ProcessLib/LiquidFlow/LiquidFlowProcess.h     |   2 +-
 .../TestLiquidFlowMaterialProperties.cpp      |   7 +-
 8 files changed, 169 insertions(+), 123 deletions(-)

diff --git a/ProcessLib/HeatConduction/HeatConductionFEM-impl.h b/ProcessLib/HeatConduction/HeatConductionFEM-impl.h
index a4593833d0f..598bc0d1d46 100644
--- a/ProcessLib/HeatConduction/HeatConductionFEM-impl.h
+++ b/ProcessLib/HeatConduction/HeatConductionFEM-impl.h
@@ -25,9 +25,10 @@ void LocalAssemblerData<ShapeFunction, IntegrationMethod, GlobalDim>::
     assembleHeatTransportLiquidFlow(
         double const t, int const material_id, SpatialPosition& pos,
         int const gravitational_axis_id,
-        double const gravitational_acceleration, Eigen::MatrixXd const& perm,
+        double const gravitational_acceleration,
+        Eigen::MatrixXd const& permeability,
         ProcessLib::LiquidFlow::LiquidFlowMaterialProperties const&
-            liquid_flow_prop,
+            liquid_flow_properties,
         std::vector<double> const& local_x, std::vector<double> const& local_p,
         std::vector<double>& local_M_data, std::vector<double>& local_K_data)
 {
@@ -57,23 +58,28 @@ void LocalAssemblerData<ShapeFunction, IntegrationMethod, GlobalDim>::
         double T = 0.;
         NumLib::shapeFunctionInterpolate(local_x, sm.N, T);
 
-        // Material parameters of solid phase
+        // Thermal conductivity of solid phase.
         auto const k_s = _process_data.thermal_conductivity(t, pos)[0];
+        // Specific heat capacity of solid phase.
         auto const cp_s = _process_data.heat_capacity(t, pos)[0];
+        // Density of solid phase.
         auto const rho_s = _process_data.density(t, pos)[0];
 
-        // Material parameters of fluid phase
-        double const cp_f = liquid_flow_prop.getHeatCapacity(p, T);
-        double const k_f = liquid_flow_prop.getThermalConductivity(p, T);
-        double const rho_f = liquid_flow_prop.getLiquidDensity(p, T);
+        // Thermal conductivity of liquid.
+        double const k_f = liquid_flow_properties.getThermalConductivity(p, T);
+        // Specific heat capacity of liquid.
+        double const cp_f = liquid_flow_properties.getHeatCapacity(p, T);
+        // Density of liquid.
+        double const rho_f = liquid_flow_properties.getLiquidDensity(p, T);
 
-        // Material parameter of porosity
-        double const poro =
-            liquid_flow_prop.getPorosity(material_id, porosity_variable, T);
+        // Porosity of porous media.
+        double const n = liquid_flow_properties.getPorosity(
+            material_id, porosity_variable, T);
 
-        double const effective_cp =
-            (1.0 - poro) * cp_s * rho_s + poro * cp_f * rho_f;
-        double const effective_K = (1.0 - poro) * k_s + poro * k_f;
+        // Effective specific heat capacity.
+        double const effective_cp = (1.0 - n) * cp_s * rho_s + n * cp_f * rho_f;
+        // Effective thermal conductivity.
+        double const effective_K = (1.0 - n) * k_s + n * k_f;
 
         double const integration_factor =
             sm.detJ * wp.getWeight() * sm.integralMeasure;
@@ -83,12 +89,13 @@ void LocalAssemblerData<ShapeFunction, IntegrationMethod, GlobalDim>::
         local_K.noalias() +=
             sm.dNdx.transpose() * effective_K * sm.dNdx * integration_factor;
 
-        // Compute fluid flow velocity
-        double const mu = liquid_flow_prop.getViscosity(p, T);  // Viscosity
+        // Compute fluid flow velocity:
+        double const mu =
+            liquid_flow_properties.getViscosity(p, T);  // Viscosity
         GlobalDimVectorType const& darcy_velocity =
             LiquidFlowVelocityCalculator::calculateVelocity(
-                local_p_vec, sm, perm, mu, rho_f * gravitational_acceleration,
-                gravitational_axis_id);
+                local_p_vec, sm, permeability, mu,
+                rho_f * gravitational_acceleration, gravitational_axis_id);
         // Add the advection term
         local_K.noalias() += cp_f * rho_f * sm.N.transpose() *
                              (darcy_velocity.transpose() * sm.dNdx) *
@@ -105,32 +112,36 @@ void LocalAssemblerData<ShapeFunction, IntegrationMethod, GlobalDim>::
                       std::vector<double>& /*local_b_data*/,
                       LocalCouplingTerm const& coupled_term)
 {
-    for (auto const& coupled_process_map : coupled_term.coupled_processes)
+    for (auto const& coupled_process_pair : coupled_term.coupled_processes)
     {
-        if (coupled_process_map.first ==
+        if (coupled_process_pair.first ==
             std::type_index(typeid(ProcessLib::LiquidFlow::LiquidFlowProcess)))
         {
+            assert(
+                dynamic_cast<const ProcessLib::LiquidFlow::LiquidFlowProcess*>(
+                    &(coupled_process_pair.second)) != nullptr);
+
             ProcessLib::LiquidFlow::LiquidFlowProcess const& pcs =
                 static_cast<ProcessLib::LiquidFlow::LiquidFlowProcess const&>(
-                    coupled_process_map.second);
+                    coupled_process_pair.second);
             const auto liquid_flow_prop = pcs.getLiquidFlowMaterialProperties();
 
             const auto local_p =
-                coupled_term.local_coupled_xs.at(coupled_process_map.first);
+                coupled_term.local_coupled_xs.at(coupled_process_pair.first);
 
             SpatialPosition pos;
             pos.setElementID(_element.getID());
             const int material_id = liquid_flow_prop->getMaterialID(pos);
 
-            const Eigen::MatrixXd& perm = liquid_flow_prop->getPermeability(
+            const Eigen::MatrixXd& K = liquid_flow_prop->getPermeability(
                 material_id, t, pos, _element.getDimension());
 
-            if (perm.size() == 1)
+            if (K.size() == 1)
             {
                 assembleHeatTransportLiquidFlow<
                     IsotropicLiquidFlowVelocityCalculator>(
                     t, material_id, pos, pcs.getGravitationalAxisID(),
-                    pcs.getGravitationalacceleration(), perm, *liquid_flow_prop,
+                    pcs.getGravitationalAcceleration(), K, *liquid_flow_prop,
                     local_x, local_p, local_M_data, local_K_data);
             }
             else
@@ -138,7 +149,7 @@ void LocalAssemblerData<ShapeFunction, IntegrationMethod, GlobalDim>::
                 assembleHeatTransportLiquidFlow<
                     AnisotropicLiquidFlowVelocityCalculator>(
                     t, material_id, pos, pcs.getGravitationalAxisID(),
-                    pcs.getGravitationalacceleration(), perm, *liquid_flow_prop,
+                    pcs.getGravitationalAcceleration(), K, *liquid_flow_prop,
                     local_x, local_p, local_M_data, local_K_data);
             }
         }
diff --git a/ProcessLib/HeatConduction/HeatConductionFEM.h b/ProcessLib/HeatConduction/HeatConductionFEM.h
index bf8a41ca964..3c65463b854 100644
--- a/ProcessLib/HeatConduction/HeatConductionFEM.h
+++ b/ProcessLib/HeatConduction/HeatConductionFEM.h
@@ -199,27 +199,50 @@ private:
 
     std::vector<std::vector<double>> _heat_fluxes;
 
+    /**
+     * @brief Assemble local matrices and vectors of the equations of
+     *        heat transport process in porous media with full saturated liquid
+     *        flow.
+     *
+     * @param t                          Time.
+     * @param material_id                Material ID of the element.
+     * @param pos                        Position (t, x) of the element.
+     * @param gravitational_axis_id      The ID of the axis, which indicates the
+     *                                   direction of gravity portion of the
+     *                                   Darcy's velocity.
+     * @param gravitational_acceleration Gravitational acceleration, 9.81 in the
+     *                                   SI unit standard.
+     * @param permeability               Intrinsic permeability of liquid
+     *                                   in porous media.
+     * @param liquid_flow_properties     Liquid flow properties.
+     * @param local_x                    Local vector of unknowns, e.g.
+     *                                   nodal temperatures of the element.
+     * @param local_p                    Local vector of nodal pore pressures.
+     * @param local_M_data               Local mass matrix.
+     * @param local_K_data               Local Laplace matrix.
+     */
     template <typename LiquidFlowVelocityCalculator>
-    void assembleHeatTransportLiquidFlow( double const t,
-        int const material_id, SpatialPosition& pos,
+    void assembleHeatTransportLiquidFlow(
+        double const t, int const material_id, SpatialPosition& pos,
         int const gravitational_axis_id,
-        double const gravitational_acceleration, Eigen::MatrixXd const& perm,
+        double const gravitational_acceleration,
+        Eigen::MatrixXd const& permeability,
         ProcessLib::LiquidFlow::LiquidFlowMaterialProperties const&
-            liquid_flow_prop,
+            liquid_flow_properties,
         std::vector<double> const& local_x, std::vector<double> const& local_p,
         std::vector<double>& local_M_data, std::vector<double>& local_K_data);
 
-    /// Calculator of liquid fluid flow velocity for anisotropic permeability
+    /// Calculator of liquid flow velocity for isotropic permeability
     /// tensor
     struct IsotropicLiquidFlowVelocityCalculator
     {
         static GlobalDimVectorType calculateVelocity(
             Eigen::Map<const NodalVectorType> const& local_p,
-            ShapeMatrices const& sm, Eigen::MatrixXd const& perm,
+            ShapeMatrices const& sm, Eigen::MatrixXd const& permeability,
             double const mu, double const rho_g,
             int const gravitational_axis_id)
         {
-            const double K = perm(0, 0) / mu;
+            const double K = permeability(0, 0) / mu;
             // Compute the velocity
             GlobalDimVectorType darcy_velocity = -K * sm.dNdx * local_p;
             // gravity term
@@ -229,21 +252,22 @@ private:
         }
     };
 
-    /// Calculator of liquid fluid flow velocity for isotropic permeability
+    /// Calculator of liquid flow velocity for anisotropic permeability
     /// tensor
     struct AnisotropicLiquidFlowVelocityCalculator
     {
         static GlobalDimVectorType calculateVelocity(
             Eigen::Map<const NodalVectorType> const& local_p,
-            ShapeMatrices const& sm, Eigen::MatrixXd const& perm,
+            ShapeMatrices const& sm, Eigen::MatrixXd const& permeability,
             double const mu, double const rho_g,
             int const gravitational_axis_id)
         {
-            GlobalDimVectorType darcy_velocity = -perm * sm.dNdx * local_p / mu;
+            GlobalDimVectorType darcy_velocity =
+                -permeability * sm.dNdx * local_p / mu;
             if (gravitational_axis_id >= 0)
             {
                 darcy_velocity.noalias() -=
-                    rho_g * perm.col(gravitational_axis_id) / mu;
+                    rho_g * permeability.col(gravitational_axis_id) / mu;
             }
             return darcy_velocity;
         }
diff --git a/ProcessLib/HeatConduction/HeatConductionProcess.cpp b/ProcessLib/HeatConduction/HeatConductionProcess.cpp
index 012fb88bbc8..c32b9ec8c1c 100644
--- a/ProcessLib/HeatConduction/HeatConductionProcess.cpp
+++ b/ProcessLib/HeatConduction/HeatConductionProcess.cpp
@@ -44,8 +44,8 @@ void HeatConductionProcess::preTimestepConcreteProcess(GlobalVector const& x,
     }
     else
     {
-        auto x0 = _x_previous_timestep.get();
-        MathLib::LinAlg::copy(x, *x0);
+        auto& x0 = *_x_previous_timestep;
+        MathLib::LinAlg::copy(x, x0);
     }
 }
 
diff --git a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h
index 4fe8431baee..e460bd7075c 100644
--- a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h
+++ b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h
@@ -35,20 +35,21 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
     pos.setElementID(_element.getID());
     const int material_id = _material_properties.getMaterialID(pos);
 
-    const Eigen::MatrixXd& perm = _material_properties.getPermeability(
+    const Eigen::MatrixXd& permeability = _material_properties.getPermeability(
         material_id, t, pos, _element.getDimension());
     // Note: For Inclined 1D in 2D/3D or 2D element in 3D, the first item in
-    //  the assert must be changed to perm.rows() == _element->getDimension()
-    assert(perm.rows() == GlobalDim || perm.rows() == 1);
-
-    if (perm.size() == 1)  // isotropic or 1D problem.
-        local_assemble<IsotropicCalculator>(material_id, t, local_x,
-                                            local_M_data, local_K_data,
-                                            local_b_data, pos, perm);
+    //  the assert must be changed to permeability.rows() ==
+    //  _element->getDimension()
+    assert(permeability.rows() == GlobalDim || permeability.rows() == 1);
+
+    if (permeability.size() == 1)  // isotropic or 1D problem.
+        assembleMatrixAndVector<IsotropicCalculator>(
+            material_id, t, local_x, local_M_data, local_K_data, local_b_data,
+            pos, permeability);
     else
-        local_assemble<AnisotropicCalculator>(material_id, t, local_x,
-                                              local_M_data, local_K_data,
-                                              local_b_data, pos, perm);
+        assembleMatrixAndVector<AnisotropicCalculator>(
+            material_id, t, local_x, local_M_data, local_K_data, local_b_data,
+            pos, permeability);
 }
 
 template <typename ShapeFunction, typename IntegrationMethod,
@@ -64,32 +65,35 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
     pos.setElementID(_element.getID());
     const int material_id = _material_properties.getMaterialID(pos);
 
-    const Eigen::MatrixXd& perm = _material_properties.getPermeability(
+    const Eigen::MatrixXd& permeability = _material_properties.getPermeability(
         material_id, t, pos, _element.getDimension());
     // Note: For Inclined 1D in 2D/3D or 2D element in 3D, the first item in
-    //  the assert must be changed to perm.rows() == _element->getDimension()
-    assert(perm.rows() == GlobalDim || perm.rows() == 1);
+    //  the assert must be changed to permeability.rows() ==
+    //  _element->getDimension()
+    assert(permeability.rows() == GlobalDim || permeability.rows() == 1);
 
     const double dt = coupled_term.dt;
-    for (auto const& coupled_process_map : coupled_term.coupled_processes)
+    for (auto const& coupled_process_pair : coupled_term.coupled_processes)
     {
-        if (coupled_process_map.first ==
+        if (coupled_process_pair.first ==
             std::type_index(
                 typeid(ProcessLib::HeatConduction::HeatConductionProcess)))
         {
             const auto local_T0 =
-                coupled_term.local_coupled_xs0.at(coupled_process_map.first);
+                coupled_term.local_coupled_xs0.at(coupled_process_pair.first);
             const auto local_T1 =
-                coupled_term.local_coupled_xs.at(coupled_process_map.first);
+                coupled_term.local_coupled_xs.at(coupled_process_pair.first);
 
-            if (perm.size() == 1)  // isotropic or 1D problem.
-                local_assembleCoupledWithHeatTransport<IsotropicCalculator>(
+            if (permeability.size() == 1)  // isotropic or 1D problem.
+                assembleWithCoupledWithHeatTransport<IsotropicCalculator>(
                     material_id, t, dt, local_x, local_T0, local_T1,
-                    local_M_data, local_K_data, local_b_data, pos, perm);
+                    local_M_data, local_K_data, local_b_data, pos,
+                    permeability);
             else
-                local_assembleCoupledWithHeatTransport<AnisotropicCalculator>(
+                assembleWithCoupledWithHeatTransport<AnisotropicCalculator>(
                     material_id, t, dt, local_x, local_T0, local_T1,
-                    local_M_data, local_K_data, local_b_data, pos, perm);
+                    local_M_data, local_K_data, local_b_data, pos,
+                    permeability);
         }
         else
         {
@@ -104,12 +108,13 @@ template <typename ShapeFunction, typename IntegrationMethod,
           unsigned GlobalDim>
 template <typename LaplacianGravityVelocityCalculator>
 void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
-    local_assemble(const int material_id, double const t,
-                   std::vector<double> const& local_x,
-                   std::vector<double>& local_M_data,
-                   std::vector<double>& local_K_data,
-                   std::vector<double>& local_b_data,
-                   SpatialPosition const& pos, Eigen::MatrixXd const& perm)
+    assembleMatrixAndVector(const int material_id, double const t,
+                            std::vector<double> const& local_x,
+                            std::vector<double>& local_M_data,
+                            std::vector<double>& local_K_data,
+                            std::vector<double>& local_b_data,
+                            SpatialPosition const& pos,
+                            Eigen::MatrixXd const& permeability)
 {
     auto const local_matrix_size = local_x.size();
     assert(local_matrix_size == ShapeFunction::NPOINTS);
@@ -128,6 +133,8 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
     //       the integration loop for non-constant porosity and storage models.
     double porosity_variable = 0.;
     double storage_variable = 0.;
+    // Reference temperature for fluid property models because of no coupled
+    // heat transport process. TODO: Add an optional input for this.
     const double temperature =
         MaterialLib::PhysicalConstant::CelsiusZeroInKelvin + 18.0;
     for (unsigned ip = 0; ip < n_integration_points; ip++)
@@ -156,7 +163,7 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
 
         // Assemble Laplacian, K, and RHS by the gravitational term
         LaplacianGravityVelocityCalculator::calculateLaplacianAndGravityTerm(
-            local_K, local_b, sm, perm, integration_factor, mu, rho_g,
+            local_K, local_b, sm, permeability, integration_factor, mu, rho_g,
             _gravitational_axis_id);
     }
 }
@@ -165,12 +172,12 @@ template <typename ShapeFunction, typename IntegrationMethod,
           unsigned GlobalDim>
 template <typename LaplacianGravityVelocityCalculator>
 void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
-    local_assembleCoupledWithHeatTransport(
+    assembleWithCoupledWithHeatTransport(
         const int material_id, double const t, double const dt,
         std::vector<double> const& local_x, std::vector<double> const& local_T0,
         std::vector<double> const& local_T1, std::vector<double>& local_M_data,
         std::vector<double>& local_K_data, std::vector<double>& local_b_data,
-        SpatialPosition const& pos, Eigen::MatrixXd const& perm)
+        SpatialPosition const& pos, Eigen::MatrixXd const& permeability)
 {
     auto const local_matrix_size = local_x.size();
     assert(local_matrix_size == ShapeFunction::NPOINTS);
@@ -219,7 +226,7 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
 
         // Assemble Laplacian, K, and RHS by the gravitational term
         LaplacianGravityVelocityCalculator::calculateLaplacianAndGravityTerm(
-            local_K, local_b, sm, perm, integration_factor, mu, rho_g,
+            local_K, local_b, sm, permeability, integration_factor, mu, rho_g,
             _gravitational_axis_id);
 
         // Add the thermal expansion term
@@ -245,19 +252,20 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
     SpatialPosition pos;
     pos.setElementID(_element.getID());
     const int material_id = _material_properties.getMaterialID(pos);
-    const Eigen::MatrixXd& perm = _material_properties.getPermeability(
+    const Eigen::MatrixXd& permeability = _material_properties.getPermeability(
         material_id, t, pos, _element.getDimension());
 
     // Note: For Inclined 1D in 2D/3D or 2D element in 3D, the first item in
-    //  the assert must be changed to perm.rows() == _element->getDimension()
-    assert(perm.rows() == GlobalDim || perm.rows() == 1);
+    //  the assert must be changed to permeability.rows() ==
+    //  _element->getDimension()
+    assert(permeability.rows() == GlobalDim || permeability.rows() == 1);
 
-    if (perm.size() == 1)  // isotropic or 1D problem.
+    if (permeability.size() == 1)  // isotropic or 1D problem.
         computeSecondaryVariableLocal<IsotropicCalculator>(t, local_x, pos,
-                                                           perm);
+                                                           permeability);
     else
         computeSecondaryVariableLocal<AnisotropicCalculator>(t, local_x, pos,
-                                                             perm);
+                                                             permeability);
 }
 
 template <typename ShapeFunction, typename IntegrationMethod,
@@ -267,7 +275,7 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
     computeSecondaryVariableLocal(double const /*t*/,
                                   std::vector<double> const& local_x,
                                   SpatialPosition const& /*pos*/,
-                                  Eigen::MatrixXd const& perm)
+                                  Eigen::MatrixXd const& permeability)
 {
     auto const local_matrix_size = local_x.size();
     assert(local_matrix_size == ShapeFunction::NPOINTS);
@@ -293,7 +301,7 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
         const double mu = _material_properties.getViscosity(p, temperature);
 
         LaplacianGravityVelocityCalculator::calculateVelocity(
-            _darcy_velocities, local_p_vec, sm, perm, ip, mu, rho_g,
+            _darcy_velocities, local_p_vec, sm, permeability, ip, mu, rho_g,
             _gravitational_axis_id);
     }
 }
@@ -307,7 +315,7 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
         std::vector<double> const& local_x,
         std::vector<double> const& local_T,
         SpatialPosition const& /*pos*/,
-        Eigen::MatrixXd const& perm)
+        Eigen::MatrixXd const& permeability)
 {
     auto const local_matrix_size = local_x.size();
     assert(local_matrix_size == ShapeFunction::NPOINTS);
@@ -332,7 +340,7 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
         const double mu = _material_properties.getViscosity(p, T);
 
         LaplacianGravityVelocityCalculator::calculateVelocity(
-            _darcy_velocities, local_p_vec, sm, perm, ip, mu, rho_g,
+            _darcy_velocities, local_p_vec, sm, permeability, ip, mu, rho_g,
             _gravitational_axis_id);
     }
 }
@@ -343,16 +351,16 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
     IsotropicCalculator::calculateLaplacianAndGravityTerm(
         Eigen::Map<NodalMatrixType>& local_K,
         Eigen::Map<NodalVectorType>& local_b, ShapeMatrices const& sm,
-        Eigen::MatrixXd const& perm, double const integration_factor,
+        Eigen::MatrixXd const& permeability, double const integration_factor,
         double const mu, double const rho_g, int const gravitational_axis_id)
 {
-    const double K = perm(0, 0) / mu;
+    const double K = permeability(0, 0) / mu;
     const double fac = K * integration_factor;
     local_K.noalias() += fac * sm.dNdx.transpose() * sm.dNdx;
 
     if (gravitational_axis_id >= 0)
     {
-        // Note: Since perm, K, is a scalar number in this function,
+        // Note: Since permeability, K, is a scalar number in this function,
         // (gradN)*K*V becomes K*(grad N)*V. With the gravity vector of V,
         // the simplification of (grad N)*V is the gravitational_axis_id th
         // column of the transpose of (grad N) multiplied with rho_g.
@@ -367,10 +375,11 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
     IsotropicCalculator::calculateVelocity(
         std::vector<std::vector<double>>& darcy_velocities,
         Eigen::Map<const NodalVectorType> const& local_p,
-        ShapeMatrices const& sm, Eigen::MatrixXd const& perm, unsigned const ip,
-        double const mu, double const rho_g, int const gravitational_axis_id)
+        ShapeMatrices const& sm, Eigen::MatrixXd const& permeability,
+        unsigned const ip, double const mu, double const rho_g,
+        int const gravitational_axis_id)
 {
-    const double K = perm(0, 0) / mu;
+    const double K = permeability(0, 0) / mu;
     // Compute the velocity
     GlobalDimVectorType darcy_velocity = -K * sm.dNdx * local_p;
     // gravity term
@@ -388,18 +397,19 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
     AnisotropicCalculator::calculateLaplacianAndGravityTerm(
         Eigen::Map<NodalMatrixType>& local_K,
         Eigen::Map<NodalVectorType>& local_b, ShapeMatrices const& sm,
-        Eigen::MatrixXd const& perm, double const integration_factor,
+        Eigen::MatrixXd const& permeability, double const integration_factor,
         double const mu, double const rho_g, int const gravitational_axis_id)
 {
     const double fac = integration_factor / mu;
-    local_K.noalias() += fac * sm.dNdx.transpose() * perm * sm.dNdx;
+    local_K.noalias() += fac * sm.dNdx.transpose() * permeability * sm.dNdx;
     if (gravitational_axis_id >= 0)
     {
-        // Note: perm * gravity_vector = rho_g * perm.col(gravitational_axis_id)
+        // Note: permeability * gravity_vector = rho_g *
+        // permeability.col(gravitational_axis_id)
         //       i.e the result is the gravitational_axis_id th column of
-        //       perm multiplied with rho_g.
-        local_b.noalias() -=
-            fac * rho_g * sm.dNdx.transpose() * perm.col(gravitational_axis_id);
+        //       permeability multiplied with rho_g.
+        local_b.noalias() -= fac * rho_g * sm.dNdx.transpose() *
+                             permeability.col(gravitational_axis_id);
     }
 }
 
@@ -409,15 +419,16 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>::
     AnisotropicCalculator::calculateVelocity(
         std::vector<std::vector<double>>& darcy_velocities,
         Eigen::Map<const NodalVectorType> const& local_p,
-        ShapeMatrices const& sm, Eigen::MatrixXd const& perm, unsigned const ip,
-        double const mu, double const rho_g, int const gravitational_axis_id)
+        ShapeMatrices const& sm, Eigen::MatrixXd const& permeability,
+        unsigned const ip, double const mu, double const rho_g,
+        int const gravitational_axis_id)
 {
     // Compute the velocity
-    GlobalDimVectorType darcy_velocity = -perm * sm.dNdx * local_p / mu;
+    GlobalDimVectorType darcy_velocity = -permeability * sm.dNdx * local_p / mu;
     if (gravitational_axis_id >= 0)
     {
         darcy_velocity.noalias() -=
-            rho_g * perm.col(gravitational_axis_id) / mu;
+            rho_g * permeability.col(gravitational_axis_id) / mu;
     }
     for (unsigned d = 0; d < GlobalDim; ++d)
     {
diff --git a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h
index 1e2a7a7ed64..6b2bf9e5ce3 100644
--- a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h
+++ b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h
@@ -146,14 +146,14 @@ private:
         static void calculateLaplacianAndGravityTerm(
             Eigen::Map<NodalMatrixType>& local_K,
             Eigen::Map<NodalVectorType>& local_b, ShapeMatrices const& sm,
-            Eigen::MatrixXd const& perm, double const integration_factor,
-            double const mu, double const rho_g,
-            int const gravitational_axis_id);
+            Eigen::MatrixXd const& permeability,
+            double const integration_factor, double const mu,
+            double const rho_g, int const gravitational_axis_id);
 
         static void calculateVelocity(
             std::vector<std::vector<double>>& darcy_velocities,
             Eigen::Map<const NodalVectorType> const& local_p,
-            ShapeMatrices const& sm, Eigen::MatrixXd const& perm,
+            ShapeMatrices const& sm, Eigen::MatrixXd const& permeability,
             unsigned const ip, double const mu, double const rho_g,
             int const gravitational_axis_id);
     };
@@ -167,40 +167,40 @@ private:
         static void calculateLaplacianAndGravityTerm(
             Eigen::Map<NodalMatrixType>& local_K,
             Eigen::Map<NodalVectorType>& local_b, ShapeMatrices const& sm,
-            Eigen::MatrixXd const& perm, double const integration_factor,
-            double const mu, double const rho_g,
-            int const gravitational_axis_id);
+            Eigen::MatrixXd const& permeability,
+            double const integration_factor, double const mu,
+            double const rho_g, int const gravitational_axis_id);
 
         static void calculateVelocity(
             std::vector<std::vector<double>>& darcy_velocities,
             Eigen::Map<const NodalVectorType> const& local_p,
-            ShapeMatrices const& sm, Eigen::MatrixXd const& perm,
+            ShapeMatrices const& sm, Eigen::MatrixXd const& permeability,
             unsigned const ip, double const mu, double const rho_g,
             int const gravitational_axis_id);
     };
 
     template <typename LaplacianGravityVelocityCalculator>
-    void local_assemble(const int material_id, double const t,
-                        std::vector<double> const& local_x,
-                        std::vector<double>& local_M_data,
-                        std::vector<double>& local_K_data,
-                        std::vector<double>& local_b_data,
-                        SpatialPosition const& pos,
-                        Eigen::MatrixXd const& perm);
+    void assembleMatrixAndVector(const int material_id, double const t,
+                                 std::vector<double> const& local_x,
+                                 std::vector<double>& local_M_data,
+                                 std::vector<double>& local_K_data,
+                                 std::vector<double>& local_b_data,
+                                 SpatialPosition const& pos,
+                                 Eigen::MatrixXd const& permeability);
 
     template <typename LaplacianGravityVelocityCalculator>
-    void local_assembleCoupledWithHeatTransport(
+    void assembleWithCoupledWithHeatTransport(
         const int material_id, double const t, double const dt,
         std::vector<double> const& local_x, std::vector<double> const& local_T0,
         std::vector<double> const& local_T1, std::vector<double>& local_M_data,
         std::vector<double>& local_K_data, std::vector<double>& local_b_data,
-        SpatialPosition const& pos, Eigen::MatrixXd const& perm);
+        SpatialPosition const& pos, Eigen::MatrixXd const& permeability);
 
     template <typename LaplacianGravityVelocityCalculator>
     void computeSecondaryVariableLocal(double const /*t*/,
                                        std::vector<double> const& local_x,
                                        SpatialPosition const& pos,
-                                       Eigen::MatrixXd const& perm);
+                                       Eigen::MatrixXd const& permeability);
 
     template <typename LaplacianGravityVelocityCalculator>
     void computeSecondaryVariableCoupledWithHeatTransportLocal(
@@ -208,7 +208,7 @@ private:
         std::vector<double> const& local_x,
         std::vector<double> const& local_T,
         SpatialPosition const& pos,
-        Eigen::MatrixXd const& perm);
+        Eigen::MatrixXd const& permeability);
 
     const int _gravitational_axis_id;
     const double _gravitational_acceleration;
diff --git a/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp b/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp
index ac347f517ff..4ab25b277b4 100644
--- a/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp
+++ b/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp
@@ -90,9 +90,8 @@ void LiquidFlowProcess::initializeConcreteProcess(
 }
 
 void LiquidFlowProcess::assembleConcreteProcess(
-    const double t, GlobalVector const& x,
-    GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b,
-    StaggeredCouplingTerm const& coupling_term)
+    const double t, GlobalVector const& x, GlobalMatrix& M, GlobalMatrix& K,
+    GlobalVector& b, StaggeredCouplingTerm const& coupling_term)
 {
     DBUG("Assemble LiquidFlowProcess.");
     // Call global assembler for each local assembly item.
diff --git a/ProcessLib/LiquidFlow/LiquidFlowProcess.h b/ProcessLib/LiquidFlow/LiquidFlowProcess.h
index 5d110a8c162..fdb2092e790 100644
--- a/ProcessLib/LiquidFlow/LiquidFlowProcess.h
+++ b/ProcessLib/LiquidFlow/LiquidFlowProcess.h
@@ -77,7 +77,7 @@ public:
 
     bool isLinear() const override { return true; }
     int getGravitationalAxisID() const { return _gravitational_axis_id; }
-    double getGravitationalacceleration() const
+    double getGravitationalAcceleration() const
     {
         return _gravitational_acceleration;
     }
diff --git a/Tests/ProcessLib/LiquidFlow/TestLiquidFlowMaterialProperties.cpp b/Tests/ProcessLib/LiquidFlow/TestLiquidFlowMaterialProperties.cpp
index c6d445f99bd..de2cda71a2d 100644
--- a/Tests/ProcessLib/LiquidFlow/TestLiquidFlowMaterialProperties.cpp
+++ b/Tests/ProcessLib/LiquidFlow/TestLiquidFlowMaterialProperties.cpp
@@ -82,14 +82,15 @@ TEST(MaterialProcessLibLiquidFlow, checkLiquidFlowMaterialProperties)
     const bool has_material_ids = false;
 
     std::vector<std::unique_ptr<ProcessLib::ParameterBase>> parameters;
-    const auto lprop = createLiquidFlowMaterialProperties(
+    const auto liquid_properties = createLiquidFlowMaterialProperties(
         sub_config, parameters, has_material_ids, *dummy_property_vector);
 
     ProcessLib::SpatialPosition pos;
     pos.setElementID(0);
 
     // Check permeability
-    const Eigen::MatrixXd& perm = lprop->getPermeability(0, 0., pos, 1);
+    const Eigen::MatrixXd& perm =
+        liquid_properties->getPermeability(0, 0., pos, 1);
     ASSERT_EQ(2.e-10, perm(0, 0));
     ASSERT_EQ(0., perm(0, 1));
     ASSERT_EQ(0., perm(0, 2));
@@ -103,6 +104,6 @@ TEST(MaterialProcessLibLiquidFlow, checkLiquidFlowMaterialProperties)
     const double T = 273.15 + 60.0;
     const double p = 1.e+6;
     const double mass_coef =
-        lprop->getMassCoefficient(0, 0., pos, p, T, 0., 0.);
+        liquid_properties->getMassCoefficient(0, 0., pos, p, T, 0., 0.);
     ASSERT_NEAR(0.000100000093, mass_coef, 1.e-10);
 }
-- 
GitLab