Postprocessing
Types
HallThruster.Postprocess — Typestruct PostprocessContains 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.
Functions
Time-averaging
Time-averaging can be accomplished by providing a start time, or a starting frame.
HallThruster.time_average — Methodtime_average(
sol::HallThruster.Solution,
start_time
) -> HallThruster.Solution
Average a Solution over time, starting at time start_time. Return a Solution object with a single frame containing the averaged simulation properties
HallThruster.time_average — Functiontime_average(
sol::HallThruster.Solution
) -> HallThruster.Solution
time_average(
sol::HallThruster.Solution,
start_frame::Integer
) -> HallThruster.Solution
Average a Solution over time, starting at frame start_frame. Return a Solution object with a single frame containing the averaged simulation properties
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.thrust — Methodthrust(
sol::HallThruster.Solution,
frame::Integer
) -> Float64
Compute the thrust at a specific frame of a Solution.
HallThruster.thrust — Methodthrust(sol::HallThruster.Solution) -> Vector
Compute the thrust at a each frame of a Solution.
HallThruster.discharge_current — Methoddischarge_current(
sol::HallThruster.Solution,
frame::Integer
) -> Float64
Compute the discharge current at a specific frame of a Solution.
HallThruster.discharge_current — Methoddischarge_current(
sol::HallThruster.Solution
) -> Vector{Float64}
Compute the discharge current at a each frame of a Solution.
HallThruster.anode_eff — Methodanode_eff(
sol::HallThruster.Solution,
frame::Integer
) -> Float64
Compute the anode efficiency at a specific frame of a Solution.
HallThruster.anode_eff — Methodanode_eff(sol::HallThruster.Solution) -> Vector
Compute the anode efficiency at each frame of a Solution.
HallThruster.divergence_eff — Methoddivergence_eff(
sol::HallThruster.Solution,
frame::Integer
) -> Float64
Compute the divergence efficiency at a specific frame of a Solution.
HallThruster.divergence_eff — Methoddivergence_eff(sol::HallThruster.Solution) -> Vector
Compute the divergence efficiency at each frame of a Solution.
HallThruster.ion_current — Methodion_current(sol::HallThruster.Solution, frame) -> Any
Compute the ion current at a specific frame of a Solution.
HallThruster.ion_current — Methodion_current(sol::HallThruster.Solution) -> Vector
Compute the ion current at each frame of a Solution.
HallThruster.electron_current — Methodelectron_current(
sol::HallThruster.Solution,
frame
) -> Float64
Compute the electron current at a specific frame of a Solution.
HallThruster.electron_current — Methodelectron_current(sol::HallThruster.Solution) -> Vector
Compute the electron current at each frame of a Solution.
HallThruster.current_eff — Methodcurrent_eff(sol::HallThruster.Solution, frame) -> Any
Compute the current/beam utilization efficiency at a specific frame of a Solution.
HallThruster.current_eff — Methodcurrent_eff(sol::HallThruster.Solution) -> Vector
Compute the current/beam utilization efficiency at each frame of a Solution.
HallThruster.mass_eff — Methodmass_eff(sol::HallThruster.Solution, frame) -> Any
Compute the mass utilization efficiency at a specific frame of a Solution.
HallThruster.mass_eff — Methodmass_eff(sol::HallThruster.Solution) -> Vector
Compute the mass utilization efficiency at each frame of a Solution.
HallThruster.voltage_eff — Methodvoltage_eff(
sol::HallThruster.Solution,
frame::Integer
) -> Float64
Compute the voltage/acceleration efficiency at a specific frame of a Solution.
HallThruster.voltage_eff — Methodvoltage_eff(sol::HallThruster.Solution) -> Vector
Compute the voltage/acceleration efficiency at each frame of a Solution.