damage.hpp
Overview
Functions for damage mechanics modeling and damage evolution laws, including Weibull and Manson-Coffin damage models.
API Reference
-
double damage_weibull(const arma::vec &stress, const double &damage, const double &alpha, const double &beta, const double &DTime, const std::string &criterion = "vonmises")
Provides the damage evolution \( \delta D \) considering a Weibull damage law.
It is given by : \( \Delta D = (1-D_{old})*\Big(1-exp\big(-1(\frac{crit}{\beta})^{\alpha}\big)\Big) \) Parameters of this function are: the stress vector \( \sigma \), the old damage \( D_{old} \), the shape parameter \( \alpha \), the scale parameter \( \beta \), the time increment \( \Delta T \) and the criterion (which is a string). The criterion possibilities are : “vonmises” : \( crit = \sigma_{Mises} \) “hydro” : \( crit = tr(\sigma) \) “J3” : \( crit = J3(\sigma) \) Default value of the criterion is “vonmises”.
double varD = damage_weibull(stress, damage, alpha, beta, DTime, criterion);
- Parameters:
stress – The stress vector \( \sigma \)
damage – The old damage \( D_{old} \)
alpha – The shape parameter \( \alpha \)
beta – The scale parameter \( \beta \)
DTime – The time increment \( \Delta T \)
criterion – The criterion (default is “vonmises”)
- Returns:
The damage evolution \( \delta D \)
-
double damage_kachanov(const arma::vec &stress, const arma::vec &strain, const double &damage, const double &A0, const double &r, const std::string &criterion)
Provides the damage evolution \( \delta D \) considering a Weibull damage law.
It is given by : \( \delta D = \Big(\frac{crit}{A_0(1-D_{old})}\Big)^r \) the stress vector \( \sigma \), the strain vector \( \epsilon \), the old damage \( D_{old} \), the material properties characteristic of creep damage \( A_0 \), \( r \) and the criterion (which is a string). The criterion possibilities are : “vonmises” : \( crit = \sigma_{Mises} \) “hydro” : \( crit = tr(\sigma) \) “J3” : \( crit = J3(\sigma) \) Here, the criterion has no default value.
varD = damage_kachanov(stress, strain, damage, A0, r, criterion);
- Parameters:
stress – The stress vector \( \sigma \)
strain – The strain vector \( \epsilon \)
damage – The old damage \( D_{old} \)
A0 – The material properties characteristic of creep damage \( A_0 \)
r – The parameter \( r \)
criterion – The criterion (which is a string)
- Returns:
The damage evolution \( \delta D \)
-
double damage_miner(const double &S_max, const double &S_mean, const double &S_ult, const double &b, const double &B0, const double &beta, const double &Sl_0 = 0.)
Provides the constant damage evolution \( \Delta D \) considering a Woehler- Miner’s damage law.
It is given by : \( \Delta D = \big(\frac{S_{Max}-S_{Mean}+Sl_0*(1-b*S_{Mean})}{S_{ult}-S_{Max}}\big)*\big(\frac{S_{Max}-S_{Mean}}{B_0*(1-b*S_{Mean})}\big)^\beta \) Parameters of this function are: the max stress value \( \sigma_{Max} \), the mean stress value \(\ sigma_{Mean} \), the “ultimate” stress value \( \sigma_{ult} \), the parameter \( b \), the parameter \( B_0 \), the parameter \( \beta \) and the parameter \( Sl_0 \). Default value of :math:
Sl_0is 0.0.double varD = damage_miner(S_max, S_mean, S_ult, b, B0, beta, Sl_0);
- Parameters:
S_max – The max stress value \( \sigma_{Max} \)
S_mean – The mean stress value \(\ sigma_{Mean} \)
S_ult – The “ultimate” stress value \( \sigma_{ult} \)
b – The parameter \( b \)
B0 – The parameter \( B_0 \)
beta – The parameter \( \beta \)
Sl_0 – The parameter \( Sl_0 \) (default is 0.0)
- Returns:
The damage evolution \( \delta D \)
-
double damage_manson(const double &S_amp, const double &C2, const double &gamma2)
Provides the constant damage evolution \( \Delta D \) considering a Coffin-Manson’s damage law.
It is given by : \( \Delta D = \big(\frac{\sigma_{Amp}}{C_{2}}\big)^{\gamma_2} \) Parameters of this function are: the stress amplitude \( \sigma_{Amp} \), the parameter \( C_2 \) and the parameter \( \gamma_2 \).
double varD = damage_manson(S_amp, C2, gamma2);
- Parameters:
S_amp – The stress amplitude \( \sigma_{Amp} \)
C2 – The parameter \( C_2 \)
gamma2 – The parameter \( \gamma_2 \)
- Returns:
The damage evolution \( \delta D \)