Propellants

HallThruster implements several common Hall thruster propellants, and makes it easy to implement your own.

Propellants in HallThruster are instances of the Gas struct, which contains information about the atomic and thermodynamic properties of a gaseous substance.

Many of these properties are functions of the others, so HallThruster provides a convenience constructor Gas(name, short_name, γ, M) which will compute the rest of the properties automatically.

HallThruster.GasType
struct Gas

A chemical element in the gaseous state. Container for element properties used in fluid computations.

Fields

  • name::String: Full name of gas (i.e. Xenon)

  • short_name::String: Short name/symbol (i.e. Xe for Xenon)

  • γ::Float64: Specific heat ratio / adiabatic index

  • M::Float64: Molar mass (grams/mol) or atomic mass units

  • m::Float64: Mass of atom in kg

  • cp::Float64: Specific heat at constant pressure

  • cv::Float64: Specific heat at constant volume

  • R::Float64: Gas constant

source
HallThruster.GasMethod
Gas(name, short_name; γ, M) -> Gas

Instantiate a new Gas, providing a name, short name, the adiabatic index, and the molar mass. Other gas properties, including gas constant, specific heats at constant pressure/volume, and mass of atom/molecule in kg will are then computed.

julia> Gas("Xenon", "Xe", γ = 5/3, M = 83.798)
Xenon
source

Gases can become ionized to produce Species, which are structs containing a Gas and a charge state, Z. HallThruster uses the ncharge field of Config (see Configuration) to construct a list of Species, which it then uses to load reactions from the default directory and from any user-provided directories.

HallThruster.SpeciesType
struct Species

Represents a gas with a specific charge state. In a plasma, different ionization states of the same gas may coexist, so we need to be able to differentiate between these.

Fields

  • element::HallThruster.Gas: The gas that forms the base of the species

  • Z::Int64: The charge state of the species, i.e. Z = 1 for a singly-charged species

  • symbol::Symbol: The symbol of the species, i.e. Symbol(Xe+) for Species(Xenon, 1)

julia> Species(Xenon, 0)
Xe

julia> Species(Xenon, 1)
Xe+

julia> Species(Xenon, 3)
Xe3+
source
HallThruster.SpeciesMethod
Species(element::Gas, Z::Int) -> Species

Construct a Species from a Gas and a charge state. You can also use the (::Gas)(Z) convenience constructor like so.

julia> Xenon(0) == Species(Xenon, 0)
true
source

Built-in propellants

HallThruster provides Gas definitions and full sets of reaction rate coefficients for the following gases

  • Xenon
  • Krypton

Gas definitions and partial rate coefficients are available for these gases.

  • Argon: Single, double, and triple ionization from neutral argon. No excitation or momentum transfer collisions.
  • MolecularNitrogen: Single ionization and momentum transfer collisions. No dissociation or excitation.
  • Bismuth
  • Mercury

Users wishing to implement their own propellant should read Adding a new propellant.