From 6fceafaedf1cddfc81cc95620a6fecc0c1c2fe4f Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <github@naumov.de>
Date: Mon, 22 Feb 2021 18:03:43 +0100
Subject: [PATCH] [PL/RM] Use initial stress in assemble().

---
 .../RichardsMechanics/RichardsMechanicsFEM-impl.h    | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/ProcessLib/RichardsMechanics/RichardsMechanicsFEM-impl.h b/ProcessLib/RichardsMechanics/RichardsMechanicsFEM-impl.h
index 3e1cc7ac731..04bd024fd98 100644
--- a/ProcessLib/RichardsMechanics/RichardsMechanicsFEM-impl.h
+++ b/ProcessLib/RichardsMechanics/RichardsMechanicsFEM-impl.h
@@ -543,19 +543,15 @@ void RichardsMechanicsLocalAssembler<
             .emplace<MathLib::KelvinVector::KelvinVectorType<DisplacementDim>>(
                 eps_m);
 
-        auto C = _ip_data[ip].updateConstitutiveRelation(
-            variables, t, x_position, dt, temperature);
+        _ip_data[ip].updateConstitutiveRelation(variables, t, x_position, dt,
+                                                temperature);
 
         //
         // displacement equation, displacement part
         //
-        K.template block<displacement_size, displacement_size>(
-             displacement_index, displacement_index)
-            .noalias() += B.transpose() * C * B * w;
-
         double const rho = rho_SR * (1 - phi) + S_L * phi * rho_LR;
-        rhs.template segment<displacement_size>(displacement_index).noalias() +=
-            N_u_op.transpose() * rho * b * w;
+        rhs.template segment<displacement_size>(displacement_index).noalias() -=
+            (B.transpose() * sigma_eff - N_u_op.transpose() * rho * b) * w;
 
         //
         // pressure equation, pressure part.
-- 
GitLab