Skip to content

hallmd.data

The hallmd.data package contains a folder for each unique thruster. The experimental data for each thruster is further divided by folders for each individual paper or reference. The raw experimental data is contained within these folders in any supported format (currently only .csv). Any additional documentation for the datasets is encouraged (e.g. citations, descriptions, summaries, etc.) and can be included in the data folders.

Thrusters

SPT-100

Currently the only thruster with available data. Data for the SPT-100 comes from four sources:

  1. Diamant et al. 2014 - provides thrust and ion current density data as a function of chamber background pressure.
  2. Macdonald et al. 2019 - provides ion velocity profiles for varying chamber pressures.
  3. Sankovic et al. 1993 - provides thrust at varying operating conditions.
  4. Jorns and Byrne. 2021 - provides cathode coupling voltages at same conditions as Diamant et al. 2014.

Citations:

SPT-100.bib
@incollection{diamantEffectBackgroundPressure2014,
    title = {The {{Effect}} of {{Background Pressure}} on {{SPT-100 Hall
             Thruster Performance}}},
    booktitle = {50th {{AIAA}}/{{ASME}}/{{SAE}}/{{ASEE Joint Propulsion
                 Conference}}},
    author = {Diamant, Kevin D. and Liang, Raymond and Corey, Ron L.},
    date = {2014-07-25},
    series = {{{AIAA Propulsion}} and {{Energy Forum}}},
    publisher = {{American Institute of Aeronautics and Astronautics}},
    doi = {10.2514/6.2014-3710},
    year = {2014},
}

@article{macdonaldBackgroundPressureEffects2019,
    title = {Background {{Pressure Effects}} on {{Ion Velocity Distributions}}
             in an {{SPT-100 Hall Thruster}}},
    author = {Macdonald-Tenenbaum, Natalia and Pratt, Quinn and Nakles, Michael
              and Pilgram, Nickolas and Holmes, Michael and Hargus, William},
    date = {2019-01-11},
    journaltitle = {Journal of Propulsion and Power},
    shortjournal = {Journal of Propulsion and Power},
    volume = {35},
    pages = {1--10},
    doi = {10.2514/1.B37133},
}

@inproceedings{sankovicPerformanceEvaluationRussian1993,
    title = {Performance Evaluation of the {{Russian SPT-100}} Thruster at {{
             NASA LeRC}}},
    author = {Sankovic, J. and Hamley, J. and Haag, T.},
    date = {1993-09-13/1993-09-16},
    location = {{Seattle, WA, USA}},
    url = {
           https://www.semanticscholar.org/paper/Performance-evaluation-of-the-Russian-SPT-100-at-Sankovic-Hamley/81b7d985669b21aa1a8419277c52e7a879bf3b46
           },
    urldate = {2023-01-06},
    eventtitle = {23rd {{International Electric Propulsion Conference}}},
}

@article{jornsCathodeCoupling2021,
    title = {Model for the dependence of cathode voltage in a {H}all thruster on
             facility pressure},
    author = {Jorns, Benjamin A. and Byrne, Matthew P.},
    date = {2021-01-12},
    journaltitle = {Plasma Sources Science and Technology},
    volume = {30},
    number = {1},
    pages = {015012},
    publisher = {IOP Publishing},
    doi = {10.1088/1361-6595/abd3b6},
}

Measurement(mean, std) dataclass

Bases: Generic[T]

A measurement object that includes a mean and standard deviation. The mean is the best estimate of the quantity being measured, and the standard deviation is the uncertainty in the measurement. Can be used to specify a scalar measurement quantity or a field quantity (e.g. a profile) in the form of a numpy array.

OperatingCondition(background_pressure_Torr, discharge_voltage_V, anode_mass_flow_rate_kg_s) dataclass

Operating conditions for a Hall thruster. Currently includes background pressure (Torr), discharge voltage (V), and anode mass flow rate (kg/s).

ThrusterData(cathode_coupling_voltage_V=None, thrust_N=None, discharge_current_A=None, ion_current_A=None, efficiency_current=None, efficiency_mass=None, efficiency_voltage=None, efficiency_anode=None, ion_velocity_coords_m=None, ion_velocity_m_s=None, divergence_angle_rad=None, ion_current_density_radius_m=None, ion_current_density_coords_m=None, ion_current_density_A_m2=None) dataclass

Class for Hall thruster data. Contains fields for all relevant performance metrics and quantities of interest.

load(files)

Load all data from the given files into a dict map of OperatingCondition -> ThrusterData. Each thruster operating condition corresponds to one set of thruster measurements or quantities of interest (QoIs).

PARAMETER DESCRIPTION
files

A list of file paths or a single file path to load data from (only .csv supported).

TYPE: list[PathLike] | PathLike

RETURNS DESCRIPTION
dict[OperatingCondition, ThrusterData]

A dict map of OperatingCondition -> ThrusterData objects.

Source code in src/hallmd/data/__init__.py
def load(files: list[PathLike] | PathLike) -> dict[OperatingCondition, ThrusterData]:
    """Load all data from the given files into a dict map of `OperatingCondition` -> `ThrusterData`.
    Each thruster operating condition corresponds to one set of thruster measurements or quantities of interest (QoIs).

    :param files: A list of file paths or a single file path to load data from (only .csv supported).
    :return: A dict map of `OperatingCondition` -> `ThrusterData` objects.
    """
    data: dict[OperatingCondition, ThrusterData] = {}
    if isinstance(files, list):
        # Recursively load resources in this list (possibly list of lists)
        for file in files:
            data.update(load(file))
    else:
        data.update(_load_single(files))

    return data