About the software

GPR wave propagation in a landmine environment
GPR wave propagation in a landmine environment

gprMax is open source software that solves Maxwell’s equations using the Finite-Difference Time-Domain (FDTD) method. It uses Yee’s algorithm, with central-difference expressions for the spatial and temporal derivatives that are second-order accurate, and supports both two- and three-dimensional models.

The software began in research on the forward problem of Ground Penetrating Radar (GPR) in the 1990s, and GPR is what gives gprMax its name. After nearly three decades of development, version 4 is a general-purpose research platform for time-domain computational electromagnetics. GPR remains a core application — assessing bridges and roads, locating buried utilities, mapping glaciers, finding anti-personnel landmines — alongside antenna and microwave modelling, electromagnetic scattering and radar cross section, bioelectromagnetics and dosimetry, and radiometry. See what researchers are doing with it, across more than 1,600 publications.

gprMax is principally written in Python 3 with performance-critical parts in Cython. It is driven from the command line rather than through a general-purpose GUI, which keeps it scriptable and means it runs equally well on a laptop or in high-performance computing (HPC) environments. Models can be written as simple text input files, parameterised with Python blocks, or built entirely programmatically with the full Python API; the Marimo toolbox adds interactive dashboards for building introductory models and inspecting output.

Simulations can be accelerated on a range of hardware: the CPU solver is parallelised with OpenMP; OpenCL supports both CPUs and GPUs; and there are GPU solvers for NVIDIA CUDA and Apple Metal on macOS with M-series chips. MPI support enables larger-scale, multi-node simulations on HPC systems, either by domain decomposition of a single large model or as a task farm across many models. The CPU, CUDA, and OpenCL solvers all offer single- or double-precision field storage.

Features

gprMax has a comprehensive set of features for general electromagnetic simulation as well as for GPR modelling. Items marked New arrived with v4.0.0. Everything below is described in detail, with examples, in our User Guide.

Sources, boundaries & guided structures

Detailed geometry of a GPR antenna
Detailed geometry of a GPR antenna

Outputs & analysis

3D radiation pattern of a GPR antenna
3D antenna radiation pattern

Materials & geometry

Workflow & scripting