Commit cb25bd34 authored by Antoine Jacquey's avatar Antoine Jacquey

Added damage heat

parent c9c43cec
......@@ -54,6 +54,7 @@ protected:
virtual Real getConvexProjection(const Real & x1, const Real & x2);
virtual Real strainRatio(const RankTwoTensor & elastic_strain);
virtual RankTwoTensor rotatedElasticStrain(const RankTwoTensor & elastic_strain);
virtual void computeQpThermalSources() override;
// Coupled variables
bool _coupled_dam;
......@@ -86,6 +87,7 @@ protected:
// Damage properties
MaterialProperty<Real> & _damage_rate;
MaterialProperty<Real> & _damage_heat;
};
#endif // LYNXDAMAGEDEFORMATION_H
......@@ -73,7 +73,7 @@ protected:
virtual void updateCreepParameters();
virtual Real rootBrent(iterative_viscous & viscous_model, const Real x1, const Real x2);
virtual Real rootNewtonSafe(iterative_viscous & viscous_model, const Real x1, const Real x2);
void computeQpThermalSources();
virtual void computeQpThermalSources();
// Coupled variables
unsigned int _ndisp;
......
......@@ -86,7 +86,8 @@ LynxDamageDeformation::LynxDamageDeformation(const InputParameters & parameters)
_dstress_ddamage(declareProperty<RankTwoTensor>("dstress_ddamage")),
_ddamage_rate_dstrain(declareProperty<RankTwoTensor>("ddamage_rate_dstrain")),
// Damage properties
_damage_rate(declareProperty<Real>("damage_rate"))
_damage_rate(declareProperty<Real>("damage_rate")),
_damage_heat(declareProperty<Real>("damage_heat"))
{
_has_plasticity = isParamValid("friction_angle");
......@@ -628,3 +629,19 @@ LynxDamageDeformation::rotatedElasticStrain(const RankTwoTensor & elastic_strain
return strain_rot;
}
void
LynxDamageDeformation::computeQpThermalSources()
{
LynxDeformationBase::computeQpThermalSources();
if (_has_plasticity)
{
Real I2 = Utility::pow<2>(_elastic_strain[_qp].L2norm());
Real xi = strainRatio(_elastic_strain[_qp]);
Real dPsi_dalpha = _damage_plasticity->_gamma * I2 * (xi - _damage_plasticity->_xi0);
_damage_heat[_qp] = dPsi_dalpha * _damage_rate[_qp];
}
else
_damage_heat[_qp] = 0.0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment