Dear Antonis,
Thank you for your previous explanation regarding the source implementation in gprMax.
After reviewing the gprMax documentation and the sources.py file, I understand that in 2D simulations, the source is modeled as a line source due to the invariance in the z-direction. I also recognize that gprMax does not directly use analytical field expressions but relies on the numerical approximation inherent in the FDTD method.
To deepen my understanding, I have a few specific questions:
Numerical Representation of the Source: How is the z-directed line source (Hertzian dipole) numerically implemented in the FDTD update equations within gprMax? Specifically, is it introduced as a current density term
added to Maxwell’s equations?Code Implementation Details: Could you point me to the specific sections in sources.py or other relevant files where this source injection is handled? Understanding the exact implementation will help me relate the numerical model to the physical source.
Analytical Comparison: I plan to compute the analytical solution for a line source in a homogeneous medium (e.g., using the Green's function from Chew's book or your thesis) and compare it with gprMax simulation results. To ensure a valid comparison, could you advise on any considerations or adjustments needed when aligning the analytical model with the numerical implementation in gprMax?
I appreciate your guidance in helping me bridge the gap between the numerical implementation in gprMax and the underlying physical models.
Best regards,
Hamed.