GMES: A Python package for solving Maxwell’s equations using the FDTD method
This paper describes GMES, a free Python package for solving Maxwell’s equations using the finite-difference time-domain (FDTD) method. The design of GMES follows the object-oriented programming (OOP) approach and adopts a unique design strategy where the voxels in the computational domain are group...
Gespeichert in:
Veröffentlicht in: | Computer physics communications 2013-04, Vol.184 (4), p.1272-1279 |
---|---|
Hauptverfasser: | , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | This paper describes GMES, a free Python package for solving Maxwell’s equations using the finite-difference time-domain (FDTD) method. The design of GMES follows the object-oriented programming (OOP) approach and adopts a unique design strategy where the voxels in the computational domain are grouped and then updated according to its material type. This piecewise updating scheme ensures that GMES can adopt OOP without losing its simple structure and time-stepping speed. The users can easily add various material types, sources, and boundary conditions into their code using the Python programming language. The key design features, along with the supported material types, excitation sources, boundary conditions and parallel calculations employed in GMES are also described in detail.
Program title: GMES
Catalog identifier: AEOK_v1_0
Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEOK_v1_0.html
Program obtainable from: CPC Program Library, Queen’s University, Belfast, N. Ireland
Licensing provisions: GNU General Public License v3.0
No. of lines in distributed program, including test data, etc.: 17700
No. of bytes in distributed program, including test data, etc.: 89878
Distribution format: tar.gz
Programming language: C++, Python.
Computer: Any computer with a Unix-like system with a C++ compiler, and a Python interpreter; developed on 2.53 GHz Intel CoreTM i3.
Operating system: Any Unix-like system; developed under Ubuntu 12.04 LTS 64 bit.
Has the code been vectorized or parallelized?: Yes. Parallelized with MPI directives (optional).
RAM: Problem dependent (a simulation with real valued electromagnetic field uses roughly 0.18 KB per Yee cell.)
Classification: 10.
External routines: SWIG [1], Cython [2], NumPy [3], SciPy [4], matplotlib [5], MPI for Python [6]
Nature of problem: Classical electrodynamics
Solution method:
Finite-difference time-domain (FDTD) method
Additional comments:
This article describes version 0.9.5. The most recent version can be downloaded at the GMES project homepage [7].
Running time:
Problem dependent (a simulation with real valued electromagnetic field takes typically about 0.16 μs per Yee cell per time-step.)
References:[1]SWIG, http://www.swig.org.[2]Cython, http://www.cython.org.[3]NumPy, http://numpy.scipy.org.[4]SciPy, http://www.scipy.org.[5]matplotlib, http://matplotlib.sourceforge.net.[6]MPI for Python, http://mpi4py.scipy.org.[7]GMES, http://sourceforge.net/projects/gmes. |
---|---|
ISSN: | 0010-4655 1879-2944 |
DOI: | 10.1016/j.cpc.2012.12.011 |