Programming the material point method in Julia

Sina Sinaie, Vinh Phu Nguyen, Chi Thanh Nguyen, Stephane Bordas

Research output: Contribution to journalArticleResearchpeer-review

11 Citations (Scopus)


This article presents the implementation of the material point method (MPM) using Julia. Julia is an open source, multi-platform, high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to Matlab and Python programmers. MPM is a hybrid particle-grid approach that combines the advantages of Eulerian and Lagrangian methods and is suitable for complex solid mechanics problems involving contact, impact and large deformations. We will show that a Julia based MPM code, which is short, compact and readable and uses only Julia built in features, performs much better (with speed up of up to 8) than a similar Matlab based MPM code for large strain solid mechanics simulations. We share our experiences of implementing MPM in Julia and demonstrate that Julia is a very interesting platform for rapid development in the field of scientific computing.

Original languageEnglish
Pages (from-to)17-29
Number of pages13
JournalAdvances in Engineering Software
Publication statusPublished - 1 Mar 2017


  • High-performance dynamic programming language
  • Julia
  • Material point method (MPM)
  • Technical computing

Cite this