In [1]:
import math
import numpy as np
This document is to provide a calculation process for determining the required power necessary to power the Electric Feed System.
In this document, variables for Pressure, Mass Flowrate, Fluid Properties, and Plumbing Geometry will be self-defined variables.
Equations will use the defined variables for calculations.
In [2]:
g = 9.80665 # m/s^2 gravitational acceleration
p_in = 689.5*1000 # Pa Inlet Pressure to Pump from both IPA/LOX Tanks
p_ch = 2413.2*1000 # Pa Chamber Pressure for Rocket Engine
mdot_f = 1.141 # kg/s Mass flow rate for Isopropyl Alcohol
mdot_o = 1.483 # kg/s Mass flow rate for Liquid Oxygen
rho_f = 849.28 # kg/m^3 Density of 70% Isopropyl Alcohol
rho_o = 1.141*10**3 # kg/m^3 Density of Liquid Oxygen
mu_f = 0.00192 # Ns/m^2 Dynamic Viscosity for Isopropyl Alcohol
mu_o = 0.000009 # Ns/m^2 Dynamic Viscosity for Liquid Oxygen
d_pipe = 0.013 # m Plumbing Pipe Diameter
epsilon_pipe = 1.5 *10**(-6) # m Drawn Tubing Relative Roughness
l_f = 0.508 # m Length of Straight Pipe Section IPA
l_o = 0.381 # m Length of Straight Pipe Section LOX
In [3]:
qdot_f = mdot_f / rho_f # m^3/s Isopropyl Alcohol Volumetric Flowrate
qdot_o = mdot_o / rho_o # m^3/s Liquid Oxygen Volumetric Flowrate
A_pipe = math.pi/4 * d_pipe**2 # m^2 Cross Sectional Area of Plumbing Pipe
v_f = qdot_f / A_pipe # m/s Isopropyl Alcohol Fluid Velocity
v_o = qdot_o / A_pipe # m/s Liquid Oxygen Fluid Velocity
Re_f = rho_f * v_f * d_pipe / mu_f # Reynolds Number for Isopropyl Alcohol
Re_o = rho_o * v_o * d_pipe / mu_o # Reynolds Number for liquid oxygen
Up to this point, the goal of the file has been to identify the characteristics of the system along with calculated some critical factors such as:
In [4]:
RtoD = epsilon_pipe / d_pipe # Rougness to Diameter Ratio
f_f = 0.025 # Friction Factor for Isopropyl Alcohol
f_o = 0.0149 # Friction Factor for Liquid Oxygen
h_LMajor_f = f_f * l_f * v_f**2 / (d_pipe*2*g) # m Head Major Loss IPA
h_LMajor_o = f_o * l_o * v_o**2 / (d_pipe*2*g) # m Head Major Loss LOX
System Minor Losses (energy losses due to changes in flow direction caused by plumbing connections.)
In [5]:
K_L = 0.3 # Loss Coefficient for Regular Flanged 90
h_LMinor_f = K_L * v_f**2 / (2*g) # m Head Minor Loss IPA
h_LMinor_o = K_L * v_o**2 / (2*g) # m Head Minor Loss LOX
#h_LPintle = -689.5*1000 # Pa Pressure Loss from Pintle (estimated)
delP_regen = 0 #1.379 * 10**6 # Pa Guessed pressure loss from regenerative cooling channels (200 PSI)
delP_f = 344.7*1000 # Pa Experimental Pressure Loss across Pintle
delP_o = 689.5*1000 # Pa Experimental Pressure Loss across Pintle
Reference Equations for Mechanical Energy Process
This section, the calculated power requirement can be used to estimate the battery requirement for a propellant system. Reassign any necessary variable once new design and experimental losses are identified.
If the propellant tank size is known, this value can be used directly instead of determined with mass flow, gravity, and estimated operation time as shown above.
In [6]:
def calculate(delP, h_LMajor, h_LMinor, rho, mdot, t, material):
p_out = p_ch + delP + delP_regen# Required Outlet Pressure
h_LTotal = h_LMajor + h_LMinor # Total Head Loss
gamma = rho*g # specific weight
h_s = p_out / gamma - p_in / gamma + h_LTotal # Shaft Work Head
w = mdot * g * t # total propellant weight
W = w * h_s / t # power requirement
print(material + " Requirements:")
print("Outlet Pressure:", p_out, "Pa")
print("Total Head Loss:", h_LTotal, "m")
print("Shaft Work Head:", h_s, "m")
print("Total propellant weight:", w, "N")
print("Power requirement:", W, "W")
print('')
return p_out, h_LTotal, h_s, w, W
In [7]:
calculate(delP_f, h_LMajor_f, h_LMinor_f, rho_f, mdot_f, 47.25, "IPA")
calculate(delP_o, h_LMajor_o, h_LMinor_o, rho_o, mdot_o, 47.25, "LOX")
Out[7]: