The Material Point Method
Scientific Computation
Series Editors
Jean-Jacques Chattot, University of California, Davis, CA, USA
Phillip Colella, University of California at Berkeley, Berkeley, CA, USA
M. Yousuff Hussaini, Florida State University, Tallahassee, FL, USA
Patrick Joly, Applied Mathematics department of l’ENSTA Paris (UMA),
Le Chesnay, France
Olivier Pironneau, Université Paris VI, Paris, France
Alfio Quarteroni, École Polytechnique Fédérale de Lausanne, Lausanne,
Switzerland
Jacques Rappaz, École Polytechnique Fédérale de Lausanne, Lausanne,
Switzerland
Robert Rosner, University of Chicago, Chicago, IL, USA
P. Sagaut, Université Pierre et Marie Curie, Paris, France
John H. Seinfeld, California Institute of Technology, Pasadena, CA, USA
Anders Szepessy, Royal Institute of Technology (KTH), Stockholm, Sweden
Mary F. Wheeler, University of Texas, Austin, TX, USA
Vinh Phu Nguyen · Alban de Vaucorbeil ·
Stephane Bordas
The Material Point Method
Theory, Implementations and Applications
Vinh Phu Nguyen                                         Alban de Vaucorbeil
Department of Civil Engineering                         Institute for Frontier Materials
Monash University                                       Deakin University
Clayton, VIC, Australia                                 Geelong, VIC, Australia
Stephane Bordas
University of Luxembourg Campus
Kirchberg
Luxembourg, Luxembourg
ISSN 1434-8322                     ISSN 2198-2589 (electronic)
Scientific Computation
ISBN 978-3-031-24069-0             ISBN 978-3-031-24070-6 (eBook)
https://doi.org/10.1007/978-3-031-24070-6
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature
Switzerland AG 2023
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether
the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse
of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and
transmission or information storage and retrieval, electronic adaptation, computer software, or by similar
or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors, and the editors are safe to assume that the advice and information in this book
are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or
the editors give a warranty, expressed or implied, with respect to the material contained herein or for any
errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface
Computer simulations have become an integral tool in engineering, ranging from civil
and mechanical engineering to material sciences and beyond. While the finite element
method (FEM) has long been the standard framework for simulations, it reaches its
limits when dealing with problems involving large deformation and fractures. To
overcome these limitations, meshless methods (MMs) such as smoothed-particle
hydrodynamics (SPH) and the material point method (MPM) have emerged as a
promising alternative. MPM, in particular, combines the advantages of FEM and
MMs, representing the material by a set of particles overlaid on a background mesh.
This approach has been successful in simulating a wide variety of large-deformation
and complicated engineering problems.
   The book not only re-examines previous contributions but also organizes them
in a coherent fashion and anticipates new advancements. Sample algorithms for
benchmark problems are available on the book’s website, allowing researchers and
graduate students to modify them and develop their own solution algorithms for
specific problems. The goal of this book is to provide students and researchers with a
theoretical and practical knowledge of the material point method for the simulation
of engineering problems, and to promote further in-depth studies in the field.
   This book aims at being a comprehensive guide to the Material Point Method
that focuses on its use in solving problems in mechanics, physics and engineering.
The book contains nine main chapters that build on each other to provide a detailed
understanding of the MPM.
   Chapter 1 provides an introduction to the Material Point Method and its advantages
over other numerical methods. It also gives an overview of the topics covered in the
book.
   Chapter 2 covers the mathematical foundations of the MPM. It discusses the
principles of continuum mechanics, the kinematic description of motion and the
integration algorithms used in the MPM.
   Chapter 3 presents different MPM versions that basically adopt different shape
functions, e.g. hat functions, B-splines, Bernstein, GIMP and CPDI. Also treated is a
new formulation called generalized particle in cell (GPIC) which combines the FEM
and MPM that takes advantages of both methods.
                                                                                    v
vi                                                                                Preface
    Chapter 4 covers the constitutive models used in the MPM. This includes linear
elastic isotropic materials, hyperelastic solids and elasto-plastic materials. The
chapter also discusses the Johnson-Cook flow model and the algorithm used to
compute damage.
    Chapter 5 provides some implementation details such as particle generation for
simple geometries and for images, initial and boundary conditions, MPM with
unstructured grids and visualization of MPM results.
    Chapter 6 presents a tutorial MPM code written in MATLAB. This code serves
to illustrate the MPM algorithms discussed in the book and it can be used to solve
one, two and three dimensional problems.
    Chapter 7 describes Karamelo—an open-source parallel C++ package for the
material point method. This code can be used to solve large-scale problems as it can
be run on multiple processors using MPI. With such an efficient code, we present
three dimensional simulations to demonstrate the capability of the MPM in solving
large deformation solid mechanics problems.
    Chapter 8 presents some advanced topics such as contacts and fracture. Both
frictionless and frictional contact are discussed. One notable application of these
contact algorithms is the simulation of scratch test—a popular mechanical test to
measure a solid’s hardness. We then discuss fracture modeling in the framework of
the MPM. Application of the MPM to model large strain ductile fracture of metals
is then provided.
    Chapter 9 discusses the mathematical analysis of the MPM regarding its stability
and accuracy. We discuss the conservation of energy and momenta in various MPM
variants. We study the convergence behavior of all MPM variants discussed in this
book for a problem involving only compression/tension deformation and another
problem involving simple shear with superimposed rotation.
    Chapter 10 discusses fluid/gases modeling, membrane modeling and heat conduc-
tion. With the information provided in this chapter, one can carry out fluid-structure
interaction simulations, air-bag simulations and thermo-mechanical simulations.
    In addition to the content of the main chapters, the book has several appendices that
provide supplementary information. Appendix A discusses the strong and weak form
of the momentum equation and their equivalence. Appendix B presents derivation of
various CPDI basis functions. Some useful utilities such as how to use an open-source
computer algebra system (SageMath and SymPy) to derive CPDI functions, how to
use remote machines to run large-scale simulations and consistent units are given
in Appendix C. Appendix D gives a short but practical presentation of updated and
total Lagrangian, explicit dynamics FEM for nonlinear solid mechanics. Appendix
E treats implicit dynamics FEM so that it is easier to understand implicit MPM (even
though this is not discussed in this book). Finally, we describe another MPM code in
Appendix F, now written in Julia—a new high-level dynamic programming language
which is easy to use as Python and as fast as C.
    The book also includes several simulations related to these topics. The book
provides sample algorithms for benchmark problems, which are available on the
Preface                                                                                   vii
book’s website. These algorithms can be modified and used to develop custom solu-
tion algorithms for specific problems. The book includes MATLAB, Julia and C++
codes, derivations, and references to other studies in the field.
   We would like to thank Prof. Deborah Sulsky at University of New Mexico for
reading through the first draft and giving comments. Also, the first author acknowl-
edges the fruitful discussions with Dr. Rebecca Brannon at University of Utah when
he started working on the MPM.
Clayton, Australia                                                      Vinh Phu Nguyen
Geelong, Australia                                                    Alban de Vaucorbeil
Luxembourg, Luxembourg                                                   Stephane Bordas
Reference
Zhang, X., Chen, Z., Liu, Y.: The Material Point Method-A Continuum-Based Particle Method for
   Extreme Loading Cases. Academic Press, Cambridge (2016a)
Contents
1   Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      1
    1.1 Computational Sciences and Engineering . . . . . . . . . . . . . . . . . . . .                                    1
    1.2 The Role of Experiments in CSE . . . . . . . . . . . . . . . . . . . . . . . . . . .                              3
    1.3 One Dimensional Wave Equation . . . . . . . . . . . . . . . . . . . . . . . . . . .                               3
    1.4 Mesh-Based and Meshfree Methods . . . . . . . . . . . . . . . . . . . . . . . .                                   9
          1.4.1 Mesh-Based Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                              9
          1.4.2 Meshless Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         12
    1.5 A Brief Introduction to the MPM . . . . . . . . . . . . . . . . . . . . . . . . . . .                            14
          1.5.1 Lagrangian Particles and Eulerian Grid . . . . . . . . . . . . . .                                       14
          1.5.2 The Basic MPM Algorithm . . . . . . . . . . . . . . . . . . . . . . . .                                  16
          1.5.3 Advantages and Disadvantages of the MPM . . . . . . . . . .                                              18
          1.5.4 Existing MPM Formulations . . . . . . . . . . . . . . . . . . . . . . .                                  19
          1.5.5 Multiphysics MPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           24
          1.5.6 Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               24
          1.5.7 Fracture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               27
          1.5.8 Fluids and Gases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       30
          1.5.9 The MPM Versus Other Methods . . . . . . . . . . . . . . . . . . .                                       31
          1.5.10 Coupling the MPM with Other Methods . . . . . . . . . . . . .                                           33
    1.6 Applications of the MPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      34
          1.6.1 Large Strain Geo-Technical Engineering . . . . . . . . . . . . .                                         34
          1.6.2 Fluid-Structure Interaction . . . . . . . . . . . . . . . . . . . . . . . . .                            35
          1.6.3 Image-Based Simulations . . . . . . . . . . . . . . . . . . . . . . . . . .                              37
          1.6.4 Computer Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          38
          1.6.5 Other Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       38
    1.7 Open Source and Commercial MPM Codes . . . . . . . . . . . . . . . . . .                                         39
    1.8 Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       40
    1.9 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          42
    References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   44
                                                                                                                         ix
x                                                                                                                  Contents
2   A General MPM for Solid Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . .                              57
    2.1 Basic Concepts of Continuum Mechanics . . . . . . . . . . . . . . . . . . . .                                    58
          2.1.1 Motion and Deformation . . . . . . . . . . . . . . . . . . . . . . . . . . .                             58
          2.1.2 Strain Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      60
          2.1.3 Stress Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      61
          2.1.4 Objective Stress Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         62
          2.1.5 Conservation Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           62
          2.1.6 Constitutive Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        63
    2.2 Strong Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            63
    2.3 Weak Form and Spatial Discretization . . . . . . . . . . . . . . . . . . . . . . .                               65
    2.4 MPM as FEM with Particles as Integration Points . . . . . . . . . . . . .                                        69
    2.5 Temporal Discretization and Resulting MPM Algorithms . . . . . .                                                 70
          2.5.1 Lumped Mass Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           71
          2.5.2 Calculation of Nodal Velocities (Momenta) . . . . . . . . . . .                                          72
          2.5.3 Standard Formulation (USL) . . . . . . . . . . . . . . . . . . . . . . .                                 73
          2.5.4 Modified Update Stress Last (MUSL) . . . . . . . . . . . . . . . .                                       79
          2.5.5 Update Stress First (USF) . . . . . . . . . . . . . . . . . . . . . . . . . .                            81
    2.6 Total Lagrangian MPM (TLMPM) . . . . . . . . . . . . . . . . . . . . . . . . . .                                 82
          2.6.1 Motivation: Numerical Fracture . . . . . . . . . . . . . . . . . . . . .                                 82
          2.6.2 Derivation of TLMPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                            83
    2.7 Axi-Symmetric MPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      86
          2.7.1 Axi-Symmetric ULMPM . . . . . . . . . . . . . . . . . . . . . . . . . .                                  87
          2.7.2 Axi-Symmetric TLMPM . . . . . . . . . . . . . . . . . . . . . . . . . . .                                88
    2.8 Adaptive Time Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 89
    2.9 Particle/Element Inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     90
    2.10 Adaptivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        91
          2.10.1 Grid Adaptive Refinement . . . . . . . . . . . . . . . . . . . . . . . . .                              91
          2.10.2 Particle Splitting and Merging . . . . . . . . . . . . . . . . . . . . . .                              92
    References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   92
3   Various MPM Formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      95
    3.1 Properties of Weighting Functions . . . . . . . . . . . . . . . . . . . . . . . . . .                             95
    3.2 Standard Linear Basis Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           96
    3.3 Generalized Interpolation Material Point (GIMP) . . . . . . . . . . . . .                                         99
          3.3.1 uGIMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                101
          3.3.2 cpGIMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 102
    3.4 B-Splines Basis Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      104
          3.4.1 Recursive B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        104
          3.4.2 Boundary Modified B-Splines . . . . . . . . . . . . . . . . . . . . . .                                  105
    3.5 Bernstein Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  107
    3.6 Convected Particle Domain Interpolation . . . . . . . . . . . . . . . . . . . .                                  109
          3.6.1 One Dimensional Linear CPDI (CPDI-L2) . . . . . . . . . . .                                              109
          3.6.2 Convected Particle Domain Interpolation
                 (CPDI-R4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 110
Contents                                                                                                                   xi
               3.6.3 Quadrilateral Convected Particle Domain
                     Interpolation (CPDI-Q4) . . . . . . . . . . . . . . . . . . . . . . . . . . .                        113
           3.6.4 Triangular Convected Particle Domain
                     Interpolation (CPDI-T3) . . . . . . . . . . . . . . . . . . . . . . . . . . .                        114
           3.6.5 Three Dimensional Linear Tetrahedron CPDI
                     (CPDI-Tet4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                115
           3.6.6 Polygonal and Polyhedral CPDI . . . . . . . . . . . . . . . . . . . .                                    115
           3.6.7 Complications in GIMP/CPDIs . . . . . . . . . . . . . . . . . . . . .                                    117
     3.7 The Generalized Particle in Cell Method . . . . . . . . . . . . . . . . . . . . .                                120
           3.7.1 General Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         121
           3.7.2 Computation of Mass and Forces on FE Meshes . . . . . . .                                                123
           3.7.3 Finite Element Basis Functions . . . . . . . . . . . . . . . . . . . . .                                 125
           3.7.4 Equivalence Between CPDI and GPIC . . . . . . . . . . . . . . .                                          126
           3.7.5 Axi-Symmetric GPIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                             127
     References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   128
4    Constitutive Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            131
     4.1 Linear Elastic Isotropic Material . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        131
     4.2 Hyperelastic Solids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                132
     4.3 Elasto-Plastic Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   132
           4.3.1 Equation of State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      133
           4.3.2 Johnson-Cook Flow Model . . . . . . . . . . . . . . . . . . . . . . . . .                                134
           4.3.3 Damage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 135
           4.3.4 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  136
     References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   137
5    Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         139
     5.1 Initial Particle Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  139
           5.1.1 Regular Particle Distribution . . . . . . . . . . . . . . . . . . . . . . .                              140
           5.1.2 Irregular Particle Distribution . . . . . . . . . . . . . . . . . . . . . . .                            141
           5.1.3 Particle Distribution from CAD . . . . . . . . . . . . . . . . . . . . .                                 142
           5.1.4 Particle Distribution from Images . . . . . . . . . . . . . . . . . . .                                  143
     5.2 Initial and Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          146
           5.2.1 Dirichlet Boundary Conditions . . . . . . . . . . . . . . . . . . . . .                                  146
           5.2.2 Symmetric Boundary Conditions . . . . . . . . . . . . . . . . . . . .                                    147
           5.2.3 Neumann Boundary Conditions . . . . . . . . . . . . . . . . . . . . .                                    148
           5.2.4 Neumann Boundary Conditions with CPDI . . . . . . . . . . .                                              148
           5.2.5 Boundary Conditions in GPIC . . . . . . . . . . . . . . . . . . . . . .                                  149
           5.2.6 Rigid Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   151
     5.3 Implementation of CPDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       153
     5.4 MPM Using an Unstructured Grid . . . . . . . . . . . . . . . . . . . . . . . . . .                               154
           5.4.1 Shape Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      154
           5.4.2 Particle Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      155
           5.4.3 Mixed Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      155
           5.4.4 uMPM with C 1 Shape Functions . . . . . . . . . . . . . . . . . . . .                                    156
     5.5 Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            156
     References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   157
xii                                                                                                                  Contents
6     MPMat: A MPM Matlab Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           161
      6.1 Code Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             162
      6.2 Background Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                162
      6.3 Particle Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          165
      6.4 Particle Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                166
            6.4.1 Particle Generation Using a Mesh . . . . . . . . . . . . . . . . . . .                                   166
            6.4.2 Particle Generation for Simple Geometries . . . . . . . . . . .                                          166
      6.5 Solution Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 168
      6.6 Three Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 170
      6.7 Implementation of (u/cp)GIMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           171
      6.8 B-splines MPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                172
            6.8.1 Recursive B-splines MPM . . . . . . . . . . . . . . . . . . . . . . . . .                                172
            6.8.2 Bézier Extraction B-splines MPM . . . . . . . . . . . . . . . . . . .                                    174
      6.9 Implementation of CPDI-R4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          175
            6.9.1 Data Structure for Particles . . . . . . . . . . . . . . . . . . . . . . . . .                           175
            6.9.2 Evaluation of φ I p and ∇φ I p . . . . . . . . . . . . . . . . . . . . . . . .                           175
            6.9.3 Time Advance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     176
      6.10 Implementation of CPDI2s (CPDI-Q4, CPDI-T3) . . . . . . . . . . . . .                                           177
      6.11 Implementation of CPDI-Poly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         180
      6.12 Visualization Toolkit (VTK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       181
      6.13 Some Efficiency Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          183
      6.14 More Improvements Using MEX Files . . . . . . . . . . . . . . . . . . . . . .                                   184
      6.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          185
            6.15.1 One Dimensional Examples . . . . . . . . . . . . . . . . . . . . . . . .                                186
            6.15.2 Impact of Two Elastic Disks . . . . . . . . . . . . . . . . . . . . . . . .                             189
            6.15.3 High Velocity Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        195
            6.15.4 Large Deformation Vibration of a Compliant
                      Cantilever Beam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  195
            6.15.5 Lateral Compression of Thin-Walled Tubes . . . . . . . . . . .                                          199
      References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   203
7     Karamelo: A Multi-CPU/GPU C++ Parallel MPM Code . . . . . . . . . .                                                  205
      7.1 Karamelo in a Nutshell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       206
      7.2 Hierarchical Class System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      206
      7.3 Pre and Post-processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                    207
      7.4 Input Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          208
      7.5 Parallelization Using MPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      210
      7.6 Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            211
      7.7 Extending Karamelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   211
      7.8 GPU Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              213
      7.9 Some Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 213
           7.9.1 Taylor Anvil Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       214
           7.9.2 Upsetting of a Cylindrical Billet . . . . . . . . . . . . . . . . . . . .                                 218
           7.9.3 Cold Spraying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     220
           7.9.4 Scalability Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     222
Contents                                                                                                                  xiii
     7.10 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
     References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
8    Contact and Fracture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             227
     8.1 Contacts in the ULMPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        227
           8.1.1 Contact Without Friction . . . . . . . . . . . . . . . . . . . . . . . . . . .                           229
           8.1.2 Contact with Coulomb Friction . . . . . . . . . . . . . . . . . . . . .                                  230
           8.1.3 Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 231
           8.1.4 Calculation of Normal Vector . . . . . . . . . . . . . . . . . . . . . . .                               233
           8.1.5 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  235
           8.1.6 Contact Between a Deformable Solid and a Rigid
                     Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         237
           8.1.7 Matlab Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . .                            237
           8.1.8 Differences of MPM Contacts with Other Contacts . . . .                                                  242
           8.1.9 Final Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                    242
     8.2 Contacts in the TLMPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      242
           8.2.1 Enforcing Non-penetration . . . . . . . . . . . . . . . . . . . . . . . . .                              244
           8.2.2 Complete Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           245
     8.3 Contact in GPIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                247
     8.4 Contact Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  248
           8.4.1 Test 1: Collision of Two Compressible
                     Neo-Hookean Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      249
           8.4.2 Test 2: High Velocity Impact of a Steel Disk Onto
                     an Aluminum Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       254
           8.4.3 Test 3: Contact of a Rigid Sphere with a Half Plane . . . .                                              255
           8.4.4 Test 4: Cylinder Rolling on an Inclined Plane . . . . . . . . .                                          259
           8.4.5 Test 5: Stress Wave in a Granular Material . . . . . . . . . . . .                                       262
           8.4.6 Test 6: Penetration of a Steel Sphere Into
                     an Aluminium Cylinder . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        265
           8.4.7 Test 7: Scratch Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       267
     8.5 Fracture Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                274
           8.5.1 Fracture Modeling Within the MPM Framework . . . . . .                                                   276
           8.5.2 Variational Fracture Theories . . . . . . . . . . . . . . . . . . . . . . .                              277
           8.5.3 Implementation of Variational Fracture
                     Phase-Field Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                    281
           8.5.4 Nonlocal Johnson-Cook Damage Models . . . . . . . . . . . . .                                            283
     8.6 Some Fracture Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        287
           8.6.1 Tensile Test Specimen Experiencing Necking
                     and Damage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 287
           8.6.2 Double Circular Notched Specimen . . . . . . . . . . . . . . . . .                                       290
           8.6.3 Compact Tension Specimen . . . . . . . . . . . . . . . . . . . . . . . .                                 291
           8.6.4 Machining Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . .                            293
           8.6.5 High Velocity Impact of a Bullet Into a Steel Plate . . . . .                                            295
     References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   299
xiv                                                                                                                  Contents
9     Stability, Accuracy and Recent Improvements . . . . . . . . . . . . . . . . . . .                                    305
      9.1 Energy and Momenta Conservation . . . . . . . . . . . . . . . . . . . . . . . . .                                306
             9.1.1 Linear Momentum Conservation . . . . . . . . . . . . . . . . . . . .                                    306
             9.1.2 Angular Momentum Conservation . . . . . . . . . . . . . . . . . . .                                     307
             9.1.3 Total Energy Conservation . . . . . . . . . . . . . . . . . . . . . . . . .                             309
      9.2 The Method of Manufactured Solutions (MMS) . . . . . . . . . . . . . .                                           318
             9.2.1 An One Dimensional Manufactured Solution . . . . . . . . .                                              318
             9.2.2 A Two Dimensional MMS . . . . . . . . . . . . . . . . . . . . . . . . .                                 320
             9.2.3 Generalized Vortex Problem . . . . . . . . . . . . . . . . . . . . . . . .                              322
             9.2.4 Norms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               324
             9.2.5 Convergence Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      325
             9.2.6 Convergence Rate of the MPM . . . . . . . . . . . . . . . . . . . . .                                   326
      9.3 Moving Least Square MPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          327
             9.3.1 Least Square Approximations . . . . . . . . . . . . . . . . . . . . . .                                 328
             9.3.2 Velocity Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     334
             9.3.3 One Point Quadrature . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          334
             9.3.4 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                    335
             9.3.5 Improved Implementation . . . . . . . . . . . . . . . . . . . . . . . . . .                             338
      9.4 The Affine Particle in Cell (APIC) . . . . . . . . . . . . . . . . . . . . . . . . . .                           338
             9.4.1 The Gradient Enhancement Technique . . . . . . . . . . . . . . .                                        338
             9.4.2 Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                340
             9.4.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                    341
             9.4.4 Momenta Conservation . . . . . . . . . . . . . . . . . . . . . . . . . . . .                            342
             9.4.5 Energy Conservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         347
      9.5 Convergence Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                347
             9.5.1 One Dimensional Convergence Test . . . . . . . . . . . . . . . . .                                      348
             9.5.2 Generalized Vortex Problem . . . . . . . . . . . . . . . . . . . . . . . .                              350
      9.6 Volumetric Locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   352
             9.6.1 Overview of the F-bar Method . . . . . . . . . . . . . . . . . . . . . .                                353
             9.6.2 F-bar Method in MPM: Cell Averaging . . . . . . . . . . . . . .                                         354
             9.6.3 F-bar Method in MPM: Nodal Averaging . . . . . . . . . . . . .                                          355
      References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   358
10 Other Topics: Modeling of Fluids, Membranes
   and Temperature Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   361
   10.1 Fluids and Gases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 361
         10.1.1 Fluids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               361
         10.1.2 Gases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                362
         10.1.3 Some Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          363
   10.2 Modeling Membranes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       366
         10.2.1 York’s MPM Algorithm for Membranes . . . . . . . . . . . . . .                                             367
         10.2.2 A Coupled FEM-MPM for Modeling Membranes . . . . .                                                         370
   10.3 Thermo-Mechanical Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                               375
         10.3.1 Thermal Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          376
         10.3.2 Coupled Thermo-Mechanical MPM . . . . . . . . . . . . . . . . .                                            378
Contents                                                                                                                       xv
             10.3.3 Verification Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
       10.4 Fluid-Structure Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
       References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Appendix A: Strong Form, Weak Form and Completeness . . . . . . . . . . . . 391
Appendix B: Derivation of CPDI Basis Functions . . . . . . . . . . . . . . . . . . . . . 395
Appendix C: Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Appendix D: Explicit Lagrangian Finite Elements . . . . . . . . . . . . . . . . . . . . 415
Appendix E: Implicit Lagrangian Finite Elements . . . . . . . . . . . . . . . . . . . . 427
Appendix F: Implementing the Material Point Method Using Julia . . . . 435
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465