Thrusters

Built-in thrusters

HallThruster.SPT_100Constant

SPT-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,
)
source
HallThruster.spt100_geometryConstant

spt_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,
)
source

Types

HallThruster.ThrusterType
struct 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
source
HallThruster.Geometry1DType
struct 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 from inner_radius and outer_radius
source
HallThruster.MagneticFieldType
mutable 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 if z and B 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 in z, measured in Teslas.
source

Functions

HallThruster.load_magnetic_fieldFunction
load_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.

source
HallThruster.load_magnetic_field!Function
load_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.

source