diff --git a/MaterialLib/PhysicalConstant.h b/MaterialLib/PhysicalConstant.h
index 47ddab80ee36c62c8418ac4a1044c445552cf0de..3ad3f12252cc4fd20b2ba430d53207c12fce1a5c 100644
--- a/MaterialLib/PhysicalConstant.h
+++ b/MaterialLib/PhysicalConstant.h
@@ -20,6 +20,9 @@ namespace PhysicalConstant
 /// Zero degrees Celsius in Kelvin
 const double CelsiusZeroInKelvin = 273.15;
 
+/// Room temperature, which is used as a reference temperature.
+const double RoomTemperature = CelsiusZeroInKelvin + 20.0;
+
 /**
   Ideal gas constant in SI standard units (J \per{mol} \per{K})
 
diff --git a/MaterialLib/SolidModels/Ehlers.cpp b/MaterialLib/SolidModels/Ehlers.cpp
index 99820eaf96f4b663939b88beca59dcbaeb2bfbe6..cc5b5394627a9d751a2c6e3c6639eb4807d44440 100644
--- a/MaterialLib/SolidModels/Ehlers.cpp
+++ b/MaterialLib/SolidModels/Ehlers.cpp
@@ -480,7 +480,7 @@ SolidEhlers<DisplacementDim>::integrateStress(
     KelvinVector const& eps,
     KelvinVector const& sigma_prev,
     typename MechanicsBase<DisplacementDim>::MaterialStateVariables const&
-        material_state_variables)
+        material_state_variables, double const /*T*/, double const /*p*/)
 {
     assert(dynamic_cast<StateVariables<DisplacementDim> const*>(
                &material_state_variables) != nullptr);
diff --git a/MaterialLib/SolidModels/Ehlers.h b/MaterialLib/SolidModels/Ehlers.h
index 6b99f56504cd14813d60bc061d1d8dcc6134ed86..80449c2ca98e0173e4fa1662193d7fc55a7c8563 100644
--- a/MaterialLib/SolidModels/Ehlers.h
+++ b/MaterialLib/SolidModels/Ehlers.h
@@ -321,7 +321,7 @@ public:
         KelvinVector const& eps,
         KelvinVector const& sigma_prev,
         typename MechanicsBase<DisplacementDim>::MaterialStateVariables const&
-            material_state_variables) override;
+            material_state_variables, double const T, double const p) override;
 
     std::vector<typename MechanicsBase<DisplacementDim>::InternalVariable>
     getInternalVariables() const override;
diff --git a/MaterialLib/SolidModels/LinearElasticIsotropic.cpp b/MaterialLib/SolidModels/LinearElasticIsotropic.cpp
index 9aa837a7f7b711db90bf9efbe03cd54fdab24bc3..a16d07e79621f81e6201adeeb9165e2ee06f294f 100644
--- a/MaterialLib/SolidModels/LinearElasticIsotropic.cpp
+++ b/MaterialLib/SolidModels/LinearElasticIsotropic.cpp
@@ -27,7 +27,7 @@ LinearElasticIsotropic<DisplacementDim>::integrateStress(
     KelvinVector const& eps,
     KelvinVector const& sigma_prev,
     typename MechanicsBase<DisplacementDim>::MaterialStateVariables const&
-        material_state_variables)
+        material_state_variables, double const /*T*/, double const /*p*/)
 {
     KelvinMatrix C = KelvinMatrix::Zero();
 
diff --git a/MaterialLib/SolidModels/LinearElasticIsotropic.h b/MaterialLib/SolidModels/LinearElasticIsotropic.h
index a4468dc16c9d8a1da2fbe07fb431830f1c6180f6..11cfcc62de47876b64a1113b7a2b01a5891cfd71 100644
--- a/MaterialLib/SolidModels/LinearElasticIsotropic.h
+++ b/MaterialLib/SolidModels/LinearElasticIsotropic.h
@@ -121,7 +121,7 @@ public:
         KelvinVector const& eps,
         KelvinVector const& sigma_prev,
         typename MechanicsBase<DisplacementDim>::MaterialStateVariables const&
-            material_state_variables) override;
+            material_state_variables, double const T, double const p) override;
 
     MaterialProperties getMaterialProperties() {return _mp;}
 
diff --git a/MaterialLib/SolidModels/LinearElasticIsotropicPhaseField.h b/MaterialLib/SolidModels/LinearElasticIsotropicPhaseField.h
index 7314b1130fd3755cf758b056817d43e975eaa148..078f73b771dd4c76d5ff6be9ae1306969f08d71b 100644
--- a/MaterialLib/SolidModels/LinearElasticIsotropicPhaseField.h
+++ b/MaterialLib/SolidModels/LinearElasticIsotropicPhaseField.h
@@ -59,10 +59,11 @@ public:
         KelvinVector const& eps,
         KelvinVector const& sigma_prev,
         typename MechanicsBase<DisplacementDim>::MaterialStateVariables const&
-            material_state_variables) override
+            material_state_variables, double const T, double const p) override
     {
         return LinearElasticIsotropic<DisplacementDim>::integrateStress(
-            t, x, dt, eps_prev, eps, sigma_prev, material_state_variables);
+            t, x, dt, eps_prev, eps, sigma_prev, material_state_variables,
+            T, p);
     }
 
     double computeFreeEnergyDensity(
diff --git a/MaterialLib/SolidModels/Lubby2.cpp b/MaterialLib/SolidModels/Lubby2.cpp
index 97f40ac3bca4550a5791a7cb20257914197c9eeb..7133f9c4877ce4c8d690af154f1c3c14a5564bb6 100644
--- a/MaterialLib/SolidModels/Lubby2.cpp
+++ b/MaterialLib/SolidModels/Lubby2.cpp
@@ -80,7 +80,7 @@ Lubby2<DisplacementDim>::integrateStress(
     KelvinVector const& eps,
     KelvinVector const& /*sigma_prev*/,
     typename MechanicsBase<DisplacementDim>::MaterialStateVariables const&
-        material_state_variables)
+        material_state_variables, double const /*T*/, double const /*p*/)
 {
     using Invariants = MathLib::KelvinVector::Invariants<KelvinVectorSize>;
 
diff --git a/MaterialLib/SolidModels/Lubby2.h b/MaterialLib/SolidModels/Lubby2.h
index b37175ac51349ef41a342ac6d04e3aa8ddd14938..0c67aa9596a29be4ea4903abd2923dbee496a666 100644
--- a/MaterialLib/SolidModels/Lubby2.h
+++ b/MaterialLib/SolidModels/Lubby2.h
@@ -231,7 +231,7 @@ public:
         KelvinVector const& eps,
         KelvinVector const& sigma_prev,
         typename MechanicsBase<DisplacementDim>::MaterialStateVariables const&
-            material_state_variables) override;
+            material_state_variables, double const T, double const p) override;
 
 private:
     /// Calculates the 18x1 residual vector.
diff --git a/MaterialLib/SolidModels/MechanicsBase.h b/MaterialLib/SolidModels/MechanicsBase.h
index 40865893bdf352d1e915bff4ffd63c8c7e1f906f..2725bceeb47ece193498797a7efa9d4c0ddcc14b 100644
--- a/MaterialLib/SolidModels/MechanicsBase.h
+++ b/MaterialLib/SolidModels/MechanicsBase.h
@@ -77,7 +77,8 @@ struct MechanicsBase
                     Eigen::Matrix<double, Eigen::Dynamic, 1> const& eps_prev,
                     Eigen::Matrix<double, Eigen::Dynamic, 1> const& eps,
                     Eigen::Matrix<double, Eigen::Dynamic, 1> const& sigma_prev,
-                    MaterialStateVariables const& material_state_variables)
+                    MaterialStateVariables const& material_state_variables,
+                    double const T, double const p)
     {
         // TODO Avoid copies of data:
         // Using MatrixBase<Derived> not possible because template functions
@@ -89,7 +90,8 @@ struct MechanicsBase
         KelvinVector const sigma_prev_{sigma_prev};
 
         return integrateStress(
-            t, x, dt, eps_prev_, eps_, sigma_prev_, material_state_variables);
+            t, x, dt, eps_prev_, eps_, sigma_prev_, material_state_variables,
+            T, p);
     }
 
     /// Computation of the constitutive relation for specific material model.
@@ -107,7 +109,8 @@ struct MechanicsBase
                     KelvinVector const& eps_prev,
                     KelvinVector const& eps,
                     KelvinVector const& sigma_prev,
-                    MaterialStateVariables const& material_state_variables) = 0;
+                    MaterialStateVariables const& material_state_variables,
+                    double const T, double const p) = 0;
 
     /// Helper type for providing access to internal variables.
     struct InternalVariable
diff --git a/ProcessLib/HydroMechanics/HydroMechanicsFEM.h b/ProcessLib/HydroMechanics/HydroMechanicsFEM.h
index 917a07e1ae9f4429d6ea6f210010a8923fd96470..9ff2d7870058078479ab737a5e02b11ec2741d5c 100644
--- a/ProcessLib/HydroMechanics/HydroMechanicsFEM.h
+++ b/ProcessLib/HydroMechanics/HydroMechanicsFEM.h
@@ -12,6 +12,7 @@
 #include <memory>
 #include <vector>
 
+#include "MaterialLib/PhysicalConstant.h"
 #include "MaterialLib/SolidModels/LinearElasticIsotropic.h"
 #include "MathLib/KelvinVector.h"
 #include "MathLib/LinAlg/Eigen/EigenMapTools.h"
@@ -76,7 +77,8 @@ struct IntegrationPointData final
     {
         auto&& solution = solid_material.integrateStress(
             t, x_position, dt, eps_prev, eps, sigma_eff_prev,
-            *material_state_variables);
+            *material_state_variables,
+            MaterialLib::PhysicalConstant::RoomTemperature, 0.);
 
         if (!solution)
             OGS_FATAL("Computation of local constitutive relation failed.");
diff --git a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerMatrix-impl.h b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerMatrix-impl.h
index 7108123d3a86a3b326c3ef6b49c14c88280afe28..9b774a8c7f1cb3a00b5f6ccb49b24459eba32ccc 100644
--- a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerMatrix-impl.h
+++ b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerMatrix-impl.h
@@ -12,6 +12,7 @@
 #include "HydroMechanicsLocalAssemblerMatrix.h"
 
 #include "MathLib/KelvinVector.h"
+#include "MaterialLib/PhysicalConstant.h"
 #include "MeshLib/ElementStatus.h"
 #include "NumLib/Fem/CoordinatesMapping/NaturalNodeCoordinates.h"
 #include "ProcessLib/Deformation/LinearBMatrix.h"
@@ -235,7 +236,7 @@ void HydroMechanicsLocalAssemblerMatrix<ShapeFunctionDisplacement,
 
         auto&& solution = _ip_data[ip].solid_material.integrateStress(
             t, x_position, _process_data.dt, eps_prev, eps, sigma_eff_prev,
-            *state);
+            *state, MaterialLib::PhysicalConstant::RoomTemperature, 0.);
 
         if (!solution)
             OGS_FATAL("Computation of local constitutive relation failed.");
@@ -353,7 +354,7 @@ void HydroMechanicsLocalAssemblerMatrix<ShapeFunctionDisplacement,
 
         auto&& solution = _ip_data[ip].solid_material.integrateStress(
             t, x_position, _process_data.dt, eps_prev, eps, sigma_eff_prev,
-            *state);
+            *state, MaterialLib::PhysicalConstant::RoomTemperature, 0.);
 
         if (!solution)
             OGS_FATAL("Computation of local constitutive relation failed.");
diff --git a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrix-impl.h b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrix-impl.h
index 9ee66925223ae9d62a178fabe181fdf4d9f95752..8cb2e7275c2697c90e3cbc427de91be8ac6c43f3 100644
--- a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrix-impl.h
+++ b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrix-impl.h
@@ -16,6 +16,7 @@
 
 #include <Eigen/Eigen>
 
+#include "MaterialLib/PhysicalConstant.h"
 #include "MathLib/LinAlg/Eigen/EigenMapTools.h"
 
 #include "NumLib/Fem/ShapeMatrixPolicy.h"
@@ -145,7 +146,8 @@ void SmallDeformationLocalAssemblerMatrix<ShapeFunction, IntegrationMethod,
                     local_x.data(), ShapeFunction::NPOINTS * DisplacementDim);
 
         auto&& solution = _ip_data[ip]._solid_material.integrateStress(
-            t, x_position, _process_data.dt, eps_prev, eps, sigma_prev, *state);
+            t, x_position, _process_data.dt, eps_prev, eps, sigma_prev, *state,
+            MaterialLib::PhysicalConstant::RoomTemperature, 0.);
 
         if (!solution)
         {
diff --git a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h
index a335d79cd75a3e33a071ba4d2231761bfdb13e19..ea233855541e1b4b007253e1b44f86bf43eae5f7 100644
--- a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h
+++ b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h
@@ -16,6 +16,8 @@
 
 #include <Eigen/Eigen>
 
+#include "MaterialLib/PhysicalConstant.h"
+
 #include "MathLib/KelvinVector.h"
 #include "MathLib/LinAlg/Eigen/EigenMapTools.h"
 #include "MathLib/Point3d.h"
@@ -241,7 +243,8 @@ void SmallDeformationLocalAssemblerMatrixNearFracture<
         eps.noalias() = B * nodal_total_u;
 
         auto&& solution = _ip_data[ip]._solid_material.integrateStress(
-            t, x_position, _process_data.dt, eps_prev, eps, sigma_prev, *state);
+            t, x_position, _process_data.dt, eps_prev, eps, sigma_prev, *state,
+            MaterialLib::PhysicalConstant::RoomTemperature, 0.);
 
         if (!solution)
         {
diff --git a/ProcessLib/SmallDeformation/SmallDeformationFEM.h b/ProcessLib/SmallDeformation/SmallDeformationFEM.h
index 8fee02c9f8c23f135073079adefaceca20e0b222..0502b43d3565dfd239556051f592289cdd368891 100644
--- a/ProcessLib/SmallDeformation/SmallDeformationFEM.h
+++ b/ProcessLib/SmallDeformation/SmallDeformationFEM.h
@@ -12,6 +12,7 @@
 #include <memory>
 #include <vector>
 
+#include "MaterialLib/PhysicalConstant.h"
 #include "MaterialLib/SolidModels/LinearElasticIsotropic.h"
 #include "MathLib/LinAlg/Eigen/EigenMapTools.h"
 #include "NumLib/Extrapolation/ExtrapolatableElement.h"
@@ -248,7 +249,7 @@ public:
 
             auto&& solution = _ip_data[ip].solid_material.integrateStress(
                 t, x_position, _process_data.dt, eps_prev, eps, sigma_prev,
-                *state);
+                *state, MaterialLib::PhysicalConstant::RoomTemperature, 0.);
 
             if (!solution)
                 OGS_FATAL("Computation of local constitutive relation failed.");
diff --git a/ProcessLib/ThermoMechanics/ThermoMechanicsFEM.h b/ProcessLib/ThermoMechanics/ThermoMechanicsFEM.h
index d4aa7a2e83c8bed399ccd1f47c8ddd7246874877..d6d4291342fc6d024cfc8798560f07462acd6511 100644
--- a/ProcessLib/ThermoMechanics/ThermoMechanicsFEM.h
+++ b/ProcessLib/ThermoMechanics/ThermoMechanicsFEM.h
@@ -249,7 +249,8 @@ public:
             eps_m.noalias() =
                 eps - linear_thermal_strain * Invariants::identity2;
             auto&& solution = _ip_data[ip].solid_material.integrateStress(
-                t, x_position, dt, eps_m_prev, eps_m, sigma_prev, *state);
+                t, x_position, dt, eps_m_prev, eps_m, sigma_prev, *state,
+                delta_T + _process_data.reference_temperature, 0.);
 
             if (!solution)
                 OGS_FATAL("Computation of local constitutive relation failed.");