proptools.electric package

Electric propulsion design tools.

m_Xe float(x) -> floating point number
m_Kr float(x) -> floating point number
thrust(I_b, V_b, m_ion) Thrust of an electric thruster.
jet_power(F, m_dot) Jet power of a rocket propulsion device.
double_ion_thrust_correction(double_fraction) Doubly-charged ion thrust correction factor.
specific_impulse(V_b, m_ion[, …]) Specific impulse of an electric thruster.
total_efficiency([divergence_correction, …]) Total efficiency of an electric thruster.
thrust_per_power(I_sp[, total_efficiency]) Thrust/power ratio of an electric thruster.
stuhlinger_velocity(total_efficiency, t_m, …) Stuhlinger velocity, a characteristic velocity for electric propulsion missions.
optimal_isp_thrust_time(total_efficiency, …) Optimal specific impulse for constant thrust / fixed time mission.
optimal_isp_delta_v(dv, total_efficiency, …) Optimal specific impulse for a fixed \(\Delta v\) mission.
proptools.electric.double_ion_thrust_correction(double_fraction)

Doubly-charged ion thrust correction factor.

Compute the thrust correction factor for the presence of doubly charged ions in the beam. This factor is denoted as \(\alpha\) in Goebel and Katz.

Reference: Goebel and Katz, equation 2.3-14.

Parameters:double_fraction (scalar in [0, 1]) – The doubly-charged ion current over the singly-charged ion current, \(I^{++} / I^+\) [units: dimensionless].
Returns:The thrust correction factor, \(\alpha\) [units: dimensionless].
Return type:scalar in (0, 1]
proptools.electric.jet_power(F, m_dot)

Jet power of a rocket propulsion device.

Compute the kinetic power of the jet for a given thrust level and mass flow.

Reference: Goebel and Katz, equation 2.3-4.

Parameters:
  • F (scalar) – Thrust force [units: newton].
  • m_dot (scalar) – Jet mass flow rate [units: kilogram second**-1].
Returns:

jet power [units: watt].

Return type:

scalar

proptools.electric.optimal_isp_delta_v(dv, total_efficiency, t_m, specific_mass, discharge_loss=None, m_ion=None)

Optimal specific impulse for a fixed \(\Delta v\) mission.

The dependence of efficiency on specific impulse can optionally be included in the optimization. If discharge_loss and m_ion are not provided, then the total efficiency \(\eta_T\) has a constant value of the given total_efficiency. If discharge_loss and m_ion are provided, \(\eta_T\) is assumed to vary with specific impulse as:

\(\eta_T = \frac{\eta_{T,0}}{1 + (v_L / I_{sp} g)^2}\)

where \(\eta_{T,0}\) is the given value of total_efficiency, and \(v_L\) is the loss velocity:

\(v_L = \sqrt{2 q V_d / m_i}\)

where \(V_d\) is the discharge loss and \(m_i\) is the ion mass.

Reference: Lozano 16.522 notes, equation 3-13.

Parameters:
  • total_efficiency (scalar in (0, 1]) – The total efficiency of the thruster [units: dimensionless].
  • t_m – mission thrust duration [units: second].
  • specific_mass – specific mass (per unit power) of the thruster and power system [units: kilogram watt**1].
  • discharge_loss (scalar, optional) – The discharge loss per ion [units: volt].
  • m_ion (scalar, optional) – Ion mass [units: kilogram].
Returns:

Optimal specific impulse [units: second].

Return type:

scalar

proptools.electric.optimal_isp_thrust_time(total_efficiency, t_m, specific_mass)

Optimal specific impulse for constant thrust / fixed time mission.

Reference: Lozano 16.522 notes, equation 3-5.

Parameters:
  • total_efficiency (scalar in (0, 1]) – The total efficiency of the thruster [units: dimensionless].
  • t_m – mission thrust duration [units: second].
  • specific_mass (scalar) – specific mass (per unit power) of the thruster and power system [units: kilogram watt**1].
Returns:

Optimal specific impulse [units: second].

Return type:

scalar

proptools.electric.specific_impulse(V_b, m_ion, divergence_correction=1, double_fraction=1, mass_utilization=1)

Specific impulse of an electric thruster.

If only V_b and m_ion are provided, the ideal specific impulse will be computed. If divergence_correction, double_fraction, or mass_utilization are provided, the specific impulse will be reduced by the corresponding efficiency factors.

Reference: Goebel and Katz, equation 2.4-8.

Parameters:
  • V_b (scalar) – Beam voltage [units: volt].
  • m_ion (scalar) – Ion mass [units: kilogram].
  • divergence_correction (scalar in (0, 1])) – Thrust correction factor for beam divergence [units: dimensionless].
  • double_fraction (scalar in [0, 1]) – The doubly-charged ion current over the singly-charged ion current, \(I^{++} / I^+\) [units: dimensionless].
  • mass_utilization (scalar in (0, 1])) – Mass utilization efficiency [units: dimensionless].
Returns:

the specific impulse [units: second].

Return type:

scalar

proptools.electric.stuhlinger_velocity(total_efficiency, t_m, specific_mass)

Stuhlinger velocity, a characteristic velocity for electric propulsion missions.

The Stuhlinger velocity is a characteristic velocity for electric propulsion missions, and is used in calculation of optimal specific impulse. It is defined as:

\(v_{ch} \equiv \sqrt{ \frac{2 \eta_T t_m}{\alpha} }\)

where \(\eta_T\) is the thruster total efficiency, \(t_m\) is the mission thrust duration, and \(\alpha\) is the propulsion and power system specific mass.

The Stuhlinger velocity is also an approximate upper limit for the \(\Delta v\) capability of an electric propulsion spacecraft.

Reference: Lozano 16.522 notes, equation 3-7.

Parameters:
  • total_efficiency (scalar in (0, 1]) – The total efficiency of the thruster [units: dimensionless].
  • t_m – mission thrust duration [units: second].
  • specific_mass – specific mass (per unit power) of the thruster and power system [units: kilogram watt**1].
Returns:

Stuhlinger velocity [units: meter second**-1].

Return type:

scalar

proptools.electric.thrust(I_b, V_b, m_ion)

Thrust of an electric thruster.

Compute the ideal thrust of an electric thruster from the beam current and voltage, assuming singly charged ions and no beam divergence.

Reference: Goebel and Katz, equation 2.3-8.

Parameters:
  • I_b (scalar) – Beam current [units: ampere].
  • V_b (scalar) – Beam voltage [units: volt].
  • m_ion (scalar) – Ion mass [units: kilogram].
Returns:

Thrust force [units: newton].

Return type:

scalar

proptools.electric.thrust_per_power(I_sp, total_efficiency=1)

Thrust/power ratio of an electric thruster.

Reference: Goebel and Katz, equation 2.5-9.

Parameters:
  • I_sp (scalar) – Specific impulse [units:second].
  • total_efficiency (scalar in (0, 1]) – The total efficiency of the thruster [units: dimensionless].
Returns:

Thrust force per unit power input [units: newton watt**-1].

Return type:

scalar

proptools.electric.total_efficiency(divergence_correction=1, double_fraction=1, mass_utilization=1, electrical_efficiency=1)

Total efficiency of an electric thruster.

The total efficiency is defined as the ratio of jet power to input power:

\(\eta_T \equiv \frac{P_{jet}}{P_{in}}\)

Reference: Goebel and Katz, equation 2.5-7.

Parameters:
  • divergence_correction (scalar in (0, 1])) – Thrust correction factor for beam divergence [units: dimensionless].
  • double_fraction (scalar in [0, 1]) – The doubly-charged ion current over the singly-charged ion current, \(I^{++} / I^+\) [units: dimensionless].
  • mass_utilization (scalar in (0, 1])) – Mass utilization efficiency [units: dimensionless].
  • electrical_efficiency (scalar in (0, 1])) – Electrical efficiency [units: dimensionless].
Returns:

Total efficiency [units: dimensionless].

Return type:

scalar