|
| 1 | +**🛰️ gprMax Spatial Fidelity & Geometry Validator** |
| 2 | +**Automated Geometric Integrity Testing for Physics-Based Electromagnetic Simulation*** |
| 3 | +**📖 Overview** |
| 4 | +In computational electromagnetics, specifically within gprMax, spatial accuracy is the foundation of numerical validity. A single coordinate error in the .in file can lead to hours of wasted compute resources on a flawed model. |
| 5 | +This repository implements an Automated Geometry Validation Pipeline. It parses simulation input files, extracts spatial configurations (Antennas, Targets, PML boundaries), and validates their alignment against the intended physical model—all within a CI/CD environment. |
| 6 | +**🛠️ Technical Execution & Proof** |
| 7 | +Attribute,Indicator,Status / Value |
| 8 | +Pipeline Core,geometry.yml,✅ PASSED |
| 9 | +Verification Speed,⚡ High Velocity,27 Seconds |
| 10 | +Coordinate Precision,🎯 Sub-Millimeter,±0.001 m |
| 11 | +Environment Check,🛡️ Spatial Fidelity,VERIFIED |
| 12 | + |
| 13 | +**🖼️ Spatial Interpretation & Visualization** |
| 14 | +The pipeline generates a Simulation Domain Preview to ensure that the engine correctly interprets the spatial configuration. This visual proof confirms that the antenna source and buried targets are localized with absolute precision. |
| 15 | + |
| 16 | +<div align="center"> |
| 17 | +<img src="geometry_preview.png" width="550" alt="gprMax Geometry Visual Check"> |
| 18 | + |
| 19 | + |
| 20 | +<p><i><b>Figure 1:</b> Automated Spatial Alignment Verification. |
| 21 | + |
| 22 | + |
| 23 | +<font color="blue">🔵 Blue Circle:</font> Antenna Source Location | <font color="red">🔴 Red Square:</font> Buried Target (Box) Model.</i></p> |
| 24 | +</div> |
| 25 | + |
| 26 | +**⚙️ How it Works: The "Trident" Logic** |
| 27 | +The validation process is divided into three critical stages: |
| 28 | +Parsing Engine: A custom-built script scans the user_model.in for #box and #cylinder directives. |
| 29 | +Geometric Mapping: Converts raw simulation coordinates into a visual coordinate system, ensuring that PML (Perfectly Matched Layer) boundaries do not intersect with active sources. |
| 30 | +CI/CD Gatekeeping: The GitHub Action fails the build if any geometric overlap or out-of-bounds error is detected, preventing resource leakage. |
| 31 | +**🚀 Deployment & Local Usage** |
| 32 | +To verify geometry locally before pushing to the cloud: |
| 33 | + |
| 34 | +``` |
| 35 | +# Clone the validator |
| 36 | +git clone https://github.com/pratiktech28/gprmax_geometry_check.git |
| 37 | +
|
| 38 | +# Install lightweight dependencies |
| 39 | +pip install matplotlib |
| 40 | +
|
| 41 | +# Run the validation script |
| 42 | +python check_geometry.py --input simulation_model.in |
| 43 | +--- |
| 44 | +
|
| 45 | +<img width="800" height="600" alt="geometry_preview" src="https://github.com/user-attachments/assets/3bbbe122-cba6-45b0-be57-870de9fdc48c" /> |
| 46 | +
|
| 47 | +
|
| 48 | +**👨💻 Contributor Insights** |
| 49 | +"Beyond numerical accuracy, the integrity of the spatial domain is non-negotiable. This tool ensures that the physics engine is fed a geometrically perfect model, every single time." |
| 50 | +Repository |
| 51 | +https://github.com/pratiktech28/gprmax_ge |
| 52 | +ometry_check.git |
| 53 | +
|
0 commit comments