From d00173cbb479fa439a7542eb04b58f452634dc85 Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <github@naumov.de>
Date: Thu, 22 Aug 2019 11:33:48 +0200
Subject: [PATCH] Revert "[PL] SD; Non-equilibrium initial stress state."

This reverts commit d825ea546b2f0f7efdb5c295be78d12cebb0e131.
---
 .../i_nonequilibrium_state_variables.md       |  3 --
 .../t_stress.md                               |  1 -
 .../CreateSmallDeformationProcess.cpp         | 20 +---------
 .../SmallDeformation/SmallDeformationFEM.h    | 39 ++-----------------
 .../SmallDeformationProcessData.h             |  2 -
 5 files changed, 5 insertions(+), 60 deletions(-)
 delete mode 100644 Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/i_nonequilibrium_state_variables.md
 delete mode 100644 Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/t_stress.md

diff --git a/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/i_nonequilibrium_state_variables.md b/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/i_nonequilibrium_state_variables.md
deleted file mode 100644
index 23309741b0f..00000000000
--- a/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/i_nonequilibrium_state_variables.md
+++ /dev/null
@@ -1,3 +0,0 @@
-Non-equilibrium initial state variables which are not explicitly in equilibrium
-with any boundary conditions. They are not considered in the weak form but
-affect the constitutive behaviour of the materials.
diff --git a/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/t_stress.md b/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/t_stress.md
deleted file mode 100644
index ff6539590e8..00000000000
--- a/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/t_stress.md
+++ /dev/null
@@ -1 +0,0 @@
-Non-equilibrium stress.
diff --git a/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp b/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp
index 20ab4de1d70..2c16a7b9f2a 100644
--- a/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp
+++ b/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp
@@ -102,25 +102,9 @@ std::unique_ptr<Process> createSmallDeformationProcess(
         config.getConfigParameter<double>(
             "reference_temperature", std::numeric_limits<double>::quiet_NaN());
 
-    // Non-equilibrium variables
-    ParameterLib::Parameter<double> const* nonequilibrium_stress = nullptr;
-    const auto& nonequilibrium_state_variables_config =
-        //! \ogs_file_param{prj__processes__process__SMALL_DEFORMATION__nonequilibrium_state_variables}
-        config.getConfigSubtreeOptional("nonequilibrium_state_variables");
-    if (nonequilibrium_state_variables_config)
-    {
-        nonequilibrium_stress = &ParameterLib::findParameter<double>(
-            *nonequilibrium_state_variables_config,
-            //! \ogs_file_param_special{prj__processes__process__SMALL_DEFORMATION__nonequilibrium_state_variables__stress}
-            "stress", parameters,
-            MathLib::KelvinVector::KelvinVectorDimensions<
-                DisplacementDim>::value);
-    }
-
     SmallDeformationProcessData<DisplacementDim> process_data{
-        materialIDs(mesh),     std::move(solid_constitutive_relations),
-        solid_density,         specific_body_force,
-        nonequilibrium_stress, reference_temperature};
+        materialIDs(mesh), std::move(solid_constitutive_relations),
+        solid_density, specific_body_force, reference_temperature};
 
     SecondaryVariableCollection secondary_variables;
 
diff --git a/ProcessLib/SmallDeformation/SmallDeformationFEM.h b/ProcessLib/SmallDeformation/SmallDeformationFEM.h
index b17c6225c9a..7d195f6d899 100644
--- a/ProcessLib/SmallDeformation/SmallDeformationFEM.h
+++ b/ProcessLib/SmallDeformation/SmallDeformationFEM.h
@@ -48,13 +48,6 @@ struct IntegrationPointData final
 
     typename BMatricesType::KelvinVectorType sigma, sigma_prev;
     typename BMatricesType::KelvinVectorType eps, eps_prev;
-
-    /// Non-equilibrium initial stress.
-    typename BMatricesType::KelvinVectorType sigma_neq =
-        BMatricesType::KelvinVectorType::Zero(
-            MathLib::KelvinVector::KelvinVectorDimensions<
-                DisplacementDim>::value);
-
     double free_energy_density = 0;
 
     MaterialLib::Solids::MechanicsBase<DisplacementDim> const& solid_material;
@@ -139,8 +132,6 @@ public:
                 _process_data.material_ids,
                 e.getID());
 
-        ParameterLib::SpatialPosition x_position;
-
         for (unsigned ip = 0; ip < n_integration_points; ip++)
         {
             _ip_data.emplace_back(solid_material);
@@ -156,30 +147,8 @@ public:
             static const int kelvin_vector_size =
                 MathLib::KelvinVector::KelvinVectorDimensions<
                     DisplacementDim>::value;
-
             // Initialize current time step values
-            if (_process_data.nonequilibrium_stress)
-            {
-                // Computation of non-equilibrium stress.
-                x_position.setCoordinates(MathLib::Point3d(
-                    interpolateCoordinates<ShapeFunction, ShapeMatricesType>(
-                        e, ip_data.N)));
-                std::vector<double> sigma_neq_data =
-                    (*_process_data.nonequilibrium_stress)(
-                        std::numeric_limits<
-                            double>::quiet_NaN() /* time independent */,
-                        x_position);
-                ip_data.sigma_neq =
-                    Eigen::Map<typename BMatricesType::KelvinVectorType>(
-                        sigma_neq_data.data(),
-                        MathLib::KelvinVector::KelvinVectorDimensions<
-                            DisplacementDim>::value,
-                        1);
-            }
-            // Initialization from non-equilibrium sigma, which is zero by
-            // default, or is set to some value.
-            ip_data.sigma = ip_data.sigma_neq;
-
+            ip_data.sigma.setZero(kelvin_vector_size);
             ip_data.eps.setZero(kelvin_vector_size);
 
             // Previous time step values are not initialized and are set later.
@@ -288,7 +257,6 @@ public:
 
             auto const& eps_prev = _ip_data[ip].eps_prev;
             auto const& sigma_prev = _ip_data[ip].sigma_prev;
-            auto const& sigma_neq = _ip_data[ip].sigma_neq;
 
             auto& eps = _ip_data[ip].eps;
             auto& sigma = _ip_data[ip].sigma;
@@ -313,9 +281,8 @@ public:
 
             auto const rho = _process_data.solid_density(t, x_position)[0];
             auto const& b = _process_data.specific_body_force;
-            local_b.noalias() -= (B.transpose() * (sigma - sigma_neq) -
-                                  N_u_op.transpose() * rho * b) *
-                                 w;
+            local_b.noalias() -=
+                (B.transpose() * sigma - N_u_op.transpose() * rho * b) * w;
             local_Jac.noalias() += B.transpose() * C * B * w;
         }
     }
diff --git a/ProcessLib/SmallDeformation/SmallDeformationProcessData.h b/ProcessLib/SmallDeformation/SmallDeformationProcessData.h
index 24b7f5776ec..d48be7dabf7 100644
--- a/ProcessLib/SmallDeformation/SmallDeformationProcessData.h
+++ b/ProcessLib/SmallDeformation/SmallDeformationProcessData.h
@@ -45,8 +45,6 @@ struct SmallDeformationProcessData
     /// A vector of displacement dimension's length.
     Eigen::Matrix<double, DisplacementDim, 1> const specific_body_force;
 
-    ParameterLib::Parameter<double> const* const nonequilibrium_stress =
-        nullptr;
     double const reference_temperature =
         std::numeric_limits<double>::quiet_NaN();
 
-- 
GitLab