Software
DynEarthSol
Core developer (GeoFLAC organization, 2016 – present)
An efficient explicit Lagrangian finite-element solver for long-term tectonics, surface processes, and earthquake-cycle dynamics (2D/3D, unstructured meshes). I develop and review its physics and lead the GPU parallelization effort.
Source on GitHub · DES v2.0 paper (GMD, submitted)
Contribution highlights
GPU acceleration
- Enabled GPU acceleration and parallelization across the solver (OpenACC/CUDA) (PR #25)
- GPU correctness fixes and performance optimizations (PR #49)
- GPU BVH nearest-neighbor search for irregular grids (PR #56)
Performance
- Structure-of-Arrays memory layout via Array2D for coalesced access (PR #55)
- Two-step node–element processing to eliminate OpenMP race conditions
Infrastructure
- Migrated output/checkpoints from NetCDF to HDF5 with direct ParaView reading (PR #34)
- MMG remeshing pipeline — mesh initialization and adaptive metric fields (PR #57)
- Deterministic restarts and complete checkpoint state (PR #72)
Physics
Other projects
knn-bvh
Standalone GPU k-nearest-neighbor search built on linear BVH trees, developed for particle–mesh interpolation in geodynamic codes.
CUDAgeoflac (thermochronology fork)
FLAC-based geodynamic code extended with thermochronology and sedimentation functions for orogen cooling-history studies.
FortranVaccineCOVID19Taiwan
Interactive dashboard of Taiwan's COVID-19 vaccination statistics (2021), published as a blog post on this site.
Python · Plotlyclaude-last-word-skill
Session wrap-up skill for Claude Code — a 7-phase close-out workflow for preserving context between sessions.
Python