Thrusters
Built-in thrusters
HallThruster.SPT_100
— ConstantSPT-100
A Thruster
definition for the SPT-100 Hall thruster
Definition
const SPT_100 = Thruster(;
name = "SPT-100",
geometry = spt100_geometry,
magnetic_field = spt100_analytic_field(),
shielded = false,
)
HallThruster.spt100_geometry
— Constantspt_100_geometry
The geometry of the SPT-100 Hall thruster
const spt100_geometry = Geometry1D(;
inner_radius = 0.0345,
outer_radius = 0.05,
channel_length = 0.025,
)
HallThruster.spt100_analytic_field
— Functionspt100_analytic_field()
An analytic magnetic field similar to that of an SPT-100 thruster. Derived from the Landmark benchmark.
Types
HallThruster.Thruster
— Typestruct Thruster
Defines a Hall thruster from a name, geometry, magnetic field. The thruster may also be shielded, in which case the wall electron temperature is assumed to be equal to the anode electron temperature inside the discharge channel.
Fields
name::String
: Name of the thruster. Not used during the simulation, but useful for certain cases.
geometry::HallThruster.Geometry1D
: The thruster geometry
magnetic_field::HallThruster.MagneticField
: Contains a magnetic field at discrete axial locations
shielded::Bool
: Whether the thruster is magnetically-shielded
HallThruster.Geometry1D
— Typestruct Geometry1D
Describes the geometry of a Hall thruster discharge channel.
Fields
channel_length::Float64
: The discharge channel length, in meters
inner_radius::Float64
: The inner radius of the discharge channel, in meters
outer_radius::Float64
: The outer radius of the discharge channel, in meters
channel_area::Float64
: The discharge channel cross-sectional area, computed frominner_radius
andouter_radius
HallThruster.MagneticField
— Typemutable struct MagneticField
Specifies the radial magnetic field of a Hall thruster, measured along channel centerline.
Fields
file::String
: The file where magnetic field information can be found. Can be left empty ifz
andB
are explicitly specified.
z::Vector{Float64}
: The axial coordinates at which the magnetic field is known, in meters.
B::Vector{Float64}
: The magnetic field at each point inz
, measured in Teslas.
Functions
HallThruster.load_magnetic_field
— Functionload_magnetic_field(
file::String;
include_dirs
) -> HallThruster.MagneticField
Given a path to a file, loads a MagneticField
from the data in that file. Looks in the present working directory and any additional directories passed to include_dirs
.
HallThruster.load_magnetic_field!
— Functionload_magnetic_field!(
magnetic_field::HallThruster.MagneticField;
include_dirs
)
Given a magnetic field field
with empty z
or B
fields, looks for a magnetic field at field
.file. If one is found in the present directory or in any of the provided include_dirs
, sets z
and B
accordingly. Throws an ArgumentError if one is not found.