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 nice (amazing) property that the plastic flow is exactly volume preserving $\det F^p = 1$. 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.
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 nice (amazing) property that the plastic flow is exactly volume preserving $\det F^p = 1$. 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.