Postprocessing
Types
HallThruster.Postprocess
— Typestruct 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.
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{_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
HallThruster.time_average
— Functiontime_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
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) -> Any
Compute the thrust at a specific frame of a Solution
.
HallThruster.thrust
— Methodthrust(sol::HallThruster.Solution) -> Any
Compute the thrust at a each frame of a Solution
.
HallThruster.discharge_current
— Methoddischarge_current(
sol::HallThruster.Solution,
frame::Integer
) -> Any
Compute the discharge current at a specific frame of a Solution
.
HallThruster.discharge_current
— Methoddischarge_current(sol::HallThruster.Solution) -> Any
Compute the discharge current at a each frame of a Solution
.
HallThruster.anode_eff
— Methodanode_eff(sol::HallThruster.Solution, frame::Integer) -> Any
Compute the anode efficiency at a specific frame of a Solution
.
HallThruster.anode_eff
— Methodanode_eff(sol::HallThruster.Solution) -> Any
Compute the anode efficiency at each frame of a Solution
.
HallThruster.divergence_eff
— Methoddivergence_eff(
sol::HallThruster.Solution,
frame::Integer
) -> Any
Compute the divergence efficiency at a specific frame of a Solution
.
HallThruster.divergence_eff
— Methoddivergence_eff(sol::HallThruster.Solution) -> Any
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) -> Any
Compute the ion current at each frame of a Solution
.
HallThruster.electron_current
— Methodelectron_current(sol::HallThruster.Solution, frame) -> Any
Compute the electron current at a specific frame of a Solution
.
HallThruster.electron_current
— Methodelectron_current(sol::HallThruster.Solution) -> Any
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) -> Any
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) -> Any
Compute the mass utilization efficiency at each frame of a Solution
.
HallThruster.voltage_eff
— Methodvoltage_eff(
sol::HallThruster.Solution,
frame::Integer
) -> Any
Compute the voltage/acceleration efficiency at a specific frame of a Solution
.
HallThruster.voltage_eff
— Methodvoltage_eff(sol::HallThruster.Solution) -> Any
Compute the voltage/acceleration efficiency at each frame of a Solution
.