Programming the material point method in Julia. (March 2017) - Sinaie, Sina; Nguyen, Vinh Phu; Nguyen, Chi Thanh; Bordas, Stephane
Highlights: Implementing the material point method in Julia. Demonstrating that Julia is faster than Matlab for solid mechanics applications. Various implementation choices when using Julia are discussed. Abstract: 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.