gprmaxui
GprMax-UI provides a high-level API to run gprMax models along with a set of functions for visualization, analysis and interpreting the results.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.6%) to scientific vocabulary
Repository
GprMax-UI provides a high-level API to run gprMax models along with a set of functions for visualization, analysis and interpreting the results.
Basic Info
- Host: GitHub
- Owner: OpenSciML
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://opensciml.github.io/gprmaxui/
- Size: 1.54 MB
Statistics
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
GPR-MAX UI

GprMax is open-source software that simulates electromagnetic wave propagation. It solves Maxwell’s equations in 3D using the Finite-Difference Time-Domain (FDTD) method. Although it was designed initially for modeling Ground Penetrating Radar (GPR), it can also be used to model electromagnetic wave propagation for many other applications. GprMax-UI enhances this functionality by providing a high-level API for executing GprMax models, along with tools for visualization, analysis, and result interpretation.
The following video have been created using gprmaxui:
Prerequisites
Install Pycuda
bash
sudo apt install build-essential clang
sudo apt install libstdc++-12-dev
export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
uv add pycuda --optional gpu
Install gprMax
bash
git clone https://github.com/gprMax/gprMax.git
sudo apt install libgomp1
sudo apt install libomp-dev
python setup.py build
python setup.py develop --no-deps
Installation gprMaxUI
bash
pip install gprmaxui
Build the documentation
bash
mkdocs build
mkdocs serve -a localhost:8000
Usage
```Python from gprmaxui.commands import * from gprmaxui import GprMaxModel
Create a GPRMax model
model = GprMaxModel( title="B scan from a single target buried in a dielectric sand-space", outputfolder=Path("output"), domainsize=DomainSize(x=0.2, y=0.2, z=0.002), domainresolution=DomainResolution(dx=0.002, dy=0.002, dz=0.002), timewindow=TimeWindow(twt=3e-9), )
Register model materials
model.registermaterials( Material( id="halfspace", permittivity=6, conductivity=0, permeability=1, color="red" ) )
Register model sources
txrxsep = 2e-2 model.setsource( TxRxPair( tx=Tx( waveform=Waveform(wavefamily="ricker", amplitude=1.0, frequency=1.5e9), source=HertzianDipole(polarization="z", x=0.03, y=0.15, z=0.0), ), rx=Rx(x=0.03 + txrxsep, y=0.15, z=0.0), srcsteps=SrcSteps(dx=0.002, dy=0.0, dz=0.0), rxsteps=RxSteps(dx=0.002, dy=0.0, dz=0.0), ) )
add model geometries
box = DomainBox( xmin=0.0, ymin=0.0, zmin=0.0, xmax=0.2, ymax=0.145, zmax=0.002, material="halfspace", ) model.addgeometry(box)
cx = model.domainsize.x / 2 sphere = DomainSphere(cx=cx, cy=0.1, cz=0.0, radius=0.005, material="pec") model.addgeometry(sphere)
print(model) model.run(n="auto", geometry=True, snapshots=True)
```
Owner
- Name: Open Science ML
- Login: OpenSciML
- Kind: organization
- Location: United States of America
- Repositories: 1
- Profile: https://github.com/OpenSciML
Open-Source for accelerating research discovering
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Ruiz-Guzman" given-names: "Henry A." orcid: "https://orcid.org/0000-0001-9114-4293" title: "gprmaxui" version: 1.0.0 date-released: 2024-10-18 url: "https://github.com/OpenSciML/gprmaxui"
GitHub Events
Total
- Release event: 1
- Watch event: 8
- Public event: 2
- Push event: 10
- Create event: 2
Last Year
- Release event: 1
- Watch event: 8
- Public event: 2
- Push event: 10
- Create event: 2
Dependencies
- cython >=3.0.11
- h5py >=3.12.1
- httpcore >=1.0.6
- more-itertools >=10.5.0
- opencv-python >=4.10.0.84
- pillow >=10.4.0
- psutil >=6.0.0
- pydantic >=2.9.2
- pyside6 >=6.8.0.1
- pyvista >=0.44.1
- pyvistaqt >=0.11.1
- rich >=13.9.2
- scipy >=1.14.1
- terminaltables >=3.1.10
- tqdm >=4.66.5
- xmltodict >=0.14.1
- us-docker.pkg.dev/deeplearning-platform-release/gcr.io/workbench-container latest build
- annotated-types 0.7.0
- babel 2.16.0
- black 24.10.0
- certifi 2024.8.30
- charset-normalizer 3.4.0
- click 8.1.7
- colorama 0.4.6
- contourpy 1.3.0
- cycler 0.12.1
- cython 3.0.11
- fonttools 4.54.1
- ghp-import 2.1.0
- gprmaxui 0.1.9
- h11 0.14.0
- h5py 3.12.1
- httpcore 1.0.6
- idna 3.10
- jinja2 3.1.4
- kiwisolver 1.4.7
- lxml 5.3.0
- mako 1.3.10
- markdown 3.7
- markdown-it-py 3.0.0
- markupsafe 3.0.1
- matplotlib 3.9.2
- mdurl 0.1.2
- mergedeep 1.3.4
- mkdocs 1.6.1
- mkdocs-get-deps 0.2.0
- mkdocs-glightbox 0.4.0
- mkdocs-material 9.5.40
- mkdocs-material-extensions 1.3.1
- mkdocs-video 1.5.0
- more-itertools 10.5.0
- mypy-extensions 1.0.0
- numpy 2.1.2
- opencv-python 4.10.0.84
- packaging 24.1
- paginate 0.5.7
- pathspec 0.12.1
- pillow 10.4.0
- platformdirs 4.3.6
- pooch 1.8.2
- psutil 6.0.0
- pycuda 2025.1
- pydantic 2.9.2
- pydantic-core 2.23.4
- pygments 2.18.0
- pymdown-extensions 10.11.2
- pyparsing 3.2.0
- pyside6 6.8.0.1
- pyside6-addons 6.8.0.1
- pyside6-essentials 6.8.0.1
- python-dateutil 2.9.0.post0
- pytools 2025.1.3
- pyvista 0.44.1
- pyvistaqt 0.11.1
- pyyaml 6.0.2
- pyyaml-env-tag 0.1
- qtpy 2.4.1
- regex 2024.9.11
- requests 2.32.3
- rich 13.9.2
- scipy 1.14.1
- scooby 0.10.0
- shiboken6 6.8.0.1
- siphash24 1.7
- six 1.16.0
- terminaltables 3.1.10
- tomli 2.2.1
- tqdm 4.66.5
- typing-extensions 4.12.2
- urllib3 2.2.3
- vtk 9.3.1
- watchdog 5.0.3
- xmltodict 0.14.1

