GRanada ElectroMagnetic PYthon simulator
Python Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
earth
jupiter
plugins
saturn
README.rst
cmaps.py
contexttimer.py
em.py
fdtd.py
h2radiative.py
langevin.py
param.py
planar_stab.py
plotter.py
plotter2d.py
plotter2d_saturn.py

README.rst

grempy

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.

The code was developed by Alejandro Luque at the Instituto de Astrofísica de Andalucía (IAA), CSIC and is released under the GPLv2 license.

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 grempy are:

  • 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.

Documentation

You can find the documentation for grempy here.