A JSBSim model requires aircraft, engine, and script definitions.
This is how I structured the Electron flight model in JSBSim:
aircraft/ Electron.xml: Rocket geometry, aerodynamic parameters (from RASAero), and engine config NZ01.xml: Parameters of (imaginary) launch site in New Zealand aircraft/Systems/ ElectronControlSystem.xml: GNC parameters ElectronGuidanceExecutive.xml: Mission clock, guidance modes ElectronFirstStageEffectors.xml: First stage engine gimbal definition ElectronSecondStageEffectors.xml: 2nd stage engine gimbal definition engine/ Rutherford.xml Rutherford-nozzle.xml Rutherford_vac.xml Rutherford_vac-nozzle.xml scripts/ Electron.xml: Defines wind speeds, rocket staging, console output
I based the file organization and GNC structure on the Jupiter-246 concept model available in JSBSim, but otherwise everything was done nearly from scratch.
The masses of each major rocket part such as payload shroud, body tubes, engines, were specified as pointmass elements inside the mass_balance section of the aircraft definition, aircraft/Electron.xml. Only cylindrical and spherical (solid or hollow) shapes can be specified, so it ends up being an approximation of the geometry. The dimensions of each part are fairly well defined from Rocket Lab's web site, and I used masses previously estimated when trying OpenRocket.
Engines are first defined in engine files (the engine and nozzle are separately defined in JSBSim). Here are example engine and nozzle files for the Rutherford engine. The Isp was guessed from other high-performing Kerosene liquid engines, and the mass flow rate \(\dot{m}\) was calculated using the relation \(Isp=F/\dot{m}g\) where F is the thrust of the engine given on the Rocket Lab web site (146.6 kN peak, or 16.3 kN/engine) and g is the acceleration due to gravity 9.8 m/s^2. The mixture ratio 2.6 is a standard oxidizer to propellant mixture ratio for LOX/kerosene. Incidentally, LOX/Kerosene is the same proven combination used on the Saturn V moon rocket and SpaceX's Falcon 9.
<?xml version="1.0"?>
<rocket_engine name="Rutherford">
<isp> 350.0 </isp>
<maxthrottle> 1.00 </maxthrottle>
<minthrottle> 0.40 </minthrottle>
<propflowmax unit="LBS/SEC"> 10.4625 </propflowmax>
<mixtureratio> 2.6 </mixtureratio>
</rocket_engine>
<?xml version="1.0"?>
<nozzle name="Rutherford Nozzle">
<!-- area = Nozzle exit area, sqft. -->
<area unit="FT2"> 0.209 </area>
</nozzle>
This NASA web site gives a nice introduction to the concept of specific impulse.
Tanks are specified in the aircraft definition file, by giving the types (FUEL/OXIDIZER), locations, capacities, and drain locations. Tanks are "hooked up" to engines by specifying the tank number as feed elements in each engine.
Continue reading...
No comments:
Post a Comment