SM-Bello commited on
Commit
d30b6e8
·
verified ·
1 Parent(s): 2f911cd

Update src/engines/scramjet.py

Browse files
Files changed (1) hide show
  1. src/engines/scramjet.py +6 -5
src/engines/scramjet.py CHANGED
@@ -14,6 +14,7 @@ T_ISA_SL = 288.15
14
  LAPSE = 0.0065
15
  LHV_H2 = 119.90e6
16
 
 
17
  class ScramjetEngine(BaseEngine):
18
  def __init__(self):
19
  super().__init__(
@@ -156,10 +157,10 @@ class ScramjetEngine(BaseEngine):
156
 
157
  def compute_fault_signatures(self, baseline: Dict, flight_conditions: Dict) -> List[List[Dict]]:
158
  results = []
159
- for f in self.fault_library:
160
  lvl_vals = []
161
  for lv in range(3):
162
- m = f["levels"][lv]
163
  alt_m = flight_conditions.get("altitude_m", 30000)
164
  M = flight_conditions.get("mach", 5.5)
165
 
@@ -175,12 +176,12 @@ class ScramjetEngine(BaseEngine):
175
  P_t2 = P0 * eta_rec
176
  T_t4 = 2700.0 * (1 - (m[3] if len(m) > 3 else 0))
177
  mdot = self.A_inlet * P0 * M * (GAMMA / (T0 * 287))**0.5
178
- f = mdot * CP * (T_t4 - T_t2) / (eta_b * LHV_H2)
179
  T_t5 = T_t4
180
  P_t5 = P_t2 * eta_n
181
  V_exit = (2 * CP * (T_t5 - T))**0.5
182
  thrust = mdot * (V_exit - M * (GAMMA * 287 * T)**0.5) + (P_t5 - P) * self.A_exit
183
- Isp = thrust / (f * 9.81) if f > 0 else 0
184
  EGT = T_t5 - 273.15
185
 
186
  lvl_vals.append({"EGT": EGT, "thrust": thrust/1000, "Isp": Isp, "mdot": mdot})
@@ -241,4 +242,4 @@ class ScramjetEngine(BaseEngine):
241
  {"name": "thrust", "label": "Thrust", "default": 45.0, "unit": "kN", "type": "number"},
242
  {"name": "Isp", "label": "Specific Impulse", "default": 1800.0, "unit": "s", "type": "number"},
243
  {"name": "mdot", "label": "Air Mass Flow", "default": 1.8, "unit": "kg/s", "type": "number"}
244
- ]
 
14
  LAPSE = 0.0065
15
  LHV_H2 = 119.90e6
16
 
17
+
18
  class ScramjetEngine(BaseEngine):
19
  def __init__(self):
20
  super().__init__(
 
157
 
158
  def compute_fault_signatures(self, baseline: Dict, flight_conditions: Dict) -> List[List[Dict]]:
159
  results = []
160
+ for fault in self.fault_library: # renamed from 'f' to avoid shadowing
161
  lvl_vals = []
162
  for lv in range(3):
163
+ m = fault["levels"][lv]
164
  alt_m = flight_conditions.get("altitude_m", 30000)
165
  M = flight_conditions.get("mach", 5.5)
166
 
 
176
  P_t2 = P0 * eta_rec
177
  T_t4 = 2700.0 * (1 - (m[3] if len(m) > 3 else 0))
178
  mdot = self.A_inlet * P0 * M * (GAMMA / (T0 * 287))**0.5
179
+ fuel_ratio = mdot * CP * (T_t4 - T_t2) / (eta_b * LHV_H2) # renamed from 'f'
180
  T_t5 = T_t4
181
  P_t5 = P_t2 * eta_n
182
  V_exit = (2 * CP * (T_t5 - T))**0.5
183
  thrust = mdot * (V_exit - M * (GAMMA * 287 * T)**0.5) + (P_t5 - P) * self.A_exit
184
+ Isp = thrust / (fuel_ratio * 9.81) if fuel_ratio > 0 else 0
185
  EGT = T_t5 - 273.15
186
 
187
  lvl_vals.append({"EGT": EGT, "thrust": thrust/1000, "Isp": Isp, "mdot": mdot})
 
242
  {"name": "thrust", "label": "Thrust", "default": 45.0, "unit": "kN", "type": "number"},
243
  {"name": "Isp", "label": "Specific Impulse", "default": 1800.0, "unit": "s", "type": "number"},
244
  {"name": "mdot", "label": "Air Mass Flow", "default": 1.8, "unit": "kg/s", "type": "number"}
245
+ ]