gprMax is open source software that simulates electromagnetic wave propagation, using the Finite-Difference Time-Domain (FDTD) method, for the numerical modelling of Ground Penetrating Radar (GPR). gprMax was originally developed in 1996 when numerical modelling using the FDTD method and, in general, the numerical modelling of GPR were in their infancy. Current computing resources offer the opportunity to build detailed and complex FDTD models of GPR to an extent that was not previously possible. To enable these types of simulations to be more easily realised, and also to facilitate the addition of more advanced features, gprMax has been redeveloped and significantly modernised. The original C-based code has been completely rewritten using a combination of Python and Cython programming languages. Standard and robust file formats have been chosen for geometry and field output files. New advanced modelling features have been added including: an unsplit implementation of higher order Perfectly Matched Layers (PMLs) using a recursive integration approach; diagonally anisotropic materials; dispersive media using multi-pole Debye, Drude or Lorenz expressions; soil modelling using a semi-empirical formulation for dielectric properties and fractals for geometric characteristics; rough surface generation; and the ability to embed complex transducers and targets. Program summaryProgram title: gprMaxCatalogue identifier: AFBG_v1_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AFBG_v1_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: GNU GPL v3No. of lines in distributed program, including test data, etc.: 627180No. of bytes in distributed program, including test data, etc.: 26762280Distribution format: tar.gzProgramming language: Python.Computer: Any computer with a Python interpreter and a C compiler.Operating system: Microsoft Windows, Mac OS X, and Linux.RAM: Problem dependentClassification: 10.External routines: Cython[1], h5py[2], matplotlib[3], NumPy[4], mpi4py[5]Nature of problem: Classical electrodynamicsSolution method: Finite-Difference Time-Domain (FDTD)Running time: Problem dependent
Read full abstract