Ionosphere geodesic FDTD
ionosphere-fdtd is a NumPy and PyTorch implementation of a three-dimensional
geodesic finite-difference time-domain model for the Earth–ionosphere
waveguide. It combines an icosahedral primal/dual surface mesh with staggered
radial Yee planes, conductive materials, localized current sources, receiver
sampling, and two- and three-dimensional visualization.
Highlights
- NumPy CPU and PyTorch CPU, CUDA, and Apple Metal/MPS backends
- Full-spherical radial curls and conservative CFL selection
- Exponential conductive integration with a legacy trapezoidal option
- Configurable geodesic and radial grids, materials, sources, and anomalies
- Surface maps, radial sections, receiver traces, interactive 3-D views, and animations
- Analytic Maxwell verification and Simpson–Taflove reproduction workflows
Quick start
Python 3.11 or newer is required.
uv sync --extra test --extra visualization --extra pytorch
uv run ionosphere --steps 200
Minimal Python usage:
from ionosphere_fdtd import GeodesicFDTD, GaussianCurrent, SimulationConfig
simulation = GeodesicFDTD(
SimulationConfig(subdivision=2, radial_cells=24),
source=GaussianCurrent(carrier_frequency_hz=20.0),
)
simulation.step(1000)
print(simulation.diagnostics())
Documentation
- User manual
- Installation
- Quick start
- Command-line reference
- Simulation configuration
- Materials and sources
- Backends and performance
- Visualization and output
- Troubleshooting
- Verification: analytic solutions, Simpson–Taflove 2004, and Simpson–Taflove 2006
- Backend benchmarks
Development
uv run --extra test --extra visualization --extra pytorch pytest -q
Verification workflows are kept outside the distributed runtime package and run from a source checkout. The linked verification reports contain their commands, acceptance criteria, and current results.
References
- D. A. Randall et al., “Climate Modeling with Spherical Geodesic Grids,” Computing in Science & Engineering, 4(5), 32–41, 2002.
- J. J. Simpson and A. Taflove, “Three-dimensional FDTD modeling of impulsive ELF propagation about the entire Earth-sphere,” IEEE TAP, 52(2), 443–451, 2004.
- J. J. Simpson, R. P. Heikes, and A. Taflove, “FDTD modeling of a novel ELF radar for major oil deposits using a three-dimensional geodesic grid of the Earth-ionosphere waveguide,” IEEE TAP, 54(6), 1734–1741, 2006.
- A. Taflove and S. C. Hagness, Computational Electrodynamics: The Finite-Difference Time-Domain Method, 3rd ed., Chapter 3, 2005.
License
Copyright 2026 Kyungwon Chun.
Licensed under the Apache License 2.0. See NOTICE for the project copyright notice.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ionosphere_fdtd-0.1.1.tar.gz.
File metadata
- Download URL: ionosphere_fdtd-0.1.1.tar.gz
- Upload date:
- Size: 65.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c3606ffd9d9065d4f9de243a6b59abf7c3c2a8dd3fabeeec21ddc4c413c2a9c
|
|
| MD5 |
226bb302f245bf89c6acc2c06bb8ad99
|
|
| BLAKE2b-256 |
8c2288e866512007fb050c17fc190ca16050d821522254d2fdd1cc8fd30737e1
|
Provenance
The following attestation bundles were made for ionosphere_fdtd-0.1.1.tar.gz:
Publisher:
release.yml on ruddyscent/ionosphere-fdtd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ionosphere_fdtd-0.1.1.tar.gz -
Subject digest:
2c3606ffd9d9065d4f9de243a6b59abf7c3c2a8dd3fabeeec21ddc4c413c2a9c - Sigstore transparency entry: 2466582846
- Sigstore integration time:
-
Permalink:
ruddyscent/ionosphere-fdtd@cc43504986c6406f7e891b47dedca899eba77271 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/ruddyscent
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cc43504986c6406f7e891b47dedca899eba77271 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ionosphere_fdtd-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ionosphere_fdtd-0.1.1-py3-none-any.whl
- Upload date:
- Size: 53.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae4a32f1ac7a027a99222d0f8219dfe3b63191845c58ca2c0274e1eef9992730
|
|
| MD5 |
e15e92765cf1ceda4ea719f96d302524
|
|
| BLAKE2b-256 |
03bbc163b785c1b0e274a5279a1c9a48a5a09dcf14855d888f7243defa173dbd
|
Provenance
The following attestation bundles were made for ionosphere_fdtd-0.1.1-py3-none-any.whl:
Publisher:
release.yml on ruddyscent/ionosphere-fdtd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ionosphere_fdtd-0.1.1-py3-none-any.whl -
Subject digest:
ae4a32f1ac7a027a99222d0f8219dfe3b63191845c58ca2c0274e1eef9992730 - Sigstore transparency entry: 2466582871
- Sigstore integration time:
-
Permalink:
ruddyscent/ionosphere-fdtd@cc43504986c6406f7e891b47dedca899eba77271 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/ruddyscent
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cc43504986c6406f7e891b47dedca899eba77271 -
Trigger Event:
release
-
Statement type: