Skip to content
Snippets Groups Projects
Commit 9a1d9b0c authored by wenqing's avatar wenqing
Browse files

[CreepBGRa] Introduced a local function for a coefficient computation

parent d3e8bdcd
No related branches found
No related tags found
No related merge requests found
...@@ -20,6 +20,12 @@ namespace Solids ...@@ -20,6 +20,12 @@ namespace Solids
{ {
namespace Creep 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> template <int DisplacementDim>
boost::optional<std::tuple<typename CreepBGRa<DisplacementDim>::KelvinVector, boost::optional<std::tuple<typename CreepBGRa<DisplacementDim>::KelvinVector,
std::unique_ptr<typename MechanicsBase< std::unique_ptr<typename MechanicsBase<
...@@ -48,10 +54,11 @@ CreepBGRa<DisplacementDim>::integrateStress( ...@@ -48,10 +54,11 @@ CreepBGRa<DisplacementDim>::integrateStress(
const double sigma0 = _sigma_f(t, x)[0]; const double sigma0 = _sigma_f(t, x)[0];
const double Q = _q(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 = const double b =
dt * coef * dt * constant_coefficient *
std::exp(-Q / (MaterialLib::PhysicalConstant::IdealGasConstant * T)); std::exp(-Q / (MaterialLib::PhysicalConstant::IdealGasConstant * T));
auto const& deviatoric_matrix = Invariants::deviatoric_projection; auto const& deviatoric_matrix = Invariants::deviatoric_projection;
...@@ -122,8 +129,10 @@ double CreepBGRa<DisplacementDim>::getTemperatureRelatedCoefficient( ...@@ -122,8 +129,10 @@ double CreepBGRa<DisplacementDim>::getTemperatureRelatedCoefficient(
const double sigma0 = _sigma_f(t, x)[0]; const double sigma0 = _sigma_f(t, x)[0];
const double Q = _q(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 =
return 2.0 * coef * getCreepConstantCoefficient(A, n, sigma0);
return 2.0 * constant_coefficient *
std::exp(-Q / std::exp(-Q /
(MaterialLib::PhysicalConstant::IdealGasConstant * T)) * (MaterialLib::PhysicalConstant::IdealGasConstant * T)) *
this->_mp.mu(t, x) * std::pow(deviatoric_stress_norm, n - 1) * dt * this->_mp.mu(t, x) * std::pow(deviatoric_stress_norm, n - 1) * dt *
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment