grempy (GRanada ElectroMagnetic PYthon simulator) is a pure Python Finite-Differences Time-Domain (FDTD) electromagnetic solver. Its main purpose is the study of the interactions between a lightning-generated electromagnetic pulse (EMP) and the upper layers of planetary atmospheres.
Although many good and open source general-purpose FDTD codes are available,
such as MIT's Meep,
grempy has the more restricted purpose of simulating the propagation of the EMP generated by a lightning stroke and its interaction with the lower ionosphere. This process is the responsible of so-called ELVEs (Emissions of Light and Very low frequency perturbations due to Electromagnetic pulse sources).
Elves are expanding, ring-shaped light emissions located at about 100 km altitude, centered above the originating lightning and lasting less than or about 1 ms.
Restricting its domain,
grempy is easier to use than general-purpose FDTD solvers.
Some features of
- Self-consistently solves the Langevin (or modified Ohm equation) with an altitude-dependent mobility.
- Incorporates non-linear processes such as local changes in the ambient conductivity due to impact-ionization.
- The properties of the atmosphere where the EMP propagates are easily specified with text files that specify the altitude profiles of background gas density and initial electron density. The nonlinear response of the electron density is also specified by an external file.
- A plug-in system permits the extension of the code with simple Python modules. This can be used, for example, to simulate additional chemical processes.
You can find the documentation for