  In this paper, we describe a new scalable and modular material point method
(MPM) code developed for solving large-scale problems in continuum mechanics.
The MPM is a hybrid Eulerian-Lagrangian approach, which uses both moving
material points and computational nodes on a background mesh. The MPM has been
successfully applied to solve large-deformation problems such as landslides,
failure of slopes, concrete flows, etc. Solving these large-deformation
problems result in the material points actively moving through the mesh.
Developing an efficient parallelisation scheme for the MPM code requires
dynamic load-balancing techniques for both the material points and the
background mesh. This paper describes the data structures and algorithms
employed to improve the performance and portability of the MPM code. An
object-oriented programming paradigm is adopted to modularise the MPM code. The
Unified Modelling Language (UML) diagram of the MPM code structure is shown in
Figure 1.
