Skip to content

PySuperfish

Python tools for Poisson Superfish calculations.

PySuperfish wraps the Poisson Superfish suite of electromagnetic field solvers from LANL, providing:

  • A Superfish class to set up, run, and load the output of Fish (RF cavity) and Poisson (magnetostatic/electrostatic) problems.
  • Automatic execution through Docker, Shifter, or Singularity containers on Linux and macOS, or the native executables on Windows.
  • Parsers for .SFO, .T7, and automesh files.
  • Plotting utilities for problem geometry and field maps.
  • Conversion of field maps to openPMD-beamphysics FieldMesh objects.

Warning

As of April 2024, and since at least May 2023, the download site for Poisson/Superfish is unavailable. Unfortunately, we do not have any information about when or if it will be made available again. See issue #2.

Quick start

from superfish import Superfish

sf = Superfish("cavity.am")  # an automesh input file
sf.run()

sf.output["sfo"]["summary"]["data"]  # parsed SFO summary
sf.plot_wall()

See Installation for how to set up the Poisson Superfish executables, and Usage for a walkthrough.