Efficient and flexible MATLAB implementation of 2D and 3D elastoplastic problems

作者:

Highlights:

摘要

Fully vectorized MATLAB implementation of various elastoplastic problems formulated in terms of displacement is considered. It is based on implicit time discretization, the finite element method and the semismooth Newton method. Each Newton iteration represents a linear system of equations with a tangent stiffness matrix. We propose a decomposition of this matrix consisting of three large sparse matrices representing the elastic stiffness operator, the strain-displacement operator, and the derivative of the stress-strain operator. The first two matrices are fixed and assembled once and only the third matrix needs to be updated in each iteration. Assembly times of the tangent stiffness matrices are linearly proportional to the number of plastic integration points in practical computations and never exceed the assembly time of the elastic stiffness matrix. MATLAB codes are available for download and provide complete finite element implementations in both 2D and 3D assuming von Mises and Drucker–Prager yield criteria. One can also choose several finite elements and numerical quadrature rules.

论文关键词:MATLAB code vectorization,Elastoplasticity,Finite element method,Tangential stiffness matrix,Semismooth Newton method

论文评审过程:Received 6 September 2018, Revised 18 December 2018, Accepted 18 February 2019, Available online 27 March 2019, Version of Record 27 March 2019.

论文官网地址:https://doi.org/10.1016/j.amc.2019.02.054