motor updates
This commit is contained in:
parent
78338eec02
commit
d1ede7c78f
@ -1,3 +1,8 @@
|
||||
2011-07-18 Sampo Niskanen
|
||||
|
||||
* Select motor type based on known manufacturers
|
||||
* Updated motor thrust curves from thrustcurve.org
|
||||
|
||||
2011-07-17 Sampo Niskanen
|
||||
|
||||
* Component scaling support
|
||||
|
||||
27
datafiles-src/thrustcurves/Loki_J175.rse
Normal file
27
datafiles-src/thrustcurves/Loki_J175.rse
Normal file
@ -0,0 +1,27 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine FDiv="10" FFix="1" FStep="-1." Isp="199.98" Itot="1157.08" Type="reloadable" auto-calc-cg="1" auto-calc-mass="1" avgThrust="178.012" burn-time="6.5" cgDiv="10" cgFix="1" cgStep="-1." code="J175" delays="1000" dia="54." exitDia="0." initWt="1264." len="327." mDiv="10" mFix="1" mStep="-1." massFrac="46.68" mfg="Loki Research" peakThrust="420.4" propWt="590." tDiv="10" tFix="1" tStep="-1." throatDia="0.">
|
||||
<data>
|
||||
<eng-data cg="163.5" f="0." m="590." t="0."/>
|
||||
<eng-data cg="163.5" f="4.8" m="589.988" t="0.01"/>
|
||||
<eng-data cg="163.5" f="420.4" m="580.231" t="0.1"/>
|
||||
<eng-data cg="163.5" f="347.5" m="560.653" t="0.2"/>
|
||||
<eng-data cg="163.5" f="349.9" m="542.873" t="0.3"/>
|
||||
<eng-data cg="163.5" f="364.5" m="524.659" t="0.4"/>
|
||||
<eng-data cg="163.5" f="320.7" m="507.19" t="0.5"/>
|
||||
<eng-data cg="163.5" f="296.4" m="428.524" t="1."/>
|
||||
<eng-data cg="163.5" f="279.4" m="355.123" t="1.5"/>
|
||||
<eng-data cg="163.5" f="260." m="286.363" t="2."/>
|
||||
<eng-data cg="163.5" f="238.1" m="222.867" t="2.5"/>
|
||||
<eng-data cg="163.5" f="209." m="165.872" t="3."/>
|
||||
<eng-data cg="163.5" f="172." m="117.304" t="3.5"/>
|
||||
<eng-data cg="163.5" f="133.6" m="78.3469" t="4."/>
|
||||
<eng-data cg="163.5" f="102." m="48.3135" t="4.5"/>
|
||||
<eng-data cg="163.5" f="75.3" m="25.712" t="5."/>
|
||||
<eng-data cg="163.5" f="46.2" m="10.2236" t="5.5"/>
|
||||
<eng-data cg="163.5" f="17." m="2.1671" t="6."/>
|
||||
<eng-data cg="163.5" f="0." m="0." t="6.5"/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
9
datafiles-src/thrustcurves/README.txt
Normal file
9
datafiles-src/thrustcurves/README.txt
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
This directory contains manually added / modified thrust curves.
|
||||
All other thrust curves are from www.thrustcurve.org
|
||||
(all RASP and RSE files).
|
||||
|
||||
SF_*.eng - Thrust curves for Weco Feuerwerk motors, created by Sampo N.
|
||||
|
||||
Loki_J175.rse - Corrected motor type from hybrid to reloadable
|
||||
|
||||
16
datafiles-src/thrustcurves/SF_A8.eng
Normal file
16
datafiles-src/thrustcurves/SF_A8.eng
Normal file
@ -0,0 +1,16 @@
|
||||
; Sachsen Feuerwerk / WECO Feuerwerk A8-3
|
||||
; Created by Sampo Niskanen for OpenRocket, released into the Public Domain
|
||||
; Thrust curve data taken from:
|
||||
; http://www.raketenmodellbautechnik.de/produkte/Motoren/SF-Motoren.pdf
|
||||
; Mass measured by the author.
|
||||
A8 18 70 3 0.00312 0.0153 SF
|
||||
0.065 0.44
|
||||
0.11 1.832
|
||||
0.199 6.412
|
||||
0.298 12.0
|
||||
0.332 7.805
|
||||
0.363 5.716
|
||||
0.438 4.397
|
||||
0.462 4.379
|
||||
0.555 1.227
|
||||
0.62 0.0
|
||||
16
datafiles-src/thrustcurves/SF_B4.eng
Normal file
16
datafiles-src/thrustcurves/SF_B4.eng
Normal file
@ -0,0 +1,16 @@
|
||||
; Sachsen Feuerwerk / WECO Feuerwerk B4-0, B4-4
|
||||
; Created by Sampo Niskanen for OpenRocket, released into the Public Domain
|
||||
; Thrust curve data taken from:
|
||||
; http://www.raketenmodellbautechnik.de/produkte/Motoren/SF-Motoren.pdf
|
||||
; Mass measured by the author from B4-4 motors.
|
||||
B4 18 70 0-4 0.00833 0.0195 SF
|
||||
0.088 0.542
|
||||
0.167 3.007
|
||||
0.319 11.678
|
||||
0.373 5.297
|
||||
0.525 4.091
|
||||
0.648 3.461
|
||||
0.8 3.321
|
||||
1.305 3.321
|
||||
1.389 0.455
|
||||
1.443 0.0
|
||||
29
datafiles-src/thrustcurves/SF_C2.eng
Normal file
29
datafiles-src/thrustcurves/SF_C2.eng
Normal file
@ -0,0 +1,29 @@
|
||||
; Sachsen Feuerwerk / WECO Feuerwerk Held 1000
|
||||
; Created by Sampo Niskanen for OpenRocket, released into the Public Domain
|
||||
; Thrust curve data taken from:
|
||||
; http://www.raketenmodellbautechnik.de/produkte/Motoren/SF-Motoren.pdf
|
||||
; True propellant weight unknown, estimates from various sources
|
||||
C2 15 95 P 0.012 0.024 SF
|
||||
0.075 3.543
|
||||
0.16 8.231
|
||||
0.184 8.007
|
||||
0.255 3.134
|
||||
0.316 1.765
|
||||
0.444 1.304
|
||||
0.821 1.251
|
||||
0.963 1.04
|
||||
1.538 1.277
|
||||
1.736 1.133
|
||||
2.491 1.317
|
||||
2.704 1.264
|
||||
3.397 1.436
|
||||
3.907 1.436
|
||||
4.157 1.277
|
||||
4.459 1.449
|
||||
4.469 2.292
|
||||
4.53 1.436
|
||||
4.917 1.449
|
||||
4.931 2.292
|
||||
4.969 1.422
|
||||
5.002 1.436
|
||||
5.068 0.0
|
||||
21
datafiles-src/thrustcurves/SF_C6.eng
Normal file
21
datafiles-src/thrustcurves/SF_C6.eng
Normal file
@ -0,0 +1,21 @@
|
||||
; Sachsen Feuerwerk / WECO Feuerwerk C6-0, C6-3, C6-5
|
||||
; Created by Sampo Niskanen for OpenRocket, released into the Public Domain
|
||||
; Thrust curve data taken from:
|
||||
; http://www.raketenmodellbautechnik.de/produkte/Motoren/SF-Motoren.pdf
|
||||
; Mass measured by the author from C6-3 motors.
|
||||
C6 18 70 0-3-5 0.01248 0.022 SF
|
||||
0.096 0.579
|
||||
0.152 2.441
|
||||
0.184 4.372
|
||||
0.312 11.642
|
||||
0.354 11.589
|
||||
0.395 6.269
|
||||
0.441 5.127
|
||||
0.537 4.091
|
||||
0.643 3.529
|
||||
0.983 3.301
|
||||
1.162 3.249
|
||||
1.217 3.02
|
||||
1.882 3.652
|
||||
1.919 1.141
|
||||
1.997 0.0
|
||||
19
datafiles-src/thrustcurves/SF_D7.eng
Normal file
19
datafiles-src/thrustcurves/SF_D7.eng
Normal file
@ -0,0 +1,19 @@
|
||||
; Sachsen Feuerwerk / WECO Feuerwerk D7-0, D7-3
|
||||
; Created by Sampo Niskanen for OpenRocket, released into the Public Domain
|
||||
; Thrust curve data taken from:
|
||||
; http://www.raketenmodellbautechnik.de/produkte/Motoren/SF-Motoren.pdf
|
||||
; Mass measured by the author from D7-3 motors.
|
||||
D7 25 70 0-3 0.019 0.043 SF
|
||||
0.079 1.625
|
||||
0.179 6.979
|
||||
0.326 18.992
|
||||
0.355 19.407
|
||||
0.372 20.426
|
||||
0.422 20.331
|
||||
0.48 14.085
|
||||
0.538 11.536
|
||||
0.68 9.815
|
||||
0.96 7.839
|
||||
1.34 8.253
|
||||
1.461 2.167
|
||||
1.582 0.0
|
||||
@ -1,5 +1,5 @@
|
||||
Rocket motor simulation data downloaded from ThrustCurve.org.
|
||||
This ZIP file contains 1473 simulator data files.
|
||||
This ZIP file contains 1506 simulator data files.
|
||||
For more info, please see http://www.thrustcurve.org/
|
||||
|
||||
AMW_I195.eng
|
||||
@ -1269,6 +1269,13 @@ AeroTech_F27.eng
|
||||
Data Source: user
|
||||
Contributor: John Coker
|
||||
|
||||
AeroTech_F30.eng
|
||||
Manufacturer: AeroTech
|
||||
Designation: F30FJ
|
||||
Data Format: RASP
|
||||
Data Source: mfr
|
||||
Contributor: Christopher Kobel
|
||||
|
||||
AeroTech_F32.eng
|
||||
Manufacturer: AeroTech
|
||||
Designation: F32T
|
||||
@ -1451,6 +1458,13 @@ AeroTech_G12.rse
|
||||
Data Source: user
|
||||
Contributor: John Coker
|
||||
|
||||
AeroTech_G138.eng
|
||||
Manufacturer: AeroTech
|
||||
Designation: G138T
|
||||
Data Format: RASP
|
||||
Data Source: user
|
||||
Contributor: Scott Sager
|
||||
|
||||
AeroTech_G142.eng
|
||||
Manufacturer: AeroTech
|
||||
Designation: G142
|
||||
@ -2158,6 +2172,13 @@ AeroTech_I161.rse
|
||||
Data Source: user
|
||||
Contributor: John Coker
|
||||
|
||||
AeroTech_I170.eng
|
||||
Manufacturer: AeroTech
|
||||
Designation: I170G
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Mark Hairfield
|
||||
|
||||
AeroTech_I195.eng
|
||||
Manufacturer: AeroTech
|
||||
Designation: I195J
|
||||
@ -3208,6 +3229,13 @@ AeroTech_L1500.rse
|
||||
Data Source: user
|
||||
Contributor: John Coker
|
||||
|
||||
AeroTech_L1520.eng
|
||||
Manufacturer: AeroTech
|
||||
Designation: L1520T
|
||||
Data Format: RASP
|
||||
Data Source: mfr
|
||||
Contributor: Christopher Kobel
|
||||
|
||||
AeroTech_L2200.eng
|
||||
Manufacturer: AeroTech
|
||||
Designation: L2200G
|
||||
@ -3684,6 +3712,20 @@ Apogee_F10.rse
|
||||
Data Source: user
|
||||
Contributor: John Coker
|
||||
|
||||
Cesaroni_E75.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 25-E75-17A
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_E75.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 25-E75-17A
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_F120.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 56-F120-14A
|
||||
@ -3796,6 +3838,34 @@ Cesaroni_F79.rse
|
||||
Data Source: cert
|
||||
Contributor: Len Bryan
|
||||
|
||||
Cesaroni_F85.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 74-F85-15A
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_F85.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 74-F85-15A
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_G100.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 114-G100-14A
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_G100.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 114-G100-14A
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_G106.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 138-G106-14A
|
||||
@ -3887,6 +3957,20 @@ Cesaroni_G126.rse
|
||||
Data Source: cert
|
||||
Contributor: Len Bryan
|
||||
|
||||
Cesaroni_G127.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 137-G127-14A
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_G127.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 137-G127-14A
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_G131.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 125-G131-14A
|
||||
@ -5147,6 +5231,20 @@ Cesaroni_J240.rse
|
||||
Data Source: mfr
|
||||
Contributor: Thomas Raithby
|
||||
|
||||
Cesaroni_J244.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 867-J244-14A
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_J244.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 867-J244-14A
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_J250.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 683J250-15A
|
||||
@ -5763,6 +5861,20 @@ Cesaroni_K300.rse
|
||||
Data Source: mfr
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_K360.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 1281-K360-13A
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_K360.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 1281-K360-13A
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_K400.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 1597-K400-14A
|
||||
@ -5889,6 +6001,20 @@ Cesaroni_K535.rse
|
||||
Data Source: user
|
||||
Contributor: John Coker
|
||||
|
||||
Cesaroni_K555.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 2406-K555_P
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_K555.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 2406-K555_P
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_K570.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 2060 K570-A
|
||||
@ -6036,6 +6162,20 @@ Cesaroni_K710.rse
|
||||
Data Source: cert
|
||||
Contributor: Len Bryan
|
||||
|
||||
Cesaroni_K740.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 1874-K740-18A
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_K740.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 1874-K740-18A
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_K750.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 2352 K750-18A
|
||||
@ -6344,6 +6484,20 @@ Cesaroni_L820.rse
|
||||
Data Source: cert
|
||||
Contributor: Len Bryan
|
||||
|
||||
Cesaroni_L851.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 3683-L851-P
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_L851.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 3683-L851-P
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_L890.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 3762 L890-P
|
||||
@ -6435,6 +6589,20 @@ Cesaroni_M1230.rse
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_M1290.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 7649-M1290-P
|
||||
Data Format: RASP
|
||||
Data Source: mfr
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_M1290.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 7649-M1290-P
|
||||
Data Format: RockSim
|
||||
Data Source: mfr
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_M1300.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 6438-M1300-P
|
||||
@ -6848,6 +7016,20 @@ Cesaroni_M795.rse
|
||||
Data Source: user
|
||||
Contributor: John Coker
|
||||
|
||||
Cesaroni_M840.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 7521-M840-P
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_M840.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 7521-M840-P
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_N10000.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 10347-N10000-P
|
||||
@ -6876,6 +7058,20 @@ Cesaroni_N1100.rse
|
||||
Data Source: user
|
||||
Contributor: John Coker
|
||||
|
||||
Cesaroni_N1800.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 0367-N1800-P
|
||||
Data Format: RASP
|
||||
Data Source: mfr
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_N1800.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 0367-N1800-P
|
||||
Data Format: RockSim
|
||||
Data Source: mfr
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_N1975.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 14272-N1975-P
|
||||
@ -6904,6 +7100,20 @@ Cesaroni_N2500.rse
|
||||
Data Source: user
|
||||
Contributor: John Coker
|
||||
|
||||
Cesaroni_N2501.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 15227-N2501-P
|
||||
Data Format: RASP
|
||||
Data Source: mfr
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_N2501.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 15227-N2501-P
|
||||
Data Format: RockSim
|
||||
Data Source: mfr
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_N2600.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 11077-N2600-SK-P
|
||||
@ -6953,6 +7163,20 @@ Cesaroni_N3180.rse
|
||||
Data Source: mfr
|
||||
Contributor: Thomas Raithby
|
||||
|
||||
Cesaroni_N3301.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 19318-N3301-P
|
||||
Data Format: RASP
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_N3301.rse
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 19318-N3301-P
|
||||
Data Format: RockSim
|
||||
Data Source: cert
|
||||
Contributor: Andre Choquette
|
||||
|
||||
Cesaroni_N3400.eng
|
||||
Manufacturer: Cesaroni Technology
|
||||
Designation: 14263-N3400-P
|
||||
@ -9340,6 +9564,13 @@ KBA_M3500.rse
|
||||
Data Source: mfr
|
||||
Contributor: John Coker
|
||||
|
||||
Kosdon_I560.eng
|
||||
Manufacturer: Kosdon TRM
|
||||
Designation: I560F
|
||||
Data Format: RASP
|
||||
Data Source: user
|
||||
Contributor: Mark Trevithick
|
||||
|
||||
Loki_G69.rse
|
||||
Manufacturer: Loki Research
|
||||
Designation: G69-SF
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
; @File: E20.txt, @Pts-I: 1001, @Pts-O: 32, @Sm: 3, @CO: 5%
|
||||
; @TI: 34.6666, @TIa: 34.5451, @TIe: 0.0%, @ThMax: 34.6991, @ThAvg: 22.1301, @Tb: 1.561
|
||||
; Exported using ThrustCurveTool, www.ThrustGear.com
|
||||
E22 24 65 4-7-10 0.0162 0.049 A
|
||||
0.0 0.0290422
|
||||
;@File: E20.txt, @Pts-I: 1001, @Pts-O: 32, @Sm: 3, @CO: 5%
|
||||
;@TI: 34.6666, @TIa: 34.5451, @TIe: 0.0%, @ThMax: 34.6991, @ThAvg: 22.1301, @Tb: 1.561
|
||||
;Exported using ThrustCurveTool, www.ThrustGear.com
|
||||
E20 24 65 4-7-10 0.0162 0.049 A
|
||||
0 0.0290422
|
||||
0.024 0.227567
|
||||
0.038 1.394029
|
||||
0.038 1.39403
|
||||
0.048 2.6721
|
||||
0.056 5.81661
|
||||
0.06 7.76916
|
||||
0.062 9.00446
|
||||
0.064 10.71764
|
||||
0.064 10.7176
|
||||
0.072 20.3365
|
||||
0.074 22.4147
|
||||
0.08 27.1311
|
||||
@ -25,12 +25,13 @@ E22 24 65 4-7-10 0.0162 0.049 A
|
||||
0.77 27.3596
|
||||
0.8 26.3903
|
||||
0.9 24.2069
|
||||
1.084 18.06808
|
||||
1.134 16.89181
|
||||
1.16 15.87009
|
||||
1.2899 12.19213
|
||||
1.084 18.0681
|
||||
1.134 16.8918
|
||||
1.16 15.8701
|
||||
1.2899 12.1921
|
||||
1.3719 9.38065
|
||||
1.5079 4.03928
|
||||
1.5519 2.72185
|
||||
1.6019 1.720821
|
||||
1.7579 0.0
|
||||
1.6019 1.72082
|
||||
1.7579 0
|
||||
;
|
||||
|
||||
23
datafiles/thrustcurves/AeroTech_F30.eng
Normal file
23
datafiles/thrustcurves/AeroTech_F30.eng
Normal file
@ -0,0 +1,23 @@
|
||||
; From AT Instruction Sheet by C. Kobel 1/4/11
|
||||
F30FJ 24 90 4-6-8 0.0318 0.070 AT
|
||||
0.056 22.706
|
||||
0.102 34.315
|
||||
0.134 36.363
|
||||
0.200 36.876
|
||||
0.300 36.705
|
||||
0.400 37.217
|
||||
0.500 38.241
|
||||
0.600 37.900
|
||||
0.700 37.900
|
||||
0.800 37.217
|
||||
0.900 36.363
|
||||
1.000 35.168
|
||||
1.100 33.291
|
||||
1.175 32.608
|
||||
1.200 31.413
|
||||
1.260 26.974
|
||||
1.300 22.706
|
||||
1.400 9.219
|
||||
1.453 5.805
|
||||
1.500 4.097
|
||||
1.600 0.0
|
||||
43
datafiles/thrustcurves/AeroTech_G138.eng
Normal file
43
datafiles/thrustcurves/AeroTech_G138.eng
Normal file
@ -0,0 +1,43 @@
|
||||
; AeroTech G138T
|
||||
; from the reload instruction sheet 08/11/2010
|
||||
; Created by Scott Sager 10/10/2010
|
||||
G138T 29 123.8 14 0.0704 0.152 AT
|
||||
0.0020 113.497
|
||||
0.043 118.736
|
||||
0.098 125.065
|
||||
0.138 126.157
|
||||
0.198 133.578
|
||||
0.251 140.999
|
||||
0.293 146.019
|
||||
0.347 148.856
|
||||
0.398 156.932
|
||||
0.447 160.861
|
||||
0.5 165.881
|
||||
0.548 169.591
|
||||
0.601 173.738
|
||||
0.646 177.449
|
||||
0.697 183.123
|
||||
0.739 182.032
|
||||
0.798 182.469
|
||||
0.839 181.159
|
||||
0.901 182.469
|
||||
0.947 194.691
|
||||
0.972 185.306
|
||||
0.986 174.611
|
||||
0.998 161.515
|
||||
1.0 156.714
|
||||
1.012 143.618
|
||||
1.018 133.796
|
||||
1.026 120.263
|
||||
1.031 111.969
|
||||
1.036 98.437
|
||||
1.041 89.052
|
||||
1.044 77.484
|
||||
1.049 67.662
|
||||
1.054 54.784
|
||||
1.059 46.708
|
||||
1.064 33.176
|
||||
1.073 23.136
|
||||
1.082 12.659
|
||||
1.098 0.873
|
||||
1.099 0.0
|
||||
15
datafiles/thrustcurves/AeroTech_I170.eng
Normal file
15
datafiles/thrustcurves/AeroTech_I170.eng
Normal file
@ -0,0 +1,15 @@
|
||||
; Aerotech I170G from TRA Cert Data
|
||||
; Created by Mark Hairfield 12-29-10
|
||||
I170G 54 151 10 0.227 0.528 AT
|
||||
0.06 89.0
|
||||
0.16 169.0
|
||||
0.25 184.6
|
||||
0.5 202.4
|
||||
0.75 207.3
|
||||
1.0 202.4
|
||||
1.5 177.9
|
||||
2.18 137.9
|
||||
2.25 139.7
|
||||
2.30 131.2
|
||||
2.35 22.2
|
||||
2.40 0.0
|
||||
35
datafiles/thrustcurves/AeroTech_L1520.eng
Normal file
35
datafiles/thrustcurves/AeroTech_L1520.eng
Normal file
@ -0,0 +1,35 @@
|
||||
; Based on AT Instruction Sheet by C. Kobel 12/22/2010
|
||||
L1520T 75 531 P 1.773 3.620 AT
|
||||
0.011 1484.553
|
||||
0.055 1506.304
|
||||
0.089 1468.239
|
||||
0.155 1560.684
|
||||
0.200 1571.559
|
||||
0.300 1582.435
|
||||
0.400 1598.749
|
||||
0.500 1620.501
|
||||
0.600 1642.252
|
||||
0.700 1653.128
|
||||
0.800 1674.88
|
||||
0.900 1691.194
|
||||
1.000 1685.756
|
||||
1.100 1696.632
|
||||
1.200 1691.194
|
||||
1.300 1691.194
|
||||
1.400 1680.318
|
||||
1.500 1664.004
|
||||
1.600 1636.814
|
||||
1.700 1620.501
|
||||
1.800 1604.187
|
||||
1.900 1576.997
|
||||
2.000 1560.684
|
||||
2.100 1538.932
|
||||
2.200 1500.866
|
||||
2.227 1435.611
|
||||
2.250 1125.65
|
||||
2.290 832.002
|
||||
2.366 647.113
|
||||
2.400 456.785
|
||||
2.440 244.706
|
||||
2.500 59.817
|
||||
2.600 0.0
|
||||
20
datafiles/thrustcurves/Cesaroni_E75.eng
Normal file
20
datafiles/thrustcurves/Cesaroni_E75.eng
Normal file
@ -0,0 +1,20 @@
|
||||
; Pro24-1G Vmax 25-E75
|
||||
25-E75-VM-17A 24 69 17-14-12-10-8 0.016 0.052000000000000005 CTI
|
||||
0.0090 84.213
|
||||
0.012 95.099
|
||||
0.023 77.08
|
||||
0.027 68.697
|
||||
0.047 73.452
|
||||
0.092 81.835
|
||||
0.118 83.837
|
||||
0.141 86.465
|
||||
0.192 86.966
|
||||
0.222 85.339
|
||||
0.25 80.083
|
||||
0.26 78.332
|
||||
0.281 82.961
|
||||
0.287 78.206
|
||||
0.306 24.776
|
||||
0.314 14.14
|
||||
0.326 8.509
|
||||
0.329 0.0
|
||||
33
datafiles/thrustcurves/Cesaroni_E75.rse
Normal file
33
datafiles/thrustcurves/Cesaroni_E75.rse
Normal file
@ -0,0 +1,33 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="25-E75-VM-17A" Type="unspecified" dia="24." len="69."
|
||||
initWt="52." propWt="16." delays="17,14,12,10,8" auto-calc-mass="1"
|
||||
auto-calc-cg="1" avgThrust="74.434" peakThrust="95.099" throatDia="0."
|
||||
exitDia="0." Itot="24.489" burn-time="0.33" massFrac="30.77" Isp="156.07"
|
||||
tDiv="10" tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10"
|
||||
mStep="-1." mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro24-1G Vmax 25-E75</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="16." cg="34.5"/>
|
||||
<eng-data t="0.009" f="84.213" m="15.7524" cg="34.5"/>
|
||||
<eng-data t="0.012" f="95.099" m="15.5767" cg="34.5"/>
|
||||
<eng-data t="0.023" f="77.08" m="14.958" cg="34.5"/>
|
||||
<eng-data t="0.027" f="68.697" m="14.7675" cg="34.5"/>
|
||||
<eng-data t="0.047" f="73.452" m="13.8387" cg="34.5"/>
|
||||
<eng-data t="0.092" f="81.835" m="11.5559" cg="34.5"/>
|
||||
<eng-data t="0.118" f="83.837" m="10.1488" cg="34.5"/>
|
||||
<eng-data t="0.141" f="86.465" m="8.86918" cg="34.5"/>
|
||||
<eng-data t="0.192" f="86.966" m="5.97971" cg="34.5"/>
|
||||
<eng-data t="0.222" f="85.339" m="4.29106" cg="34.5"/>
|
||||
<eng-data t="0.25" f="80.083" m="2.77795" cg="34.5"/>
|
||||
<eng-data t="0.26" f="78.332" m="2.26044" cg="34.5"/>
|
||||
<eng-data t="0.281" f="82.961" m="1.15393" cg="34.5"/>
|
||||
<eng-data t="0.287" f="78.206" m="0.838029" cg="34.5"/>
|
||||
<eng-data t="0.306" f="24.776" m="0.198831" cg="34.5"/>
|
||||
<eng-data t="0.314" f="14.14" m="0.0971265" cg="34.5"/>
|
||||
<eng-data t="0.326" f="8.509" m="0.00833913" cg="34.5"/>
|
||||
<eng-data t="0.329" f="0." m="0." cg="34.5"/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
12
datafiles/thrustcurves/Cesaroni_F85.eng
Normal file
12
datafiles/thrustcurves/Cesaroni_F85.eng
Normal file
@ -0,0 +1,12 @@
|
||||
; Pro24-3G White Thunder 74-F85
|
||||
74-F85-WT-15A 24 133 15-12-10-8-6 0.042 0.096 CTI
|
||||
0.01 76.074
|
||||
0.023 100.185
|
||||
0.04 92.425
|
||||
0.118 100.878
|
||||
0.283 102.402
|
||||
0.51 96.443
|
||||
0.688 87.436
|
||||
0.787 25.912
|
||||
0.852 7.206
|
||||
0.873 0.0
|
||||
25
datafiles/thrustcurves/Cesaroni_F85.rse
Normal file
25
datafiles/thrustcurves/Cesaroni_F85.rse
Normal file
@ -0,0 +1,25 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="74-F85-WT-15A" Type="unspecified" dia="24." len="133."
|
||||
initWt="96." propWt="42." delays="15,12,10,8,6" auto-calc-mass="1"
|
||||
auto-calc-cg="1" avgThrust="83.814" peakThrust="102.402" throatDia="0."
|
||||
exitDia="0." Itot="73.17" burn-time="0.87" massFrac="43.75" Isp="177.65"
|
||||
tDiv="10" tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10"
|
||||
mStep="-1." mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro24-3G White Thunder 74-F85</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="42." cg="66.5"/>
|
||||
<eng-data t="0.01" f="76.074" m="41.7817" cg="66.5"/>
|
||||
<eng-data t="0.023" f="100.185" m="41.124" cg="66.5"/>
|
||||
<eng-data t="0.04" f="92.425" m="40.1843" cg="66.5"/>
|
||||
<eng-data t="0.118" f="100.878" m="35.8569" cg="66.5"/>
|
||||
<eng-data t="0.283" f="102.402" m="26.2304" cg="66.5"/>
|
||||
<eng-data t="0.51" f="96.443" m="13.2757" cg="66.5"/>
|
||||
<eng-data t="0.688" f="87.436" m="3.88187" cg="66.5"/>
|
||||
<eng-data t="0.787" f="25.912" m="0.661258" cg="66.5"/>
|
||||
<eng-data t="0.852" f="7.206" m="0.0434313" cg="66.5"/>
|
||||
<eng-data t="0.873" f="0." m="0." cg="66.5"/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
12
datafiles/thrustcurves/Cesaroni_G100.eng
Normal file
12
datafiles/thrustcurves/Cesaroni_G100.eng
Normal file
@ -0,0 +1,12 @@
|
||||
; Pro24-6G Skidmark 114-G100
|
||||
114-G100-SK-14A 24 228 14-11-9-7-5 0.073 0.159 CTI
|
||||
0.0090 148.468
|
||||
0.024 178.207
|
||||
0.061 145.289
|
||||
0.475 117.367
|
||||
0.63 106.243
|
||||
0.833 85.131
|
||||
0.961 51.759
|
||||
1.024 29.966
|
||||
1.125 13.848
|
||||
1.186 0.0
|
||||
25
datafiles/thrustcurves/Cesaroni_G100.rse
Normal file
25
datafiles/thrustcurves/Cesaroni_G100.rse
Normal file
@ -0,0 +1,25 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="114-G100-SK-14A" Type="unspecified" dia="24." len="228."
|
||||
initWt="159." propWt="73." delays="14,11,9,7,5" auto-calc-mass="1"
|
||||
auto-calc-cg="1" avgThrust="96.288" peakThrust="178.207" throatDia="0."
|
||||
exitDia="0." Itot="114.197" burn-time="1.19" massFrac="45.91" Isp="159.52"
|
||||
tDiv="10" tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10"
|
||||
mStep="-1." mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro24-6G Skidmark 114-G100</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="73." cg="114."/>
|
||||
<eng-data t="0.009" f="148.468" m="72.5729" cg="114."/>
|
||||
<eng-data t="0.024" f="178.207" m="71.0067" cg="114."/>
|
||||
<eng-data t="0.061" f="145.289" m="67.181" cg="114."/>
|
||||
<eng-data t="0.475" f="117.367" m="32.4254" cg="114."/>
|
||||
<eng-data t="0.63" f="106.243" m="21.3474" cg="114."/>
|
||||
<eng-data t="0.833" f="85.131" m="8.93043" cg="114."/>
|
||||
<eng-data t="0.961" f="51.759" m="3.33003" cg="114."/>
|
||||
<eng-data t="1.024" f="29.966" m="1.68439" cg="114."/>
|
||||
<eng-data t="1.125" f="13.848" m="0.269994" cg="114."/>
|
||||
<eng-data t="1.186" f="0." m="0." cg="114."/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
14
datafiles/thrustcurves/Cesaroni_G127.eng
Normal file
14
datafiles/thrustcurves/Cesaroni_G127.eng
Normal file
@ -0,0 +1,14 @@
|
||||
; Pro24-6G RL 137-G127
|
||||
137-G127-RL-14A 24 228 14-11-9-7-5 0.081 0.166 CTI
|
||||
0.018 164.454
|
||||
0.029 175.478
|
||||
0.042 172.103
|
||||
0.14 179.753
|
||||
0.378 158.83
|
||||
0.578 138.583
|
||||
0.763 121.485
|
||||
0.838 97.638
|
||||
0.9 62.317
|
||||
0.966 32.621
|
||||
1.056 13.048
|
||||
1.081 0.0
|
||||
27
datafiles/thrustcurves/Cesaroni_G127.rse
Normal file
27
datafiles/thrustcurves/Cesaroni_G127.rse
Normal file
@ -0,0 +1,27 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="137-G127-RL-14A" Type="unspecified" dia="24." len="228."
|
||||
initWt="166." propWt="81." delays="14,11,9,7,5" auto-calc-mass="1"
|
||||
auto-calc-cg="1" avgThrust="125.315" peakThrust="179.753" throatDia="0."
|
||||
exitDia="0." Itot="135.466" burn-time="1.08" massFrac="48.8" Isp="170.54"
|
||||
tDiv="10" tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10"
|
||||
mStep="-1." mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro24-6G RL 137-G127</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="81." cg="114."/>
|
||||
<eng-data t="0.018" f="164.454" m="80.115" cg="114."/>
|
||||
<eng-data t="0.029" f="175.478" m="78.9971" cg="114."/>
|
||||
<eng-data t="0.042" f="172.103" m="77.6462" cg="114."/>
|
||||
<eng-data t="0.14" f="179.753" m="67.3372" cg="114."/>
|
||||
<eng-data t="0.378" f="158.83" m="43.2455" cg="114."/>
|
||||
<eng-data t="0.578" f="138.583" m="25.4621" cg="114."/>
|
||||
<eng-data t="0.763" f="121.485" m="11.0779" cg="114."/>
|
||||
<eng-data t="0.838" f="97.638" m="6.16459" cg="114."/>
|
||||
<eng-data t="0.9" f="62.317" m="3.19966" cg="114."/>
|
||||
<eng-data t="0.966" f="32.621" m="1.32635" cg="114."/>
|
||||
<eng-data t="1.056" f="13.048" m="0.0975235" cg="114."/>
|
||||
<eng-data t="1.081" f="0." m="0." cg="114."/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
15
datafiles/thrustcurves/Cesaroni_J244.eng
Normal file
15
datafiles/thrustcurves/Cesaroni_J244.eng
Normal file
@ -0,0 +1,15 @@
|
||||
; Pro54-2G White 867-J244
|
||||
867-J244-WH-14A 54 236 14-11-9-7-5 0.511 0.911 CTI
|
||||
0.029 154.144
|
||||
0.1 262.541
|
||||
0.161 235.691
|
||||
0.484 256.575
|
||||
0.853 261.215
|
||||
1.348 266.519
|
||||
1.904 262.541
|
||||
2.422 251.934
|
||||
2.855 235.691
|
||||
3.176 223.094
|
||||
3.252 221.768
|
||||
3.362 184.972
|
||||
3.5 0.0
|
||||
28
datafiles/thrustcurves/Cesaroni_J244.rse
Normal file
28
datafiles/thrustcurves/Cesaroni_J244.rse
Normal file
@ -0,0 +1,28 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="867-J244-WH-14A" Type="unspecified" dia="54." len="236."
|
||||
initWt="911." propWt="511." delays="14,11,9,7,5" auto-calc-mass="1"
|
||||
auto-calc-cg="1" avgThrust="242.698" peakThrust="266.519" throatDia="0."
|
||||
exitDia="0." Itot="849.443" burn-time="3.5" massFrac="56.09" Isp="169.51"
|
||||
tDiv="10" tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10"
|
||||
mStep="-1." mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro54-2G White 867-J244</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="511." cg="118."/>
|
||||
<eng-data t="0.029" f="154.144" m="509.655" cg="118."/>
|
||||
<eng-data t="0.1" f="262.541" m="500.757" cg="118."/>
|
||||
<eng-data t="0.161" f="235.691" m="491.615" cg="118."/>
|
||||
<eng-data t="0.484" f="256.575" m="443.79" cg="118."/>
|
||||
<eng-data t="0.853" f="261.215" m="386.32" cg="118."/>
|
||||
<eng-data t="1.348" f="266.519" m="307.747" cg="118."/>
|
||||
<eng-data t="1.904" f="262.541" m="219.269" cg="118."/>
|
||||
<eng-data t="2.422" f="251.934" m="139.11" cg="118."/>
|
||||
<eng-data t="2.855" f="235.691" m="75.6015" cg="118."/>
|
||||
<eng-data t="3.176" f="223.094" m="31.3049" cg="118."/>
|
||||
<eng-data t="3.252" f="221.768" m="21.1354" cg="118."/>
|
||||
<eng-data t="3.362" f="184.972" m="7.67789" cg="118."/>
|
||||
<eng-data t="3.5" f="0." m="0." cg="118."/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
13
datafiles/thrustcurves/Cesaroni_K360.eng
Normal file
13
datafiles/thrustcurves/Cesaroni_K360.eng
Normal file
@ -0,0 +1,13 @@
|
||||
; Pro54-3G White 1281-K360
|
||||
1281-K360-WH-13A 54 236 13-10-8-6-4 0.747 1.232 CTI
|
||||
0.034 289.25
|
||||
0.077 362.318
|
||||
0.463 387.514
|
||||
1.106 398.6
|
||||
1.564 405.151
|
||||
2.063 398.6
|
||||
2.57 383.483
|
||||
3.101 354.759
|
||||
3.18 343.673
|
||||
3.417 105.319
|
||||
3.5 0.0
|
||||
26
datafiles/thrustcurves/Cesaroni_K360.rse
Normal file
26
datafiles/thrustcurves/Cesaroni_K360.rse
Normal file
@ -0,0 +1,26 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="1281-K360-WH-13A" Type="unspecified" dia="54." len="236."
|
||||
initWt="1232." propWt="747." delays="13,10,8,6,4" auto-calc-mass="1"
|
||||
auto-calc-cg="1" avgThrust="365.828" peakThrust="405.151" throatDia="0."
|
||||
exitDia="0." Itot="1280.4" burn-time="3.5" massFrac="60.63" Isp="174.79"
|
||||
tDiv="10" tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10"
|
||||
mStep="-1." mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro54-3G White 1281-K360</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="747." cg="118."/>
|
||||
<eng-data t="0.034" f="289.25" m="744.131" cg="118."/>
|
||||
<eng-data t="0.077" f="362.318" m="735.958" cg="118."/>
|
||||
<eng-data t="0.463" f="387.514" m="651.528" cg="118."/>
|
||||
<eng-data t="1.106" f="398.6" m="504.08" cg="118."/>
|
||||
<eng-data t="1.564" f="405.151" m="396.697" cg="118."/>
|
||||
<eng-data t="2.063" f="398.6" m="279.702" cg="118."/>
|
||||
<eng-data t="2.57" f="383.483" m="164.036" cg="118."/>
|
||||
<eng-data t="3.101" f="354.759" m="49.6859" cg="118."/>
|
||||
<eng-data t="3.18" f="343.673" m="33.5907" cg="118."/>
|
||||
<eng-data t="3.417" f="105.319" m="2.54994" cg="118."/>
|
||||
<eng-data t="3.5" f="0." m="0." cg="118."/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
14
datafiles/thrustcurves/Cesaroni_K555.eng
Normal file
14
datafiles/thrustcurves/Cesaroni_K555.eng
Normal file
@ -0,0 +1,14 @@
|
||||
; Pro75-2G White 2406-K555
|
||||
2406-K555-WH-P 75 350 P 1.486 2.759 CTI
|
||||
0.038 426.052
|
||||
0.07 585.324
|
||||
0.137 522.412
|
||||
0.751 543.914
|
||||
1.732 629.124
|
||||
2.057 639.477
|
||||
3.221 571.786
|
||||
3.84 516.041
|
||||
4.091 472.241
|
||||
4.163 398.976
|
||||
4.274 148.919
|
||||
4.314 0.0
|
||||
27
datafiles/thrustcurves/Cesaroni_K555.rse
Normal file
27
datafiles/thrustcurves/Cesaroni_K555.rse
Normal file
@ -0,0 +1,27 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="2406-K555-WH-P" Type="unspecified" dia="75." len="350."
|
||||
initWt="2759." propWt="1486." delays="0" auto-calc-mass="1" auto-calc-cg="1"
|
||||
avgThrust="556.488" peakThrust="639.477" throatDia="0." exitDia="0."
|
||||
Itot="2400.69" burn-time="4.31" massFrac="53.86" Isp="164.74" tDiv="10"
|
||||
tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10" mStep="-1."
|
||||
mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro75-2G White 2406-K555</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="1486." cg="175."/>
|
||||
<eng-data t="0.038" f="426.052" m="1480.99" cg="175."/>
|
||||
<eng-data t="0.07" f="585.324" m="1470.97" cg="175."/>
|
||||
<eng-data t="0.137" f="522.412" m="1448." cg="175."/>
|
||||
<eng-data t="0.751" f="543.914" m="1245.37" cg="175."/>
|
||||
<eng-data t="1.732" f="629.124" m="889.218" cg="175."/>
|
||||
<eng-data t="2.057" f="639.477" m="761.615" cg="175."/>
|
||||
<eng-data t="3.221" f="571.786" m="325.255" cg="175."/>
|
||||
<eng-data t="3.84" f="516.041" m="116.853" cg="175."/>
|
||||
<eng-data t="4.091" f="472.241" m="40.0798" cg="175."/>
|
||||
<eng-data t="4.163" f="398.976" m="20.6659" cg="175."/>
|
||||
<eng-data t="4.274" f="148.919" m="1.84358" cg="175."/>
|
||||
<eng-data t="4.314" f="0." m="0." cg="175."/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
11
datafiles/thrustcurves/Cesaroni_K740.eng
Normal file
11
datafiles/thrustcurves/Cesaroni_K740.eng
Normal file
@ -0,0 +1,11 @@
|
||||
; Pro54-4G C-Star 1874-K740
|
||||
1874-K740-CS-18A 54 404 18-16-14-12-10-8 0.9 1.469 CTI
|
||||
0.02 735.227
|
||||
0.052 853.409
|
||||
0.486 869.318
|
||||
0.893 848.864
|
||||
1.903 735.227
|
||||
2.131 722.727
|
||||
2.32 330.682
|
||||
2.462 101.136
|
||||
2.5 0.0
|
||||
24
datafiles/thrustcurves/Cesaroni_K740.rse
Normal file
24
datafiles/thrustcurves/Cesaroni_K740.rse
Normal file
@ -0,0 +1,24 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="1874-K740-CS-18A" Type="unspecified" dia="54." len="404."
|
||||
initWt="1469." propWt="900." delays="18,16,14,12,10,8" auto-calc-mass="1"
|
||||
auto-calc-cg="1" avgThrust="741.821" peakThrust="869.318" throatDia="0."
|
||||
exitDia="0." Itot="1854.55" burn-time="2.5" massFrac="61.27" Isp="210.12"
|
||||
tDiv="10" tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10"
|
||||
mStep="-1." mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro54-4G C-Star 1874-K740</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="900." cg="202."/>
|
||||
<eng-data t="0.02" f="735.227" m="896.432" cg="202."/>
|
||||
<eng-data t="0.052" f="853.409" m="884.097" cg="202."/>
|
||||
<eng-data t="0.486" f="869.318" m="702.679" cg="202."/>
|
||||
<eng-data t="0.893" f="848.864" m="532.997" cg="202."/>
|
||||
<eng-data t="1.903" f="735.227" m="144.779" cg="202."/>
|
||||
<eng-data t="2.131" f="722.727" m="64.1206" cg="202."/>
|
||||
<eng-data t="2.32" f="330.682" m="15.8111" cg="202."/>
|
||||
<eng-data t="2.462" f="101.136" m="0.93253" cg="202."/>
|
||||
<eng-data t="2.5" f="0." m="0." cg="202."/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
13
datafiles/thrustcurves/Cesaroni_L851.eng
Normal file
13
datafiles/thrustcurves/Cesaroni_L851.eng
Normal file
@ -0,0 +1,13 @@
|
||||
; Pro75-3G White 3683-L851
|
||||
3683-L851-WH-P 75 486 P 2.195 3.789 CTI
|
||||
0.059 971.271
|
||||
0.102 855.249
|
||||
0.485 838.674
|
||||
1.353 911.602
|
||||
1.824 980.11
|
||||
3.107 883.978
|
||||
3.68 816.575
|
||||
4.031 732.597
|
||||
4.128 579.006
|
||||
4.256 246.409
|
||||
4.339 0.0
|
||||
26
datafiles/thrustcurves/Cesaroni_L851.rse
Normal file
26
datafiles/thrustcurves/Cesaroni_L851.rse
Normal file
@ -0,0 +1,26 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="3683-L851-WH-P" Type="unspecified" dia="75." len="486."
|
||||
initWt="3789." propWt="2195." delays="0" auto-calc-mass="1" auto-calc-cg="1"
|
||||
avgThrust="847.89" peakThrust="980.11" throatDia="0." exitDia="0." Itot="3678.99"
|
||||
burn-time="4.34" massFrac="57.93" Isp="170.91" tDiv="10" tStep="-1." tFix="1"
|
||||
FDiv="10" FStep="-1." FFix="1" mDiv="10" mStep="-1." mFix="1" cgDiv="10"
|
||||
cgStep="-1." cgFix="1">
|
||||
<comments>Pro75-3G White 3683-L851</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="2195." cg="243."/>
|
||||
<eng-data t="0.059" f="971.271" m="2177.91" cg="243."/>
|
||||
<eng-data t="0.102" f="855.249" m="2154.48" cg="243."/>
|
||||
<eng-data t="0.485" f="838.674" m="1960.94" cg="243."/>
|
||||
<eng-data t="1.353" f="911.602" m="1507.72" cg="243."/>
|
||||
<eng-data t="1.824" f="980.11" m="1241.93" cg="243."/>
|
||||
<eng-data t="3.107" f="883.978" m="528.468" cg="243."/>
|
||||
<eng-data t="3.68" f="816.575" m="237.784" cg="243."/>
|
||||
<eng-data t="4.031" f="732.597" m="75.5724" cg="243."/>
|
||||
<eng-data t="4.128" f="579.006" m="37.6191" cg="243."/>
|
||||
<eng-data t="4.256" f="246.409" m="6.10113" cg="243."/>
|
||||
<eng-data t="4.339" f="0." m="0." cg="243."/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
20
datafiles/thrustcurves/Cesaroni_M1290.eng
Normal file
20
datafiles/thrustcurves/Cesaroni_M1290.eng
Normal file
@ -0,0 +1,20 @@
|
||||
; Pro98 3G 7649 M1290-WH Plugged
|
||||
7649-M1290-WH-P 98 548 P 4.421 7.4110000000000005 CTI
|
||||
0.024 227.074
|
||||
0.063 873.362
|
||||
0.107 1161.572
|
||||
0.166 1399.563
|
||||
0.292 1358.079
|
||||
0.892 1434.498
|
||||
1.398 1513.1
|
||||
2.484 1558.952
|
||||
2.748 1550.218
|
||||
3.009 1506.55
|
||||
4.091 1281.659
|
||||
5.347 1026.201
|
||||
5.473 984.716
|
||||
5.596 718.341
|
||||
5.663 469.432
|
||||
5.789 213.974
|
||||
5.856 192.14
|
||||
6.046 0.0
|
||||
33
datafiles/thrustcurves/Cesaroni_M1290.rse
Normal file
33
datafiles/thrustcurves/Cesaroni_M1290.rse
Normal file
@ -0,0 +1,33 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="7649-M1290-WH-P" Type="unspecified" dia="98." len="548."
|
||||
initWt="7411." propWt="4421." delays="0" auto-calc-mass="1" auto-calc-cg="1"
|
||||
avgThrust="1270.77" peakThrust="1558.95" throatDia="0." exitDia="0."
|
||||
Itot="7683.08" burn-time="6.05" massFrac="59.65" Isp="177.21" tDiv="10"
|
||||
tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10" mStep="-1."
|
||||
mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro98 3G 7649 M1290-WH Plugged</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="4421." cg="274."/>
|
||||
<eng-data t="0.024" f="227.074" m="4419.43" cg="274."/>
|
||||
<eng-data t="0.063" f="873.362" m="4407.08" cg="274."/>
|
||||
<eng-data t="0.107" f="1161.57" m="4381.32" cg="274."/>
|
||||
<eng-data t="0.166" f="1399.56" m="4337.85" cg="274."/>
|
||||
<eng-data t="0.292" f="1358.08" m="4237.88" cg="274."/>
|
||||
<eng-data t="0.892" f="1434.5" m="3755.81" cg="274."/>
|
||||
<eng-data t="1.398" f="1513.1" m="3326.69" cg="274."/>
|
||||
<eng-data t="2.484" f="1558.95" m="2366.82" cg="274."/>
|
||||
<eng-data t="2.748" f="1550.22" m="2130.66" cg="274."/>
|
||||
<eng-data t="3.009" f="1506.55" m="1901.12" cg="274."/>
|
||||
<eng-data t="4.091" f="1281.66" m="1033.15" cg="274."/>
|
||||
<eng-data t="5.347" f="1026.2" m="199.17" cg="274."/>
|
||||
<eng-data t="5.473" f="984.716" m="126.271" cg="274."/>
|
||||
<eng-data t="5.596" f="718.341" m="66.0025" cg="274."/>
|
||||
<eng-data t="5.663" f="469.432" m="43.1063" cg="274."/>
|
||||
<eng-data t="5.789" f="213.974" m="18.3318" cg="274."/>
|
||||
<eng-data t="5.856" f="192.14" m="10.5033" cg="274."/>
|
||||
<eng-data t="6.046" f="0." m="0." cg="274."/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
13
datafiles/thrustcurves/Cesaroni_M840.eng
Normal file
13
datafiles/thrustcurves/Cesaroni_M840.eng
Normal file
@ -0,0 +1,13 @@
|
||||
; Pro75-6G White/LB 7521-M840
|
||||
7521-M840-WH/LB-P 75 879.3 P 4.436 6.954 CTI
|
||||
0.072 1980.022
|
||||
0.246 1447.281
|
||||
0.835 1120.977
|
||||
2.132 1094.34
|
||||
3.922 1003.33
|
||||
5.441 810.211
|
||||
6.559 621.532
|
||||
7.357 472.808
|
||||
8.547 199.778
|
||||
8.973 97.669
|
||||
9.009 0.0
|
||||
26
datafiles/thrustcurves/Cesaroni_M840.rse
Normal file
26
datafiles/thrustcurves/Cesaroni_M840.rse
Normal file
@ -0,0 +1,26 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="7521-M840-WH/LB-P" Type="unspecified" dia="75." len="879.3"
|
||||
initWt="6954." propWt="4436." delays="0" auto-calc-mass="1" auto-calc-cg="1"
|
||||
avgThrust="834.669" peakThrust="1980.02" throatDia="0." exitDia="0."
|
||||
Itot="7519.53" burn-time="9.01" massFrac="63.79" Isp="172.85" tDiv="10"
|
||||
tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10" mStep="-1."
|
||||
mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro75-6G White/LB 7521-M840</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="4436." cg="439.65"/>
|
||||
<eng-data t="0.072" f="1980.02" m="4393.95" cg="439.65"/>
|
||||
<eng-data t="0.246" f="1447.28" m="4218.05" cg="439.65"/>
|
||||
<eng-data t="0.835" f="1120.98" m="3771.85" cg="439.65"/>
|
||||
<eng-data t="2.132" f="1094.34" m="2924.34" cg="439.65"/>
|
||||
<eng-data t="3.922" f="1003.33" m="1816.79" cg="439.65"/>
|
||||
<eng-data t="5.441" f="810.211" m="1004.23" cg="439.65"/>
|
||||
<eng-data t="6.559" f="621.532" m="532.085" cg="439.65"/>
|
||||
<eng-data t="7.357" f="472.808" m="274.496" cg="439.65"/>
|
||||
<eng-data t="8.547" f="199.778" m="38.4129" cg="439.65"/>
|
||||
<eng-data t="8.973" f="97.669" m="1.03712" cg="439.65"/>
|
||||
<eng-data t="9.009" f="0." m="0." cg="439.65"/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
21
datafiles/thrustcurves/Cesaroni_N1800.eng
Normal file
21
datafiles/thrustcurves/Cesaroni_N1800.eng
Normal file
@ -0,0 +1,21 @@
|
||||
; Pro98 4G 10367 N1800-WH Plugged
|
||||
10367-N1800-WH-P 98 702 P 4.8420000000000005 9.18 CTI
|
||||
0.077 1769.444
|
||||
0.123 2205.556
|
||||
0.193 2041.667
|
||||
0.339 1988.889
|
||||
0.744 1994.444
|
||||
2.398 2144.444
|
||||
2.726 2119.444
|
||||
2.977 2077.778
|
||||
3.933 1786.111
|
||||
4.643 1525.0
|
||||
4.986 1444.444
|
||||
5.152 1352.778
|
||||
5.225 1261.111
|
||||
5.348 994.444
|
||||
5.437 738.889
|
||||
5.541 622.222
|
||||
5.73 355.556
|
||||
5.915 75.0
|
||||
5.931 0.0
|
||||
34
datafiles/thrustcurves/Cesaroni_N1800.rse
Normal file
34
datafiles/thrustcurves/Cesaroni_N1800.rse
Normal file
@ -0,0 +1,34 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="10367-N1800-WH-P" Type="unspecified" dia="98." len="702."
|
||||
initWt="9180." propWt="4842." delays="0" auto-calc-mass="1" auto-calc-cg="1"
|
||||
avgThrust="1742.81" peakThrust="2205.56" throatDia="0." exitDia="0."
|
||||
Itot="10336.6" burn-time="5.93" massFrac="52.75" Isp="217.69" tDiv="10"
|
||||
tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10" mStep="-1."
|
||||
mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro98 4G 10367 N1800-WH Plugged</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="4842." cg="351."/>
|
||||
<eng-data t="0.077" f="1769.44" m="4810.09" cg="351."/>
|
||||
<eng-data t="0.123" f="2205.56" m="4767.26" cg="351."/>
|
||||
<eng-data t="0.193" f="2041.67" m="4697.63" cg="351."/>
|
||||
<eng-data t="0.339" f="1988.89" m="4559.8" cg="351."/>
|
||||
<eng-data t="0.744" f="1994.44" m="4181.95" cg="351."/>
|
||||
<eng-data t="2.398" f="2144.44" m="2578.58" cg="351."/>
|
||||
<eng-data t="2.726" f="2119.44" m="2251.01" cg="351."/>
|
||||
<eng-data t="2.977" f="2077.78" m="2004.27" cg="351."/>
|
||||
<eng-data t="3.933" f="1786.11" m="1139.1" cg="351."/>
|
||||
<eng-data t="4.643" f="1525." m="588.486" cg="351."/>
|
||||
<eng-data t="4.986" f="1444.44" m="349.933" cg="351."/>
|
||||
<eng-data t="5.152" f="1352.78" m="241.177" cg="351."/>
|
||||
<eng-data t="5.225" f="1261.11" m="196.486" cg="351."/>
|
||||
<eng-data t="5.348" f="994.444" m="131.506" cg="351."/>
|
||||
<eng-data t="5.437" f="738.889" m="95.3747" cg="351."/>
|
||||
<eng-data t="5.541" f="622.222" m="62.2201" cg="351."/>
|
||||
<eng-data t="5.73" f="355.556" m="18.937" cg="351."/>
|
||||
<eng-data t="5.915" f="75." m="0.281059" cg="351."/>
|
||||
<eng-data t="5.931" f="0." m="0." cg="351."/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
17
datafiles/thrustcurves/Cesaroni_N2501.eng
Normal file
17
datafiles/thrustcurves/Cesaroni_N2501.eng
Normal file
@ -0,0 +1,17 @@
|
||||
; Pro98 6G 15227 N2501-WH Plugged
|
||||
15227-N2501-WH-P 98 1010 P 8.704 13.308 CTI
|
||||
0.039 1715.546
|
||||
0.059 2835.722
|
||||
0.141 3488.423
|
||||
0.224 3188.534
|
||||
0.373 3135.612
|
||||
2.237 2998.897
|
||||
2.905 2928.335
|
||||
3.45 2769.57
|
||||
3.462 2787.211
|
||||
4.537 2407.938
|
||||
4.804 1949.283
|
||||
5.165 1684.675
|
||||
5.511 1181.918
|
||||
6.013 313.12
|
||||
6.088 0.0
|
||||
30
datafiles/thrustcurves/Cesaroni_N2501.rse
Normal file
30
datafiles/thrustcurves/Cesaroni_N2501.rse
Normal file
@ -0,0 +1,30 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="15227-N2501-WH-P" Type="unspecified" dia="98." len="1010."
|
||||
initWt="13308." propWt="8704." delays="0" auto-calc-mass="1" auto-calc-cg="1"
|
||||
avgThrust="2510.27" peakThrust="3488.42" throatDia="0." exitDia="0."
|
||||
Itot="15282.5" burn-time="6.09" massFrac="65.4" Isp="179.04" tDiv="10"
|
||||
tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10" mStep="-1."
|
||||
mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
|
||||
<comments>Pro98 6G 15227 N2501-WH Plugged</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="8704." cg="505."/>
|
||||
<eng-data t="0.039" f="1715.55" m="8684.95" cg="505."/>
|
||||
<eng-data t="0.059" f="2835.72" m="8659.03" cg="505."/>
|
||||
<eng-data t="0.141" f="3488.42" m="8511.35" cg="505."/>
|
||||
<eng-data t="0.224" f="3188.53" m="8353.53" cg="505."/>
|
||||
<eng-data t="0.373" f="3135.61" m="8085.2" cg="505."/>
|
||||
<eng-data t="2.237" f="2998.9" m="4828.93" cg="505."/>
|
||||
<eng-data t="2.905" f="2928.34" m="3701.41" cg="505."/>
|
||||
<eng-data t="3.45" f="2769.57" m="2817.1" cg="505."/>
|
||||
<eng-data t="3.462" f="2787.21" m="2798.11" cg="505."/>
|
||||
<eng-data t="4.537" f="2407.94" m="1207.73" cg="505."/>
|
||||
<eng-data t="4.804" f="1949.28" m="876.435" cg="505."/>
|
||||
<eng-data t="5.165" f="1684.67" m="502.857" cg="505."/>
|
||||
<eng-data t="5.511" f="1181.92" m="220.41" cg="505."/>
|
||||
<eng-data t="6.013" f="313.12" m="6.68754" cg="505."/>
|
||||
<eng-data t="6.088" f="0." m="0." cg="505."/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
15
datafiles/thrustcurves/Cesaroni_N3301.eng
Normal file
15
datafiles/thrustcurves/Cesaroni_N3301.eng
Normal file
@ -0,0 +1,15 @@
|
||||
; Pro98-6GXL White 19318-N3301
|
||||
19318-N3301-WH-P 98 1239 P 10.919 16.525 CTI
|
||||
0.027 5000.0
|
||||
0.074 4201.389
|
||||
0.114 4415.509
|
||||
0.325 4091.435
|
||||
1.438 3993.056
|
||||
2.391 3964.12
|
||||
3.139 3842.593
|
||||
4.033 3524.306
|
||||
4.425 2557.87
|
||||
4.774 2314.815
|
||||
5.318 1116.898
|
||||
5.793 329.861
|
||||
5.875 0.0
|
||||
28
datafiles/thrustcurves/Cesaroni_N3301.rse
Normal file
28
datafiles/thrustcurves/Cesaroni_N3301.rse
Normal file
@ -0,0 +1,28 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine mfg="CTI" code="19318-N3301-WH-P" Type="unspecified" dia="98." len="1239."
|
||||
initWt="16525." propWt="10919." delays="0" auto-calc-mass="1" auto-calc-cg="1"
|
||||
avgThrust="3266.35" peakThrust="5000." throatDia="0." exitDia="0." Itot="19189.8"
|
||||
burn-time="5.88" massFrac="66.08" Isp="179.21" tDiv="10" tStep="-1." tFix="1"
|
||||
FDiv="10" FStep="-1." FFix="1" mDiv="10" mStep="-1." mFix="1" cgDiv="10"
|
||||
cgStep="-1." cgFix="1">
|
||||
<comments>Pro98-6GXL White 19318-N3301</comments>
|
||||
<data>
|
||||
<eng-data t="0." f="0." m="10919." cg="619.5"/>
|
||||
<eng-data t="0.027" f="5000." m="10880.6" cg="619.5"/>
|
||||
<eng-data t="0.074" f="4201.39" m="10757.6" cg="619.5"/>
|
||||
<eng-data t="0.114" f="4415.51" m="10659.5" cg="619.5"/>
|
||||
<eng-data t="0.325" f="4091.43" m="10148.8" cg="619.5"/>
|
||||
<eng-data t="1.438" f="3993.06" m="7588.89" cg="619.5"/>
|
||||
<eng-data t="2.391" f="3964.12" m="5431.47" cg="619.5"/>
|
||||
<eng-data t="3.139" f="3842.59" m="3770.16" cg="619.5"/>
|
||||
<eng-data t="4.033" f="3524.31" m="1896.44" cg="619.5"/>
|
||||
<eng-data t="4.425" f="2557.87" m="1218.14" cg="619.5"/>
|
||||
<eng-data t="4.774" f="2314.82" m="734.325" cg="619.5"/>
|
||||
<eng-data t="5.318" f="1116.9" m="203.207" cg="619.5"/>
|
||||
<eng-data t="5.793" f="329.861" m="7.69532" cg="619.5"/>
|
||||
<eng-data t="5.875" f="0." m="0." cg="619.5"/>
|
||||
</data>
|
||||
</engine>
|
||||
</engine-list>
|
||||
</engine-database>
|
||||
54
datafiles/thrustcurves/Kosdon_I560.eng
Normal file
54
datafiles/thrustcurves/Kosdon_I560.eng
Normal file
@ -0,0 +1,54 @@
|
||||
;Manufacturer: Kosdon TRM
|
||||
;Entered: Dec 29, 2009
|
||||
;Last Updated: December 15, 2010
|
||||
;Mfr. Designation: I-560F
|
||||
;Previous Designation: I-800
|
||||
;Brand Name: I560F
|
||||
;Common Name: I-560
|
||||
;Motor Type: reload
|
||||
;Delays: 20
|
||||
;Diameter: 29.0mm
|
||||
;Length: 59.7cm
|
||||
;Total Weight:
|
||||
;Propellant Weight: 246g
|
||||
;Propellant Weight, advertised: 235g
|
||||
;Delay Length: .735"
|
||||
;Cert. Org.: Tripoli Rocketry Association, Inc.
|
||||
;Cert. Designation: I551 (26% I)
|
||||
;Cert. Date:
|
||||
;Average Thrust: 550.9N
|
||||
;Maximum Thrust:
|
||||
;Total Impulse: 404.2Ns
|
||||
;Total Impulse, advertised 436 Ns
|
||||
;Burn Time: 0.7s
|
||||
;Burn Time, advertised: .76s
|
||||
;Propellant Info: Fast
|
||||
;Advertised Lift: 200 Lbs.
|
||||
;Advertised Data taken from Frank Kosdon's 1998 Catalog
|
||||
I560 28.956000 597.408000 0 0.246362 0.530712 K
|
||||
0.01 589.55
|
||||
0.05 867.33
|
||||
0.08 850.44
|
||||
0.11 858.52
|
||||
0.14 870.51
|
||||
0.17 884.49
|
||||
0.20 899.92
|
||||
0.23 917.48
|
||||
0.27 932.37
|
||||
0.30 948.22
|
||||
0.33 963.32
|
||||
0.36 973.92
|
||||
0.39 943.05
|
||||
0.42 678.73
|
||||
0.45 237.05
|
||||
0.48 221.40
|
||||
0.52 212.53
|
||||
0.55 202.72
|
||||
0.58 200.00
|
||||
0.61 188.21
|
||||
0.64 145.22
|
||||
0.68 96.66
|
||||
0.71 60.02
|
||||
0.74 32.13
|
||||
0.77 10.50
|
||||
0.80 0.00
|
||||
@ -1,6 +1,6 @@
|
||||
<engine-database>
|
||||
<engine-list>
|
||||
<engine FDiv="10" FFix="1" FStep="-1." Isp="199.98" Itot="1157.08" Type="hybrid" auto-calc-cg="1" auto-calc-mass="1" avgThrust="178.012" burn-time="6.5" cgDiv="10" cgFix="1" cgStep="-1." code="J175" delays="1000" dia="54." exitDia="0." initWt="1264." len="327." mDiv="10" mFix="1" mStep="-1." massFrac="46.68" mfg="Loki Research" peakThrust="420.4" propWt="590." tDiv="10" tFix="1" tStep="-1." throatDia="0.">
|
||||
<engine FDiv="10" FFix="1" FStep="-1." Isp="199.98" Itot="1157.08" Type="reloadable" auto-calc-cg="1" auto-calc-mass="1" avgThrust="178.012" burn-time="6.5" cgDiv="10" cgFix="1" cgStep="-1." code="J175" delays="1000" dia="54." exitDia="0." initWt="1264." len="327." mDiv="10" mFix="1" mStep="-1." massFrac="46.68" mfg="Loki Research" peakThrust="420.4" propWt="590." tDiv="10" tFix="1" tStep="-1." throatDia="0.">
|
||||
<data>
|
||||
<eng-data cg="163.5" f="0." m="590." t="0."/>
|
||||
<eng-data cg="163.5" f="4.8" m="589.988" t="0.01"/>
|
||||
|
||||
@ -198,20 +198,22 @@ Component class & Description \\
|
||||
\end{table}
|
||||
|
||||
|
||||
Additionally three interfaces are defined for the components,
|
||||
\code{MotorMount}, \code{Clusterable} and \code{RadialParent}.
|
||||
Components implementing the \code{Motor\-Mount} interface, currently
|
||||
\code{BodyTube} and \code{InnerTube}, can function as motor mounts and
|
||||
have motors loaded in them. The \code{Clusterable} interface
|
||||
signifies that the component can be clustered in various
|
||||
configurations. Currently only the \code{InnerTube} component can be
|
||||
clustered. Components and motors that are attached to a clustered
|
||||
inner tube are automatically replicated to all tubes within the
|
||||
cluster. The \code{RadialParent} interface allows inner components to
|
||||
automatically identify their correct inner and outer radii based on
|
||||
their parent and sibling components. For example, a coupler tube can
|
||||
automatically detect its radius based on the inner radius of
|
||||
the parent body tube.
|
||||
Additionally four interfaces are defined for the components,
|
||||
\code{MotorMount}, \code{Clusterable}, \code{Radial\-Parent} and
|
||||
\code{Coaxial}. Components implementing the \code{Motor\-Mount}
|
||||
interface, currently \code{Body\-Tube} and \code{Inner\-Tube}, can
|
||||
function as motor mounts and have motors loaded in them. The
|
||||
\code{Clusterable} interface signifies that the component can be
|
||||
clustered in various configurations. Currently only the
|
||||
\code{Inner\-Tube} component can be clustered. Components and motors
|
||||
that are attached to a clustered inner tube are automatically
|
||||
replicated to all tubes within the cluster. The \code{Radial\-Parent}
|
||||
interface allows inner components to automatically identify their
|
||||
correct inner and outer radii based on their parent and sibling
|
||||
components. For example, a coupler tube can automatically detect its
|
||||
radius based on the inner radius of the parent body tube.
|
||||
\code{Coaxial} on the other hand provides a generic interface for
|
||||
accessing and modifying properties of fixed-radius components.
|
||||
|
||||
|
||||
Since the software functionality is divided into different packages,
|
||||
@ -237,11 +239,7 @@ structure, presentation, computation and storage methods.
|
||||
One of the key aspects in the design of the simulation implementation
|
||||
was extensibility. Therefore all aerodynamic calculation code is
|
||||
separated in the package \code{aerodynamics} and all simulation code
|
||||
is in the package \code{simulator}.
|
||||
|
||||
The basis for aerodynamic calculations is the abstract class
|
||||
\code{Aerodynamic\-Calculator}, while the simulators are subclasses of
|
||||
the \code{Flight\-Simulator} class. This allows adding new
|
||||
is in the package \code{simulator}. This allows adding new
|
||||
implementations of the aerodynamic calculators and simulators
|
||||
independently. For example, a simulator using Euler integration was
|
||||
written in the early stages of development, and later replaced by the
|
||||
@ -249,9 +247,24 @@ Runge-Kutta~4 simulator. Similarly, a different method of calculating
|
||||
the aerodynamic forces, such as CFD, could be implemented and used by
|
||||
the existing simulators.
|
||||
|
||||
The basis for all aerodynamic calculations is the interface
|
||||
\code{Aerodynamic\-Calculator}. The current implementation, based on
|
||||
the Barrowman methods, is implemented in the class
|
||||
\code{Barrowman\-Calculator}. This implementation caches mid-results
|
||||
for performance reasons.
|
||||
|
||||
Flight simulation is split into the
|
||||
interfaces \code{Simulation\-Engine}, which is responsible for
|
||||
maintaining the flow of the simulation and handling events (such as
|
||||
motor ignition), and \code{Simulation\-Stepper}, which is responsible
|
||||
for taking individual time steps while simulating (using {\it e.g.}
|
||||
RK4 iteration).
|
||||
|
||||
Similar abstraction has been performed for the atmospheric temperature
|
||||
and pressure model by the abstract class \code{AtmosphericModel} and
|
||||
different rocket motor types by the \code{Motor} class, among others.
|
||||
and pressure model with the \code{Atmospheric\-Model} interface, the
|
||||
gravity model with \code{Gravity\-Model}, the wind modelling with
|
||||
\code{Wind\-Model} and different rocket motor types by the
|
||||
\code{Motor} class, among others.
|
||||
|
||||
|
||||
|
||||
@ -262,11 +275,11 @@ different rocket motor types by the \code{Motor} class, among others.
|
||||
|
||||
Simulation listeners are pieces of code that can dynamically be
|
||||
configured to listen to and interact with a simulation while it is
|
||||
running. The listeners are called after each simulation step, at each
|
||||
simulation event and both when the flight conditions and aerodynamic
|
||||
forces have been calculated. The listeners may simply gather flight
|
||||
data for use outside the simulation or modify the rocket or simulation
|
||||
during the flight. This allows great potential for extensibility both
|
||||
running. The listeners are called before and after each simulation
|
||||
step, each simulation event and any calculations performed during
|
||||
flight simulation. The listeners may simply gather flight data for
|
||||
use outside the simulation or modify the rocket or simulation during
|
||||
the flight. This allows great potential for extensibility both
|
||||
internally and externally.
|
||||
|
||||
Listeners are used internally for various purposes such as retrieving
|
||||
@ -276,26 +289,28 @@ functionality otherwise would have required a lot of special case
|
||||
handling directly within the simulation code.
|
||||
|
||||
Listeners can also be used to modify the simulation or the rocket
|
||||
during its flight. The successor project of Haisunäätä will include
|
||||
an active roll stabilization system, where a flight computer will
|
||||
measure the roll rate using two magnetometers and use a PID controller
|
||||
to adjust two auxiliary fins to cancel out the roll inevitably
|
||||
produced by imperfections in the main fins. A simulation listener was
|
||||
written that first simulated the PID controller purely in Java, which
|
||||
during its flight. The successor project of Haisunäätä included
|
||||
an active roll stabilization system, where a flight computer
|
||||
measured the roll rate using two magnetometers and used a PID controller
|
||||
to adjust two auxiliary fins to cancel out any roll produced by
|
||||
inevitable imperfections in the main fins. A simulation listener was
|
||||
written that initially simulated the PID controller purely in Java, which
|
||||
modified the cant angle of the auxiliary fins during the simulation.
|
||||
Later a similar listener interfaced the external flight computer
|
||||
directly using a serial data link. The listener fed the flight data
|
||||
to the controller which computed and reported the control actions back
|
||||
to the simulator. This system helped identify and fix numerous bugs
|
||||
in the flight computer software, which would have otherwise been
|
||||
nearly impossible to fully test. It is expected that the simulation
|
||||
listeners will be an invaluable tool for more ambitious model rocket
|
||||
enthusiasts.
|
||||
directly using a serial data link. The listener fed the simulated
|
||||
flight data to the controller which computed and reported the control
|
||||
actions back to the simulator. This system helped identify and fix
|
||||
numerous bugs in the flight computer software, which would have
|
||||
otherwise been nearly impossible to fully test. It is expected that
|
||||
the simulation listeners will be an invaluable tool for more ambitious
|
||||
model rocket enthusiasts.
|
||||
|
||||
A listener is produced by implementing the \code{SimulationListener}
|
||||
interface or by extending the \code{AbstractSimulationListener}
|
||||
class. The UI includes the option of defining custom simulation
|
||||
listeners to be utilized during flight simulation.
|
||||
A listener is produced by implementing the \code{Simulation\-Listener}
|
||||
and optionally \code{Simulation\-Event\-Listener} and
|
||||
\code{Simulation\-Computation\-Listener} interfaces, or by extending
|
||||
the \code{Abstract\-Simulation\-Listener} class. The UI includes the
|
||||
option of defining custom simulation listeners to be utilized during
|
||||
flight simulation.
|
||||
|
||||
|
||||
\subsection{Warnings}
|
||||
@ -440,36 +455,39 @@ number.
|
||||
\label{fig-plotting}
|
||||
\end{figure}
|
||||
|
||||
Advanced users may also export the flight data in CSV format for
|
||||
further analysis using other tools.
|
||||
|
||||
\section{Future enhancements}
|
||||
|
||||
Numerous features have been planned and taken into account during the
|
||||
design of the software. Below are listed a few of the planned
|
||||
features and how they have been taken into account:
|
||||
|
||||
{\it Alternative aerodynamic calculators.} For example CFD could be
|
||||
used to calculate the aerodynamic properties, allowing even better
|
||||
simulation accuracy. The calculators have been abstracted by the
|
||||
\code{AerodynamicCalculator} class so they can easily be
|
||||
interchanged.
|
||||
|
||||
{\it Alternative simulators.} These could take into account for
|
||||
example the curvature of the Earth and include the Coriolis effect.
|
||||
New simulators can be created by extending the abstract
|
||||
\code{FlightSimulator} class.
|
||||
|
||||
{\it Export and import of flight data.} The simulated data could be
|
||||
exported for further analysis as comma separated values (CSV).
|
||||
Similarly, experimental data could be imported either from files or
|
||||
directly from altimeters. Support for imported data already exists in
|
||||
the core functionalities.
|
||||
|
||||
{\it Importing database files.} The motor database is easily
|
||||
extendable to read external thrust curves. Also data of commercially
|
||||
available rocket components could be imported and available in the
|
||||
component edit dialog.
|
||||
|
||||
{\it Further UI enhancements.} These could include for example a 3D
|
||||
view of the rocket, an animation of the rocket flight, a ``wizard''
|
||||
dialog for easily creating new designs, {\it etc.}
|
||||
|
||||
%
|
||||
%\section{Future enhancements}
|
||||
%
|
||||
%Numerous features have been planned and taken into account during the
|
||||
%design of the software. Below are listed a few of the planned
|
||||
%features and how they have been taken into account:
|
||||
%
|
||||
%{\it Alternative aerodynamic calculators.} For example CFD could be
|
||||
%used to calculate the aerodynamic properties, allowing even better
|
||||
%simulation accuracy. The calculators have been abstracted by the
|
||||
%\code{AerodynamicCalculator} interface so they can easily be
|
||||
%interchanged.
|
||||
%
|
||||
%{\it Alternative simulators.} These could take into account for
|
||||
%example the curvature of the Earth and include the Coriolis effect.
|
||||
%New simulators can be created by implementing the
|
||||
%\code{Simulation\-Stepper} interface.
|
||||
%
|
||||
%{\it Export and import of flight data.} The simulated data could be
|
||||
%exported for further analysis as comma separated values (CSV).
|
||||
%Similarly, experimental data could be imported either from files or
|
||||
%directly from altimeters. Support for imported data already exists in
|
||||
%the core functionalities.
|
||||
%
|
||||
%{\it Importing database files.} The motor database is easily
|
||||
%extendable to read external thrust curves. Also data of commercially
|
||||
%available rocket components could be imported and available in the
|
||||
%component edit dialog.
|
||||
%
|
||||
%{\it Further UI enhancements.} These could include for example a 3D
|
||||
%view of the rocket, an animation of the rocket flight, a ``wizard''
|
||||
%dialog for easily creating new designs, {\it etc.}
|
||||
%
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 48 KiB |
Binary file not shown.
@ -93,10 +93,10 @@
|
||||
\begin{center}
|
||||
{\LARGE\bf OpenRocket technical documentation}
|
||||
|
||||
{\large For OpenRocket version 1.0.0}
|
||||
{\large For OpenRocket version 1.1.6}
|
||||
|
||||
\vspace{-3mm}
|
||||
2010-04-06
|
||||
2011-07-18
|
||||
|
||||
\vspace{10mm}
|
||||
{\Large Sampo Niskanen}
|
||||
@ -137,6 +137,9 @@ While the original thesis is available online under a Creative Commons
|
||||
no-derivatives license, this document is available under a freer
|
||||
share-alike license.
|
||||
|
||||
The latest version of the technical documentation is available on the
|
||||
OpenRocket website, \url{http://openrocket.sourceforge.net/}.
|
||||
|
||||
\vspace{10mm}
|
||||
|
||||
\begin{center}
|
||||
@ -147,7 +150,9 @@ share-alike license.
|
||||
\begin{tabular}{lp{120mm}}
|
||||
2010-04-06 & Initial revision. Updates the roll angle effect on three- and
|
||||
four-fin configurations in Section~\ref{update-roll-angle}.
|
||||
(OpenRocket software 1.0.0)
|
||||
(OpenRocket software 1.0.0) \\
|
||||
2011-07-18 & Updated Chapter~\ref{chap-software} for updates in the
|
||||
software. (OpenRocket software 1.1.6) \\
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
@ -289,20 +294,18 @@ UI & User interface \\
|
||||
|
||||
I would like to express my deepest gratitude to M.Sc.~Timo Sailaranta
|
||||
for his invaluable advice and consultation on the aerodynamic
|
||||
simulation of rockets. Without his input the creation of this thesis
|
||||
would have been exceedingly laborious. I would also like to thank
|
||||
Prof.~Rolf Stenberg for supervising the writing of this thesis, and
|
||||
Juhani Talvela for proofreading and commenting early versions of this
|
||||
text.
|
||||
simulation of rockets. Without his input the creation of the
|
||||
OpenRocket software and Master's thesis would have been exceedingly
|
||||
laborious. I would also like to thank Prof.~Rolf Stenberg for
|
||||
supervising the writing of the Master's thesis.
|
||||
|
||||
I am also deeply grateful for my parents Jouni and Riitta, my entire
|
||||
family, friends and teachers, who have always encouraged me onwards in
|
||||
my life and studies. Above all I would like to thank my brother,
|
||||
Antti~J. Niskanen, for being an inspiration throughout my life and
|
||||
also for
|
||||
building the magnetometer logger used in the experimental flights; and
|
||||
my fiancée Merli Lahtinen, for her patience and loving understanding
|
||||
for my passion towards rocketry.
|
||||
also for building the magnetometer logger used in the experimental
|
||||
flights; and my wife Merli Lahtinen, for her patience and loving
|
||||
understanding for my passion towards rocketry.
|
||||
|
||||
|
||||
|
||||
|
||||
@ -11,8 +11,8 @@ import java.util.List;
|
||||
import net.sf.openrocket.motor.Manufacturer;
|
||||
import net.sf.openrocket.motor.Motor;
|
||||
import net.sf.openrocket.motor.MotorDigest;
|
||||
import net.sf.openrocket.motor.ThrustCurveMotor;
|
||||
import net.sf.openrocket.motor.MotorDigest.DataType;
|
||||
import net.sf.openrocket.motor.ThrustCurveMotor;
|
||||
import net.sf.openrocket.util.Coordinate;
|
||||
|
||||
public class RASPMotorLoader extends AbstractMotorLoader {
|
||||
@ -202,8 +202,8 @@ public class RASPMotorLoader extends AbstractMotorLoader {
|
||||
|
||||
try {
|
||||
|
||||
return new ThrustCurveMotor(Manufacturer.getManufacturer(manufacturer),
|
||||
designation, comment, Motor.Type.UNKNOWN,
|
||||
Manufacturer m = Manufacturer.getManufacturer(manufacturer);
|
||||
return new ThrustCurveMotor(m, designation, comment, m.getMotorType(),
|
||||
delays, diameter, length, timeArray, thrustArray, cgArray);
|
||||
|
||||
} catch (IllegalArgumentException e) {
|
||||
|
||||
@ -12,11 +12,13 @@ import net.sf.openrocket.file.simplesax.ElementHandler;
|
||||
import net.sf.openrocket.file.simplesax.NullElementHandler;
|
||||
import net.sf.openrocket.file.simplesax.PlainTextHandler;
|
||||
import net.sf.openrocket.file.simplesax.SimpleSAX;
|
||||
import net.sf.openrocket.logging.LogHelper;
|
||||
import net.sf.openrocket.motor.Manufacturer;
|
||||
import net.sf.openrocket.motor.Motor;
|
||||
import net.sf.openrocket.motor.MotorDigest;
|
||||
import net.sf.openrocket.motor.ThrustCurveMotor;
|
||||
import net.sf.openrocket.motor.MotorDigest.DataType;
|
||||
import net.sf.openrocket.motor.ThrustCurveMotor;
|
||||
import net.sf.openrocket.startup.Application;
|
||||
import net.sf.openrocket.util.Coordinate;
|
||||
|
||||
import org.xml.sax.InputSource;
|
||||
@ -24,6 +26,8 @@ import org.xml.sax.SAXException;
|
||||
|
||||
public class RockSimMotorLoader extends AbstractMotorLoader {
|
||||
|
||||
private static final LogHelper log = Application.getLogger();
|
||||
|
||||
public static final String CHARSET_NAME = "UTF-8";
|
||||
|
||||
public static final Charset CHARSET = Charset.forName(CHARSET_NAME);
|
||||
@ -33,6 +37,8 @@ public class RockSimMotorLoader extends AbstractMotorLoader {
|
||||
private static final int DELAY_LIMIT = 90;
|
||||
|
||||
|
||||
// FIXME: Obtain default motor type from manufacturer info
|
||||
|
||||
|
||||
@Override
|
||||
protected Charset getDefaultCharset() {
|
||||
@ -362,8 +368,20 @@ public class RockSimMotorLoader extends AbstractMotorLoader {
|
||||
|
||||
|
||||
try {
|
||||
return new ThrustCurveMotor(Manufacturer.getManufacturer(manufacturer),
|
||||
designation, description, type,
|
||||
Manufacturer m = Manufacturer.getManufacturer(manufacturer);
|
||||
Motor.Type t = type;
|
||||
if (t == Motor.Type.UNKNOWN) {
|
||||
t = m.getMotorType();
|
||||
} else {
|
||||
if (m.getMotorType() != Motor.Type.UNKNOWN && m.getMotorType() != t) {
|
||||
log.warn("Loaded motor type inconsistent with manufacturer," +
|
||||
" loaded type=" + t + " manufacturer=" + m +
|
||||
" manufacturer type=" + m.getMotorType() +
|
||||
" designation=" + designation);
|
||||
}
|
||||
}
|
||||
|
||||
return new ThrustCurveMotor(m, designation, description, t,
|
||||
delays, diameter, length, timeArray, thrustArray, cgArray);
|
||||
} catch (IllegalArgumentException e) {
|
||||
throw new SAXException("Illegal motor data", e);
|
||||
|
||||
@ -6,99 +6,105 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Class containing information about motor manufacturers.
|
||||
*
|
||||
* @author Sampo Niskanen <sampo.niskanen@iki.fi>
|
||||
*/
|
||||
public class Manufacturer {
|
||||
|
||||
private static Set<Manufacturer> manufacturers = new HashSet<Manufacturer>();
|
||||
static {
|
||||
|
||||
|
||||
// AeroTech has many name combinations...
|
||||
List<String> names = new ArrayList<String>();
|
||||
for (String s: new String[] { "A", "AT", "AERO", "AEROT", "AEROTECH" }) {
|
||||
for (String s : new String[] { "A", "AT", "AERO", "AEROT", "AEROTECH" }) {
|
||||
names.add(s);
|
||||
names.add(s+"-RMS");
|
||||
names.add(s+"-RCS");
|
||||
names.add(s + "-RMS");
|
||||
names.add(s + "-RCS");
|
||||
names.add("RCS-" + s);
|
||||
names.add(s+"-APOGEE");
|
||||
names.add(s + "-APOGEE");
|
||||
}
|
||||
names.add("ISP");
|
||||
|
||||
manufacturers.add(new Manufacturer("AeroTech", "AeroTech",
|
||||
|
||||
// Aerotech has single-use, reload and hybrid motors
|
||||
manufacturers.add(new Manufacturer("AeroTech", "AeroTech", Motor.Type.UNKNOWN,
|
||||
names.toArray(new String[0])));
|
||||
|
||||
manufacturers.add(new Manufacturer("Alpha Hybrid Rocketry LLC",
|
||||
"Alpha Hybrid Rocketry",
|
||||
manufacturers.add(new Manufacturer("Alpha Hybrid Rocketry LLC", "Alpha Hybrid Rocketry", Motor.Type.HYBRID,
|
||||
"AHR", "ALPHA", "ALPHA HYBRID", "ALPHA HYBRIDS", "ALPHA HYBRIDS ROCKETRY"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Animal Motor Works","Animal Motor Works",
|
||||
|
||||
// TODO: HIGH: AMW/ProX - how to classify?
|
||||
|
||||
manufacturers.add(new Manufacturer("Animal Motor Works", "Animal Motor Works", Motor.Type.RELOAD,
|
||||
"AMW", "AW", "ANIMAL"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Apogee","Apogee",
|
||||
|
||||
manufacturers.add(new Manufacturer("Apogee", "Apogee", Motor.Type.SINGLE,
|
||||
"AP", "APOG", "P"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Cesaroni Technology Inc.",
|
||||
"Cesaroni Technology",
|
||||
|
||||
manufacturers.add(new Manufacturer("Cesaroni Technology Inc.", "Cesaroni Technology", Motor.Type.RELOAD,
|
||||
"CES", "CESARONI", "CESARONI TECHNOLOGY INCORPORATED", "CTI",
|
||||
"CS", "CSR", "PRO38", "ABC"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Contrail Rockets","Contrail Rockets",
|
||||
|
||||
manufacturers.add(new Manufacturer("Contrail Rockets", "Contrail Rockets", Motor.Type.HYBRID,
|
||||
"CR", "CONTR", "CONTRAIL", "CONTRAIL ROCKET"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Estes","Estes",
|
||||
manufacturers.add(new Manufacturer("Estes", "Estes", Motor.Type.SINGLE,
|
||||
"E", "ES"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Ellis Mountain","Ellis Mountain",
|
||||
// Ellis Mountain has both single-use and reload motors
|
||||
manufacturers.add(new Manufacturer("Ellis Mountain", "Ellis Mountain", Motor.Type.UNKNOWN,
|
||||
"EM", "ELLIS", "ELLIS MOUNTAIN ROCKET", "ELLIS MOUNTAIN ROCKETS"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Gorilla Rocket Motors",
|
||||
"Gorilla Rocket Motors",
|
||||
"GR", "GORILLA", "GORILLA ROCKET", "GORILLA ROCKETS", "GORILLA MOTOR",
|
||||
|
||||
manufacturers.add(new Manufacturer("Gorilla Rocket Motors", "Gorilla Rocket Motors", Motor.Type.RELOAD,
|
||||
"GR", "GORILLA", "GORILLA ROCKET", "GORILLA ROCKETS", "GORILLA MOTOR",
|
||||
"GORILLA MOTORS", "GORILLA ROCKET MOTOR"));
|
||||
|
||||
manufacturers.add(new Manufacturer("HyperTEK", "HyperTEK",
|
||||
manufacturers.add(new Manufacturer("HyperTEK", "HyperTEK", Motor.Type.HYBRID,
|
||||
"H", "HT", "HYPER"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Kosdon by AeroTech", "Kosdon by AeroTech",
|
||||
manufacturers.add(new Manufacturer("Kosdon by AeroTech", "Kosdon by AeroTech", Motor.Type.RELOAD,
|
||||
"K", "KBA", "K-AT", "KOS", "KOSDON", "KOSDON/AT", "KOSDON/AEROTECH"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Loki Research", "Loki Research",
|
||||
manufacturers.add(new Manufacturer("Loki Research", "Loki Research", Motor.Type.RELOAD,
|
||||
"LOKI", "LR"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Public Missiles, Ltd.", "Public Missiles",
|
||||
manufacturers.add(new Manufacturer("Public Missiles, Ltd.", "Public Missiles", Motor.Type.SINGLE,
|
||||
"PM", "PML", "PUBLIC MISSILES LIMITED"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Propulsion Polymers", "Propulsion Polymers",
|
||||
|
||||
manufacturers.add(new Manufacturer("Propulsion Polymers", "Propulsion Polymers", Motor.Type.HYBRID,
|
||||
"PP", "PROP", "PROPULSION"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Quest", "Quest",
|
||||
manufacturers.add(new Manufacturer("Quest", "Quest", Motor.Type.SINGLE,
|
||||
"Q", "QU"));
|
||||
|
||||
manufacturers.add(new Manufacturer("RATT Works", "RATT Works",
|
||||
manufacturers.add(new Manufacturer("RATT Works", "RATT Works", Motor.Type.HYBRID,
|
||||
"RATT", "RT", "RTW"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Roadrunner Rocketry","Roadrunner Rocketry",
|
||||
manufacturers.add(new Manufacturer("Roadrunner Rocketry", "Roadrunner Rocketry", Motor.Type.SINGLE,
|
||||
"RR", "ROADRUNNER"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Rocketvision", "Rocketvision",
|
||||
manufacturers.add(new Manufacturer("Rocketvision", "Rocketvision", Motor.Type.SINGLE,
|
||||
"RV", "ROCKET VISION"));
|
||||
|
||||
manufacturers.add(new Manufacturer("Sky Ripper Systems","Sky Ripper Systems",
|
||||
manufacturers.add(new Manufacturer("Sky Ripper Systems", "Sky Ripper Systems", Motor.Type.HYBRID,
|
||||
"SR", "SRS", "SKYR", "SKYRIPPER", "SKY RIPPER", "SKYRIPPER SYSTEMS"));
|
||||
|
||||
manufacturers.add(new Manufacturer("West Coast Hybrids", "West Coast Hybrids",
|
||||
manufacturers.add(new Manufacturer("West Coast Hybrids", "West Coast Hybrids", Motor.Type.HYBRID,
|
||||
"WCH", "WCR", "WEST COAST", "WEST COAST HYBRID"));
|
||||
|
||||
// German WECO Feuerwerk, previously Sachsen Feuerwerk
|
||||
manufacturers.add(new Manufacturer("WECO Feuerwerk", "WECO Feuerwerk",
|
||||
manufacturers.add(new Manufacturer("WECO Feuerwerk", "WECO Feuerwerk", Motor.Type.SINGLE,
|
||||
"WECO", "WECO FEUERWERKS", "SF", "SACHSEN", "SACHSEN FEUERWERK",
|
||||
"SACHSEN FEUERWERKS"));
|
||||
|
||||
|
||||
|
||||
// Check that no duplicates have appeared
|
||||
for (Manufacturer m1: manufacturers) {
|
||||
for (Manufacturer m2: manufacturers) {
|
||||
for (Manufacturer m1 : manufacturers) {
|
||||
for (Manufacturer m2 : manufacturers) {
|
||||
if (m1 == m2)
|
||||
continue;
|
||||
for (String name: m1.getAllNames()) {
|
||||
for (String name : m1.getAllNames()) {
|
||||
if (m2.matches(name)) {
|
||||
throw new IllegalStateException("Manufacturer name clash between " +
|
||||
"manufacturers " + m1 + " and " + m2 + " name " + name);
|
||||
@ -108,17 +114,22 @@ public class Manufacturer {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private final String displayName;
|
||||
private final String simpleName;
|
||||
private final Set<String> allNames;
|
||||
private final Set<String> searchNames;
|
||||
private final Motor.Type motorType;
|
||||
|
||||
|
||||
private Manufacturer(String displayName, String simpleName, String... alternateNames) {
|
||||
private Manufacturer(String displayName, String simpleName, Motor.Type motorType, String... alternateNames) {
|
||||
this.displayName = displayName;
|
||||
this.simpleName = simpleName;
|
||||
this.motorType = motorType;
|
||||
if (motorType == null) {
|
||||
throw new IllegalArgumentException("motorType cannot be null");
|
||||
}
|
||||
|
||||
Set<String> all = new HashSet<String>();
|
||||
Set<String> search = new HashSet<String>();
|
||||
@ -128,7 +139,7 @@ public class Manufacturer {
|
||||
search.add(generateSearchString(displayName));
|
||||
search.add(generateSearchString(simpleName));
|
||||
|
||||
for (String name: alternateNames) {
|
||||
for (String name : alternateNames) {
|
||||
all.add(name);
|
||||
search.add(generateSearchString(name));
|
||||
}
|
||||
@ -147,8 +158,8 @@ public class Manufacturer {
|
||||
public String getDisplayName() {
|
||||
return displayName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Returns the simple name of the manufacturer. This should be used for example
|
||||
* when saving the manufacturer for compatibility.
|
||||
@ -158,8 +169,8 @@ public class Manufacturer {
|
||||
public String getSimpleName() {
|
||||
return simpleName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Return all names of the manufacturer. This includes all kinds of
|
||||
* codes that correspond to the manufacturer (for example "A" for AeroTech).
|
||||
@ -169,7 +180,19 @@ public class Manufacturer {
|
||||
public Set<String> getAllNames() {
|
||||
return allNames;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Return the motor type that this manufacturer produces if it produces only one motor type.
|
||||
* If the manufacturer manufactures multiple motor types or the type is unknown,
|
||||
* type <code>UNKNOWN</code> is returned.
|
||||
*
|
||||
* @return the manufactured motor type, or <code>UNKNOWN</code>.
|
||||
*/
|
||||
public Motor.Type getMotorType() {
|
||||
return motorType;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check whether the display, simple or any of the alternative names matches the
|
||||
@ -206,19 +229,19 @@ public class Manufacturer {
|
||||
* @return the Manufacturer object corresponding the name.
|
||||
*/
|
||||
public static synchronized Manufacturer getManufacturer(String name) {
|
||||
for (Manufacturer m: manufacturers) {
|
||||
for (Manufacturer m : manufacturers) {
|
||||
if (m.matches(name))
|
||||
return m;
|
||||
}
|
||||
|
||||
Manufacturer m = new Manufacturer(name.trim(), name.trim());
|
||||
Manufacturer m = new Manufacturer(name.trim(), name.trim(), Motor.Type.UNKNOWN);
|
||||
manufacturers.add(m);
|
||||
return m;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private String generateSearchString(String str) {
|
||||
return str.toLowerCase().replaceAll("[^a-zA-Z0-9]+", " ").trim();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user