This is a Python code to test constitutive stress updates and associated computational plasticity algorithms.
Model | Elementary | Intermediate | Difficult | Research-Grade |
---|---|---|---|---|
von Mises (isotropic hardening) | 🗸 | |||
von Mises (isotropic hardening), variational update a | 🗸 | |||
Drucker-Prager | 🗸 | |||
Mohr-Coulomb | 🗸 | |||
Extended Mohr-Coulomb modelb | 🗸 | |||
Hardening soil modelb | 🗸 | |||
Concrete damage plasticity (Feenstra and De Borst)c | 🗸 | |||
Concrete damage plasticity (Lee and Fenves)c | 🗸 | |||
Burgers modelc | 🗸 | |||
Glen power law modelc | 🗸 |
a) Based on the following papers:
Ortiz, M. and Stainier, L. “The variational formulation of viscoplastic constitutive updates.” Computer Methods in Applied Mechanics and Engineering Volume 171, Issues 3–4, 9 April 1999, Pages 419-444.
Miehe, Christian, Apel, Nikolas and Lambrecht, Matthias. “Anisotropic additive plasticity in the logarithmic strain space: modular kinematic formulation and implementation based on incremental minimization principles for standard materials.” Computer Methods in Applied Mechanics and Engineering 191.47-48 (2002): 5383-5425.
b) Simplified version with only shear hardening mechanism; no pressure dependency, no Lode angle dependency
c) Not yet available; planned for inclusion in the near future
Complementarity smoothing of the loading-unloading (or Karush-Kuhn-Tucker) condition to avoid use of active set search in models with multiple-surfaces.
Global equilibrium solvers: pseudo-inverse, least-squares to handle rank-deficient consistent tangents (e.g., due to non-smooth or multiple yield surfaces).
Adaptive time stepping - time step cuts back when there is no convergence, increases when there is convergence.
Abaqus-like input file:
The implemented models are for educational purposes to explore advanced solution algorithms and study yield and hardening mechanisms.
Certain assumptions have been invoked to simplify implementations of certain models.
Due to the advanced algorithms considered, certain models may not interface with the solvers in commercial finite element programs.