Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F78588166
material_damage_linear_inline_impl.hh
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Wed, Aug 21, 19:56
Size
1 KB
Mime Type
text/x-c++
Expires
Fri, Aug 23, 19:56 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
20070937
Attached To
rAKA akantu
material_damage_linear_inline_impl.hh
View Options
/**
* @file material_damage_linear_inline_impl.hh
*
* @author Nicolas Richart <nicolas.richart@epfl.ch>
* @author Marion Estelle Chambart <marion.chambart@epfl.ch>
*
*
* @brief Implementation of the inline functions of the material damage linear
*
*
* Copyright (©) 2010-2012, 2014 EPFL (Ecole Polytechnique Fédérale de Lausanne)
* Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
*
*/
/* -------------------------------------------------------------------------- */
template <Int spatial_dimension>
inline void MaterialDamageLinear<spatial_dimension>::computeStressOnQuad(
Matrix<Real> & grad_u, Matrix<Real> & sigma, Real & dam, Real & K) {
Real Fdiag[3];
Real Fdiagp[3];
Math::matrix33_eigenvalues(grad_u.data(), Fdiag);
Fdiagp[0] = std::max(0., Fdiag[0]);
Fdiagp[1] = std::max(0., Fdiag[1]);
Fdiagp[2] = std::max(0., Fdiag[2]);
Real Ehat = sqrt(Fdiagp[0] * Fdiagp[0] + Fdiagp[1] * Fdiagp[1] +
Fdiagp[2] * Fdiagp[2]);
MaterialElastic<spatial_dimension>::computeStressOnQuad(grad_u, sigma);
Real Fd = Ehat - K;
if (Fd > 0) {
dam = (Ehat - Epsmin) / (Epsmax - Epsmin) * (Ehat / Epsmax);
dam = std::min(dam, 1.);
K = Ehat;
}
sigma *= 1 - dam;
}
Event Timeline
Log In to Comment