Postprocessing

Types

HallThruster.PostprocessType
struct Postprocess

Contains postprocessing options for a given simulation. When run_simulation(config, sim_params; postprocess = Postprocess(...)) is called with a non-empty output_file, HallThruster will write the simulation results to a JSON file. The results in the file will be transformed according to the fields.

Fields

  • output_file::String: The file to which the output will be written. If empty, no output will be written.
  • average_start_time::Float64: The time to begin averaging at. If less than zero, no averaged output will be written.
  • save_time_resolved::Bool: Whether time-resolved output will be saved. If true, each frame of the simulation will be written to the output file.
source

Functions

Time-averaging

Time-averaging can be accomplished by providing a start time, or a starting frame.

HallThruster.time_averageMethod
time_average(
    sol::HallThruster.Solution,
    start_time
) -> HallThruster.Solution{_A, _B, _C, S} where {_A, _B, _C, S<:(Vector)}

Average a Solution over time, starting at time start_time. Return a Solution object with a single frame containing the averaged simulation properties

source
HallThruster.time_averageFunction
time_average(
    sol::HallThruster.Solution
) -> HallThruster.Solution{_A, _B, _C, S} where {_A, _B, _C, S<:(Vector)}
time_average(
    sol::HallThruster.Solution,
    start_frame::Integer
) -> HallThruster.Solution{_A, _B, _C, S} where {_A, _B, _C, S<:(Vector)}

Average a Solution over time, starting at frame start_frame. Return a Solution object with a single frame containing the averaged simulation properties

source

Global metrics

These functions compute global metrics, i.e. thrust, currents, and efficiencies. Each has a version that computes the metric for the entire solution, and a version that acts on a specific frame.

HallThruster.thrustMethod
thrust(sol::HallThruster.Solution, frame::Integer) -> Any

Compute the thrust at a specific frame of a Solution.

source
HallThruster.thrustMethod
thrust(sol::HallThruster.Solution) -> Any

Compute the thrust at a each frame of a Solution.

source
HallThruster.discharge_currentMethod
discharge_current(
    sol::HallThruster.Solution,
    frame::Integer
) -> Any

Compute the discharge current at a specific frame of a Solution.

source
HallThruster.anode_effMethod
anode_eff(sol::HallThruster.Solution, frame::Integer) -> Any

Compute the anode efficiency at a specific frame of a Solution.

source
HallThruster.anode_effMethod
anode_eff(sol::HallThruster.Solution) -> Any

Compute the anode efficiency at each frame of a Solution.

source
HallThruster.divergence_effMethod
divergence_eff(
    sol::HallThruster.Solution,
    frame::Integer
) -> Any

Compute the divergence efficiency at a specific frame of a Solution.

source
HallThruster.ion_currentMethod
ion_current(sol::HallThruster.Solution, frame) -> Any

Compute the ion current at a specific frame of a Solution.

source
HallThruster.current_effMethod
current_eff(sol::HallThruster.Solution, frame) -> Any

Compute the current/beam utilization efficiency at a specific frame of a Solution.

source
HallThruster.current_effMethod
current_eff(sol::HallThruster.Solution) -> Any

Compute the current/beam utilization efficiency at each frame of a Solution.

source
HallThruster.mass_effMethod
mass_eff(sol::HallThruster.Solution, frame) -> Any

Compute the mass utilization efficiency at a specific frame of a Solution.

source
HallThruster.mass_effMethod
mass_eff(sol::HallThruster.Solution) -> Any

Compute the mass utilization efficiency at each frame of a Solution.

source
HallThruster.voltage_effMethod
voltage_eff(
    sol::HallThruster.Solution,
    frame::Integer
) -> Any

Compute the voltage/acceleration efficiency at a specific frame of a Solution.

source
HallThruster.voltage_effMethod
voltage_eff(sol::HallThruster.Solution) -> Any

Compute the voltage/acceleration efficiency at each frame of a Solution.

source