LLNL / serac

Serac is a high order nonlinear thermomechanical simulation code
BSD 3-Clause "New" or "Revised" License
173 stars 30 forks source link

Implement finite deformation log strain J2 plasticity #1149

Closed btalamini closed 2 weeks ago

btalamini commented 4 weeks ago

Implements a J2 plasticity model for finite deformation. The model is based on the multiplicative decomposition $F = F^e F^p$, and the elastic response is hyperelastic and isotropic using the logarithmic elastic strain.

Implementation details: The update of the plastic distortion tensor $F^p$ is through the first order exponential integrator, $F^p{n+1} = \exp(\Delta \bar{\epsilon}^p N^p) F^p{n} $. This technique, from Weber and Anand, has the special property that the plastic flow is exactly volume preserving. Another nice feature is that the most of the algorithm coincides with the small strain one, except for a small amount of pre- and post-processing to account for the finite deformation kinematics. We could easily implement this model and the linear version in the same struct, with just a few helper functions. For now, I'm leaving it separate.

btalamini commented 2 weeks ago

@samuelpmishLLNL and @tupek2, this is ready for review.