Starfish is a 2D (Cartesian or axisymmetric) code for simulating a wide range of plasma and gas problems. It implements the electrostatic Particle-in-Cell (ES-PIC) method along with several fluid solvers. Material interactions are included through MCC or DSMC collisions, or via chemical reactions. The computational domain can be divided into multiple rectilinear or body-fitted meshes, and linear/cubic splines represent the surface geometry. The code can be easily extended with plugins. Starfish is written in Java and is actively being developed.
Start by taking a look at a five-step ES-PIC and DSMC tutorials. Input files for the tutorials are included in the dat directory. On the PIC-C website you will also find a PowerPoint presentation with some introductory remarks about the source code. The associated video is available here.
Input files for these examples are located in the dat/ folder.
Axial velocity of ions streaming past a charged sphere
DSMC computation of temperature in an atmospheric jet expanding to a low pressure tank
Number density of ions flowing through a sectioned tube computed on a domain consisting of multiple meshes
The code is under ongoing development and may contain numerous bugs. Please submit a bug report if you find anything odd!
Please view LICENSE for license terms.
(c) 2012-2020 Particle In Cell Consulting LLC
Contact us by visiting the website or on Twitter @particleincell.
- v0.22 GUI, multi-mesh support for multiple corners, command line arguments, trace command rewrite, cell "CFL" subcycling
- v0.21 Support for sigmas to be used for chemical reaction rates
- v0.20.5 Time dependent boundaries, fix to surface sampling
- v0.20 Rename of Starfish-LE to Starfish, addition of thermionic emission, evaporation, and particle merge
- v0.19 Re-enables support for multi-domain simulations
- v0.16.2 Various bug fixes related to DSMC and ambient boundary source
- v0.16 Addition of a DSMC module (previously included in the full version)
- v0.15 Initial release of PIC-MCC code