English

High-Performance Computational Magnetohydrodynamics with Python

Plasma Physics 2025-05-15 v2 Computational Physics

Abstract

We present the AGATE simulation code, a Python-based framework developed primarily for solving the magnetohydrodynamics (MHD) equations while maintaining adaptability to other equation sets. The code employs a modular, object-oriented architecture that separates interface specifications from numerical implementations, allowing users to customize numerical methods and physics models. Built on a Godunov-type finite-volume scheme, AGATE currently supports the ideal, Hall, and Chew-Goldberger-Low (CGL) MHD equations, with multiple acceleration options ranging from Numpy to GPU-enabled computation via NVIDIA CUDA. Performance testing demonstrates that our GPU implementations achieve 40-60x speedups over CPU versions. Comprehensive validation through established benchmarks confirms accurate reproduction of both linear and nonlinear phenomena across different MHD regimes. This combination of modularity, performance, and extensibility makes AGATE suitable for multiple applications: from rapid prototyping to production simulations, and from numerical algorithm development to physics education.

Keywords

Cite

@article{arxiv.2503.20899,
  title  = {High-Performance Computational Magnetohydrodynamics with Python},
  author = {Chris Bard and John Dorelli},
  journal= {arXiv preprint arXiv:2503.20899},
  year   = {2025}
}

Comments

21 pages, 8 figures; submitted to Computer Physics Communications; AGATE open-source repository is located at: https://git.smce.nasa.gov/marble/agate-open-source