# Starfish

Starfish is a two-dimensional simulation code for a wide range of fluid dynamics, gas kinetics, and plasma physics problems. The code uses linear or cubic splines to represent object geometries and rectilinear or body-fitted mesh to define the computational volume. Gas / plasma can be modeled using several different kinetic or fluid models. Multiple gas injection sources are available, and a detailed surface handler is also implemented. The species interact with each other via collisions (MCC or DSCM) or by chemical reactions.

There are two versions. Starfish Light version containing basic support for plasma modeling via the Electrostatic Particle In Cell (ES-PIC) method. It also supports free molecular flow, and contains diffusion-advection fluid solver. It is available as a free download from this site. The full version extends the basic version by including additional particle source models, detailed surface treatment, DSMC, and Navier Stokes solver. It also contains special module for modeling electric propulsion devices including Hall thrusters. The light version is a great tool for exploring basic plasma processes such as plasma sheaths or as an education tool. The full version is currently not available for general distribution and is used internally in support of our contracts.

• Version 0.15 (149Kb): This version is quite buggy. Due to some recent refactoring changes, several features had to be deactivated and are yet being verified. Check back for updates and let us know of any bugs you find.

## Features

• Common features: XY/RZ support, linear/cubic spline geometry definition, rectilinear/stretched meshes, multiple fluid and/or kinetic species, material interactions, surface and volume sources, animation output, limited (for now) parallel processing, Tecplot output (Paraview coming soon)
• Starfish Light:electrostatic particle in cell (ES-PIC), Monte Carlo Collisions (MCC), surface deposition, ionization, diffusion solver
• Starfish Full: fluid models (advection-diffusion, Navier Stokes), gas kinetics (DSMC), contamination support (particulate modeling, surface residence time, support for ASTM E595 data)
• Short term wish list: (yet to be implemented features) GUI, better parallel processing, electromagnetic model (EM-PIC), and the MHD model for plasma

## Getting Started

Starfish is a Java program, and as such, you will need to have the Java Runtime Environment installed. Starfish currently runs in command-line mode only. Navigate to the folder containing your input files and use the syntax below to launch the simulation.
 > java -jar <path-to-file>/starfish-LE.jar 
Detailed documentation, including list of all available input file commands will be posted shortly. For now, please view the Starfish Tutorial.

## Referencing

If you find the program useful, please cite:

Brieda, L., and Keidar, M., “Development of the Starfish Plasma Simulation Code and Update on Multiscale Modeling of Hall Thrusters”, 48th AIAA Joint Propulsion Conference, Atlanta, GA, 2012, AIAA-2012-4015, doi:10.2514/6.2012-4015 (pdf)