# About the software

gprMax is open source software that simulates electromagnetic wave propagation. It uses Yee's algorithm to solve Maxwell’s equations in 3D using the Finite-Difference Time-Domain (FDTD) method.

It is designed for simulating Ground Penetrating Radar (GPR) but can also be used to model electromagnetic wave propagation for many other applications.

gprMax is command-line-driven software written in Python with performance-critical parts written in Cython. It does not feature a graphical user interface (GUI) which allows it to be very flexible and scriptable software that can run in high-performance computing (HPC) environments, i.e. on supercomputers. It has been parallelised using OpenMP which enables it to run on multiple CPUs, and features a task farm using Messaging Passing Interface (MPI).

## Features

gprMax has many powerful and advanced features such as:

All of the software features along with examples are described in detail in our comprehensive User Guide.

Take a look at our poster from the 8th European Conference on Python in Science (EuroSciPy) which showcases some of these features.

### Previous retired version (v.2)

gprMax was originally developed in 1996 by Antonis Giannopoulos when numerical modelling using the FDTD method and, in general, the numerical modelling of Ground Penetrating Radar (GPR) were in their infancy. It was written in C and continually improved and extended until 2015. This original (v.2) release of gprMax consisted of two simulators: gprMax2D - which solved the transverse-magnetic mode with respect to $$z$$ ($$TM_z$$) in 2D; and gprMax3D - which solved the full FDTD algorithm in 3D. It was supported by the Building Research Establishment.

The previous version (v.2) of gprMax is no longer maintained or supported but can still be downloaded.