Skip to content

ChloeClark1/Bio-Systems-Research-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Rocket Engine Exit Area Optimization During Flight

Overview

This project introduces a dynamic objective function that uses exit area and altitude to measure the specific impulse of various rocket engines. Multiple biologically inspired algorithms were developed to attempt this optimization. This study will provide quantitative data on how much efficiency loss there is on current rocket engines with unchanging nozzle geometry.

Objective Function

The objective function takes the exit area as the position value and an altitude as the time. There is an additional parameter holding the engine class so specific engines can be tested. Specific impulse is then calculated with this information and returned as the result. The goal of each algorithm is to maximize specific impulse by optimizing the exit area at various points of flight of a real rocket.

$f(x,t) = \frac{m_{cc} * V_e + x(P_e - t)}{m_{total} * g_0}$
Where:
$m_{cc} =$ Combustion Chamber Mass Flow Rate
$V_e =$ Exit Velocity
$x =$ Exit Area
$P_e =$ Exit Pressure
$t =$ Ambient Pressure
$m_{total} =$ Mass Flow Rate
$g_0 = 9.81$ m/s

Algorithms

PSO

  • Operates the same as standard PSO algorithm with inertia with the following update steps: $v_i(t+1) = wv_i(t) + \alpha\varepsilon_1 [g^(t)-x_i(t)]+\beta\varepsilon_2[x_i^(t)-x_i(t)]$
    $x_i(t+1) = x_i + v_i(t+1)$
  • When a shift is detected the worst 33% of particles are reinitialized in random locations

MPSO

  • Perform PSO on smaller sub-swarms within the population
  • Use exclusion to prevent sub-swarms from converging on the same peaks
  • When a shift is detected the particles within the best sub-swarms (keep_swarms) will scatter around the historical best position of their sub-swarm

BHA

  • Stars are scattered across the search space, with the one with the best solution being the black hole
  • The black hole pulls the stars towards it
  • If a star gets too close to the black hole then it disappears and is replaced with a random one

Dyanmic DE

  • Operates the same as standard DE with $F\sim U(0.4,0.9)$
  • Use exponential crossover for ability to keep directional info when exploring search space
  • When a shift is detected the bottom 75% of solutions are reinitialized in random locations

Firefly

  • Modified FA to control $\alpha$ parameter as well as modified update step
  • Each firefly will only to towards the most attractive individual in the population
  • If there are no more attractive individuals then the firefly will perform a random walk
  • Updated via:
    $x_i(t+1)=x_i(t) + \beta e^{-\gamma r_{ij}^2}[x_j(t)-x_i(t)] + \alpha(t) \varepsilon(t)$

How to Run

  • Clone the repository
  • Run pip install -r requirements.txt
  • The experiments.py file holds the experiment trials for each algorithm on the objective function.
  • the main.py file holds the tuning routines for each algorithm.

Sources Used

For specific impulse calculation: https://wikis.mit.edu/confluence/pages/viewpage.action?pageId=153816550 For data used to create trajectory function: https://education.ti.com/-/media/4113B908B22F4F5085BE8319260A02B0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages