Project / 2023-2025

Lead developer and corresponding author

LandslideSIM

A Julia-native, full-stack toolchain for building, running, and visualizing high-resolution Material Point Method simulations of landslide motion.

JuliaMPMGPU computingGeohazards
Animated montage of Material Point Method simulations, including granular collapse, terrain-scale landslide motion, and strain fields.

One language, from terrain to results

Landslide runout is a large-deformation problem. Once a slope fails, the moving mass can stretch, fragment, collide, and travel across complex terrain. Conventional mesh-based methods can become compromised by mesh distortion at exactly this stage. The Material Point Method (MPM) avoids that failure mode by carrying material state on particles while solving momentum on a temporary background grid.

LandslideSIM turns that numerical method into a connected Julia workflow. It covers model generation from real terrain, backend-agnostic simulation on CPUs and GPUs, and post-processing for ParaView or browser-based inspection. Researchers can prototype and run production-scale models without maintaining separate high-level and accelerator codebases.

100 millionstructured particles generated within 10 seconds
1,453 GiB/seffective memory throughput in 2D GPU tests
190 milliondouble-precision particles supported on NVIDIA GH200

The toolchain

  1. 01

    Generate

    MaterialPointGenerator.jl discretizes 2D and 3D geometries, DEM terrain, geological partitions, and SLBL-predicted failure surfaces into structured material particles. It avoids volumetric meshing and keeps preprocessing fast enough for resolution studies.

  2. 02

    Solve

    MaterialPointSolver.jl implements MPM once and executes it across CPU, NVIDIA CUDA, AMD ROCm, Intel oneAPI, and Apple Metal backends. Algorithms are modular plugins, so constitutive models and transfer schemes can evolve without rebuilding the entire solver.

  3. 03

    Inspect

    MaterialPointVisualizer.jl converts HDF5 results into VTP data and ParaView-compatible animations, reconstructs surfaces, detects exposed particles, and provides local or web interfaces for large particle datasets.

Three-dimensional terrain model discretized into four colored geological material layers.
A terrain-scale model generated directly from elevation and subsurface data. Particle attributes preserve the four geological partitions.

Terrain-aware preprocessing

Real slopes rarely fit a clean box. The generator accepts DEM, STL, raster, point-cloud, and polygon inputs through the supporting FastPointQuery.jl package. It can trim terrain, assign heterogeneous material IDs, and couple an SLBL failure-surface prediction to an MPM-ready particle model.

The preprocessing research also establishes upper bounds for geometric and property-assignment errors. That makes grid spacing a documented modeling choice rather than a purely visual judgment. In the published benchmarks, up to 100 million structured particles were generated in under 10 seconds; a 5.33-million-particle STL model completed in 0.6 seconds on a consumer CPU.

Dark interface for selecting an SLBL boundary on a shaded digital elevation model.
The 3D SLBL boundary selector connects interactive terrain inspection with reproducible failure-surface generation.

One solver, heterogeneous hardware

MaterialPointSolver.jl uses Julia’s multiple dispatch and KernelAbstractions.jl to separate MPM physics from the execution backend. The same model code can move from a laptop CPU to different GPU vendors, which keeps rapid scientific prototyping and production execution in one environment.

Four validation problems cover elastic collision, soil collapse, granular spreading, and a dedicated performance benchmark. Against optimized vectorized MATLAB code, the published solver reached 3.5x speedup on a single CPU thread and 19.4x on 20 CPU threads. GPU tests reached 78% effective bandwidth utilization, or 1,453 GiB/s, in two dimensions. A 10 GB consumer GPU accommodated approximately 19.7 million double-precision particles; NVIDIA GH200 accommodated approximately 190 million.

using MaterialPointGenerator
using MaterialPointSolver
using MaterialPointVisualizer

# Generate the particle domain, solve it on the selected backend,
# then export the time series for analysis and rendering.

From particles to interpretable motion

Simulation output is only useful when researchers can interrogate it. The visualization package writes VTP files, prepares ParaView animations, and supports surface reconstruction for presentation-quality rendering. Its GUI and web pathways are designed for particle counts beyond a million, keeping the final stage part of the same reproducible toolchain.

Animated surface reconstruction of a collapsing blue material column.
Surface reconstruction turns a particle simulation into a continuous geometry suitable for analysis and rendering.

Publications

Computers and Geotechnics · 2025

A high-performance backend-agnostic Material Point Method solver in Julia

Zenan Huo, Yury Alkhimenkov, Michel Jaboyedoff, Yury Podladchikov, Ludovic Räss, Emmanuel Wyser, and Gang Mei.

DOI · Archived paper code

Engineering with Computers · 2025

An efficient framework for structured material particle generation in multi-context modeling

Zenan Huo, Xiangcou Zheng, Michel Jaboyedoff, Yury Podladchikov, Gang Mei, and Xiong Tang.

DOI · Source code

Research context

The project grew from work at the University of Lausanne’s Risk Group, with support acknowledged from the China Scholarship Council. Its publications connect collaborators at the University of Lausanne, MIT, Terranum, China University of Geosciences (Beijing), Shenzhen University, and the Chinese Academy of Sciences.

LandslideSIM was released as open-source research software. Its final package releases extend beyond the exact versions archived with each publication.