From a6e076a21e38441bbc632cf8c956b012189b09c0 Mon Sep 17 00:00:00 2001
From: Christoph Lehmann <christoph.lehmann@ufz.de>
Date: Fri, 14 Apr 2023 12:21:10 +0200
Subject: [PATCH] [PL/TH2M] Fixed race condition

---
 ProcessLib/TH2M/TH2MFEM-impl.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/ProcessLib/TH2M/TH2MFEM-impl.h b/ProcessLib/TH2M/TH2MFEM-impl.h
index 2d6bcf372e8..c85f53f6d30 100644
--- a/ProcessLib/TH2M/TH2MFEM-impl.h
+++ b/ProcessLib/TH2M/TH2MFEM-impl.h
@@ -124,6 +124,8 @@ std::vector<ConstitutiveVariables<DisplacementDim>> TH2MLocalAssembler<
     std::vector<ConstitutiveVariables<DisplacementDim>>
         ip_constitutive_variables(n_integration_points);
 
+    PhaseTransitionModelVariables ptmv;
+
     for (unsigned ip = 0; ip < n_integration_points; ip++)
     {
         auto& ip_data = _ip_data[ip];
@@ -338,8 +340,9 @@ std::vector<ConstitutiveVariables<DisplacementDim>> TH2MLocalAssembler<
 
         // constitutive model object as specified in process creation
         auto& ptm = *_process_data.phase_transition_model_;
-        ptm.computeConstitutiveVariables(&medium, vars, pos, t, dt);
-        auto& c = ptm.cv;
+        ptmv = ptm.updateConstitutiveVariables(ptmv, &medium, vars, pos, t, dt);
+        auto const& c = ptmv;
+
         auto const phi_L = ip_data.s_L * ip_data.phi;
         auto const phi_G = (1. - ip_data.s_L) * ip_data.phi;
 
-- 
GitLab