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.Gas
— Typestruct 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 indexM::Float64
: Molar mass (grams/mol) or atomic mass unitsm::Float64
: Mass of atom in kgcp::Float64
: Specific heat at constant pressurecv::Float64
: Specific heat at constant volumeR::Float64
: Gas constant
HallThruster.Gas
— MethodGas(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
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.Species
— Typestruct 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 speciesZ::Int64
: The charge state of the species, i.e. Z = 1 for a singly-charged speciessymbol::Symbol
: The symbol of the species, i.e.Symbol(Xe+)
forSpecies(Xenon, 1)
julia> Species(Xenon, 0)
Xe
julia> Species(Xenon, 1)
Xe+
julia> Species(Xenon, 3)
Xe3+
HallThruster.Species
— MethodSpecies(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
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.