From 9a1d9b0c71be5fad30fc895c6ecf58a6c3ca60e6 Mon Sep 17 00:00:00 2001
From: Wenqing Wang <wenqing.wang@ufz.de>
Date: Tue, 14 Aug 2018 09:40:28 +0200
Subject: [PATCH] [CreepBGRa] Introduced a local function for a coefficient
 computation

---
 MaterialLib/SolidModels/CreepBGRa.cpp | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/MaterialLib/SolidModels/CreepBGRa.cpp b/MaterialLib/SolidModels/CreepBGRa.cpp
index d09b7aff663..823729b02b6 100644
--- a/MaterialLib/SolidModels/CreepBGRa.cpp
+++ b/MaterialLib/SolidModels/CreepBGRa.cpp
@@ -20,6 +20,12 @@ namespace Solids
 {
 namespace Creep
 {
+double getCreepConstantCoefficient(const double A, const double n,
+                                   const double sigma0)
+{
+    return A * std::pow(1.5, 0.5 * (1 + n)) / std::pow(sigma0, n);
+}
+
 template <int DisplacementDim>
 boost::optional<std::tuple<typename CreepBGRa<DisplacementDim>::KelvinVector,
                            std::unique_ptr<typename MechanicsBase<
@@ -48,10 +54,11 @@ CreepBGRa<DisplacementDim>::integrateStress(
     const double sigma0 = _sigma_f(t, x)[0];
     const double Q = _q(t, x)[0];
 
-    const double coef = A * std::pow(1.5, 0.5 * (1 + n)) / std::pow(sigma0, n);
+    const double constant_coefficient =
+        getCreepConstantCoefficient(A, n, sigma0);
 
     const double b =
-        dt * coef *
+        dt * constant_coefficient *
         std::exp(-Q / (MaterialLib::PhysicalConstant::IdealGasConstant * T));
     auto const& deviatoric_matrix = Invariants::deviatoric_projection;
 
@@ -122,8 +129,10 @@ double CreepBGRa<DisplacementDim>::getTemperatureRelatedCoefficient(
     const double sigma0 = _sigma_f(t, x)[0];
     const double Q = _q(t, x)[0];
 
-    const double coef = A * std::pow(1.5, 0.5 * (1 + n)) / std::pow(sigma0, n);
-    return 2.0 * coef *
+    const double constant_coefficient =
+        getCreepConstantCoefficient(A, n, sigma0);
+
+    return 2.0 * constant_coefficient *
            std::exp(-Q /
                     (MaterialLib::PhysicalConstant::IdealGasConstant * T)) *
            this->_mp.mu(t, x) * std::pow(deviatoric_stress_norm, n - 1) * dt *
-- 
GitLab