Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# ignore outputs
outputs/

# ignore prototyping files
*.ipynb

Expand Down
36 changes: 36 additions & 0 deletions outputs/cycle_comparison_20251126_102847/data/summary.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"requirements": {
"thrust_kN": 500.0,
"chamber_pressure_MPa": 15.0,
"propellants": "LOX/CH4",
"mixture_ratio": 3.2
},
"ideal_performance": {
"isp_vac_s": 355.618287029336,
"cstar_m_s": 1867.159619502034,
"mdot_kg_s": 153.79256378134085
},
"cycles": [
{
"cycle": "Pressure-Fed",
"net_isp": 331.5232505089583,
"tank_pressure_MPa": 25.070814644840986,
"pump_power_kW": 0,
"efficiency": 1.0
},
{
"cycle": "Gas Generator",
"net_isp": 301.43986952883694,
"tank_pressure_MPa": 0.3,
"pump_power_kW": 4793.858544008899,
"efficiency": 0.9092571005685514
},
{
"cycle": "Staged Combustion",
"net_isp": 324.8927854987791,
"tank_pressure_MPa": 0.4,
"pump_power_kW": 4361.185940503696,
"efficiency": 0.98
}
]
}
9 changes: 9 additions & 0 deletions outputs/cycle_comparison_20251126_102847/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "cycle_comparison",
"created": "2025-11-26T10:28:47.176649",
"files": [
"data/summary.json"
],
"completed": "2025-11-26T10:28:47.177093",
"success": true
}
42 changes: 42 additions & 0 deletions outputs/methalox_ssto_20251126_100146/data/vehicle_summary.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"mission": {
"delta_v_km_s": 9.5,
"target_orbit": "LEO 400 km",
"payload_kg": 1000
},
"engine": {
"name": "Methalox-500",
"propellants": "LOX/CH4",
"thrust_kN": 500.0,
"chamber_pressure_MPa": 10.0,
"isp_sl_s": 320.5256042628083,
"isp_vac_s": 346.6915059643235,
"mdot_kg_s": 159.06938469443352
},
"propellant": {
"lox_kg": 52550.773557232475,
"ch4_kg": 16422.116736635147,
"total_kg": 68972.89029386762,
"burn_time_s": 433.6025466268196
},
"tanks": {
"lox": {
"volume_m3": 47.438472185757625,
"diameter_m": 2.9020123520766594,
"length_m": 7.8560376383067245,
"mass_kg": 398.25268941572546
},
"ch4": {
"volume_m3": 40.02550932024184,
"diameter_m": 2.7422138148873865,
"length_m": 7.423447018281644,
"mass_kg": 280.0165139805067
}
},
"vehicle": {
"dry_mass_kg": 2578.269203396232,
"wet_mass_kg": 71551.15949726386,
"twr": 0.7125783985491686,
"structure_fraction": 0.022882457102664816
}
}
11 changes: 11 additions & 0 deletions outputs/methalox_ssto_20251126_100146/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"name": "methalox_ssto",
"created": "2025-11-26T10:01:46.060424",
"files": [
"data/vehicle_summary.json",
"plots/engine_dashboard.png",
"plots/mass_breakdown.png"
],
"completed": "2025-11-26T10:01:46.470217",
"success": true
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions outputs/trade_study_results_20251126_101124/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "trade_study_results",
"created": "2025-11-26T10:11:24.230830",
"files": [
"data/mixture_ratio_sweep.csv"
],
"completed": "2025-11-26T10:11:24.235132",
"success": false
}
9 changes: 9 additions & 0 deletions outputs/trade_study_results_20251126_101453/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "trade_study_results",
"created": "2025-11-26T10:14:53.688293",
"files": [
"data/chamber_pressure_sweep.csv"
],
"completed": "2025-11-26T10:14:53.692364",
"success": false
}
9 changes: 9 additions & 0 deletions outputs/trade_study_results_20251126_101803/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "trade_study_results",
"created": "2025-11-26T10:18:03.834991",
"files": [
"data/chamber_pressure_sweep.csv"
],
"completed": "2025-11-26T10:18:03.839727",
"success": false
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
chamber_pressure,expansion_ratio,chamber_area,thrust_coeff_vac,chamber_volume,isp,contraction_ratio,thrust_coeff,exit_mach,chamber_diameter,isp_vac,mdot,throat_area,exit_area,chamber_length,exit_diameter,exhaust_velocity,mdot_ox,mdot_fuel,throat_diameter,cstar,nozzle_length,feasible
5.0,7.876186624172613,0.10082704335041623,1.746486770751889,0.025206760837604057,301.019889224399,4.0,1.586875848813031,2.957953479816565,0.3582973329128707,331.297029100828,67.7507533210052,0.025206760837604057,0.1985331525478551,0.20521283338589116,0.5027725736004974,2951.996696662452,51.619621577908724,16.13113174309648,0.17914866645643535,1860.2568681541907,0.4831111625577843,true
7.5,10.83051902476274,0.06469217023125673,1.7951545725751283,0.016173042557814182,312.7729915554404,4.0,1.6488342605505837,3.1491065807874272,0.2869993543079408,340.5289903311817,65.2048764125581,0.016173042557814182,0.17516244511070395,0.21412508071150738,0.4722539061431368,3067.2552576371595,49.6799058381395,15.524970574418592,0.1434996771539704,1860.2568681541907,0.49076979251734604,true
10.0,13.613407728206797,0.04734558646254097,1.827641287161869,0.011836396615635243,320.5256042628083,4.0,1.6897034333558136,3.2833310847743125,0.24552448544449687,346.6915059643235,63.62775387777341,0.011836396615635243,0.1611336931614096,0.2193094393194379,0.45294788896994387,3143.282417043869,48.47828866877974,15.149465208993668,0.12276224272224844,1860.2568681541907,0.49290663605889995,true
12.5,16.27729832096691,0.03721348009651728,1.8517506844085763,0.00930337002412932,326.2360342698122,4.0,1.7198069042188184,3.386854581730957,0.2176733204967956,351.26489971399786,62.514014753782604,0.00930337002412932,0.15143372927309406,0.22279083493790056,0.4391029634575724,3199.2826054720535,47.62972552669151,14.884289227091095,0.1088366602483978,1860.2568681541907,0.4930270421153389,true
15.0,18.85114636714012,0.030590870176051197,1.8707790567691638,0.007647717544012799,330.71899388603566,4.0,1.7434395630591322,3.471147402545745,0.1973562910474553,354.8744565324403,61.66662525160669,0.007647717544012799,0.14416824279673066,0.22533046361906808,0.42843985321603517,3243.2454213924916,46.98409542979557,14.682529821811116,0.09867814552372765,1860.2568681541907,0.49227377351745816,true
17.5,21.35315508630143,0.025933043466047308,1.8864161311991197,0.006483260866511827,334.38800589793334,4.0,1.7627813632494345,3.5422571327284817,0.1817112447161905,357.840706485907,60.98999934161398,0.006483260866511827,0.13843807474757605,0.22728609441047617,0.41983905400238336,3279.2261380389677,46.46857092694398,14.521428414669995,0.09085562235809524,1860.2568681541907,0.49111195006112696,true
20.0,23.79574885106925,0.02248348554045343,1.8996387950101252,0.005620871385113357,337.48042941959557,4.0,1.7790835823933957,3.6037640338905774,0.16919474842200788,360.3489586586384,60.4311316500132,0.005620871385113357,0.13375284380431918,0.228850656447249,0.412673490731407,3309.5524531676765,46.042766971438624,14.38836467857457,0.08459737421100394,1860.2568681541907,0.489757494921596,true
22.5,26.187906089521437,0.019828792011868247,1.9110605372156693,0.004957198002967062,340.14449966380903,4.0,1.7931276667925244,3.6579632541218174,0.1588924230850526,362.51558787291134,59.95782462957904,0.004957198002967062,0.12981863576886463,0.23013844711436843,0.4065590002748545,3335.6780576280926,45.68215209872689,14.275672530852152,0.0794462115425263,1860.2568681541907,0.4883194231433763,true
25.0,28.53639395834763,0.017724282734337772,1.9210907254407448,0.004431070683584443,342.4786872911498,4.0,1.8054327207275618,3.7064143957641447,0.15022402497412166,364.41824846899425,59.54917785065216,0.004431070683584443,0.1264467786840504,0.2312219968782348,0.4012443631067086,3358.5686187237543,45.370802171925455,14.178375678726704,0.07511201248706083,1860.2568681541907,0.4868558087874004,true
25 changes: 25 additions & 0 deletions outputs/trade_study_results_20251126_101903/data/grid_study.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
chamber_pressure,contraction_ratio,expansion_ratio,chamber_area,thrust_coeff_vac,chamber_volume,isp,thrust_coeff,exit_mach,chamber_diameter,isp_vac,mdot,throat_area,exit_area,chamber_length,exit_diameter,exhaust_velocity,mdot_ox,mdot_fuel,throat_diameter,cstar,nozzle_length,feasible
5.0,3.0,7.876186624172613,0.07562028251281216,1.746486770751889,0.025206760837604057,301.019889224399,1.586875848813031,2.957953479816565,0.31029459241075624,331.297029100828,67.7507533210052,0.025206760837604057,0.1985331525478551,0.30054685184475316,0.5027725736004974,2951.996696662452,51.619621577908724,16.13113174309648,0.17914866645643535,1860.2568681541907,0.4831111625577843,true
5.0,4.0,7.876186624172613,0.10082704335041623,1.746486770751889,0.025206760837604057,301.019889224399,1.586875848813031,2.957953479816565,0.3582973329128707,331.297029100828,67.7507533210052,0.025206760837604057,0.1985331525478551,0.20521283338589116,0.5027725736004974,2951.996696662452,51.619621577908724,16.13113174309648,0.17914866645643535,1860.2568681541907,0.4831111625577843,true
5.0,5.0,7.876186624172613,0.1260338041880203,1.746486770751889,0.025206760837604057,301.019889224399,1.586875848813031,2.957953479816565,0.4005885962750258,331.297029100828,67.7507533210052,0.025206760837604057,0.1985331525478551,0.14464001754535236,0.5027725736004974,2951.996696662452,51.619621577908724,16.13113174309648,0.17914866645643535,1860.2568681541907,0.4831111625577843,true
5.0,6.0,7.876186624172613,0.15124056502562433,1.746486770751889,0.025206760837604057,301.019889224399,1.586875848813031,2.957953479816565,0.43882282091832314,331.297029100828,67.7507533210052,0.025206760837604057,0.1985331525478551,0.10174812805119472,0.5027725736004974,2951.996696662452,51.619621577908724,16.13113174309648,0.17914866645643535,1860.2568681541907,0.4831111625577843,true
8.0,3.0,11.398612239300189,0.045229374048974154,1.8025849624925732,0.015076458016324719,314.55234490527897,1.6582144143491868,3.179305106714798,0.23997463954087364,341.93848632389995,64.83602678498518,0.015076458016324719,0.17185069887017437,0.3079770291325167,0.4677682178086497,3084.704753165354,49.398877550464896,15.43714923452028,0.13854942273760681,1860.2568681541907,0.4914633045074857,true
8.0,4.0,11.398612239300189,0.060305832065298874,1.8025849624925732,0.015076458016324719,314.55234490527897,1.6582144143491868,3.179305106714798,0.27709884547521363,341.93848632389995,64.83602678498518,0.015076458016324719,0.17185069887017437,0.2153626443155983,0.4677682178086497,3084.704753165354,49.398877550464896,15.43714923452028,0.13854942273760681,1860.2568681541907,0.4914633045074857,true
8.0,5.0,11.398612239300189,0.07538229008162359,1.8025849624925732,0.015076458016324719,314.55234490527897,1.6582144143491868,3.179305106714798,0.3098059274846438,341.93848632389995,64.83602678498518,0.015076458016324719,0.17185069887017437,0.15718587381324076,0.4677682178086497,3084.704753165354,49.398877550464896,15.43714923452028,0.13854942273760681,1860.2568681541907,0.4914633045074857,true
8.0,6.0,11.398612239300189,0.09045874809794831,1.8025849624925732,0.015076458016324719,314.55234490527897,1.6582144143491868,3.179305106714798,0.3393753898642983,341.93848632389995,64.83602678498518,0.015076458016324719,0.17185069887017437,0.1164601748849938,0.4677682178086497,3084.704753165354,49.398877550464896,15.43714923452028,0.13854942273760681,1860.2568681541907,0.4914633045074857,true
11.0,3.0,14.691291302428622,0.03203420751978145,1.8380520932621829,0.010678069173260484,322.9957602363314,1.7027252667877666,3.327603013494704,0.20195846057652117,348.6663672626394,63.14115158860391,0.010678069173260484,0.15687462477185293,0.3119939110839473,0.4469216663186218,3167.5063721216193,48.107544067507746,15.033607521096169,0.11660077157897693,1860.2568681541907,0.49310853726192444,true
11.0,4.0,14.691291302428622,0.04271227669304194,1.8380520932621829,0.010678069173260484,322.9957602363314,1.7027252667877666,3.327603013494704,0.23320154315795386,348.6663672626394,63.14115158860391,0.010678069173260484,0.15687462477185293,0.22084980710525576,0.4469216663186218,3167.5063721216193,48.107544067507746,15.033607521096169,0.11660077157897693,1860.2568681541907,0.49310853726192444,true
11.0,5.0,14.691291302428622,0.053390345866302424,1.8380520932621829,0.010678069173260484,322.9957602363314,1.7027252667877666,3.327603013494704,0.2607272514795179,348.6663672626394,63.14115158860391,0.010678069173260484,0.15687462477185293,0.16396838002486472,0.4469216663186218,3167.5063721216193,48.107544067507746,15.033607521096169,0.11660077157897693,1860.2568681541907,0.49310853726192444,true
11.0,6.0,14.691291302428622,0.0640684150395629,1.8380520932621829,0.010678069173260484,322.9957602363314,1.7027252667877666,3.327603013494704,0.2856123939833083,348.6663672626394,63.14115158860391,0.010678069173260484,0.15687462477185293,0.12441376106558383,0.4469216663186218,3167.5063721216193,48.107544067507746,15.033607521096169,0.11660077157897693,1860.2568681541907,0.49310853726192444,true
14.0,3.0,17.831082237629115,0.02470728845597142,1.8636476130278354,0.008235762818657141,329.04126803497513,1.7345951553329948,3.4392764979945003,0.1773648688588622,353.52166865894003,61.98105295835041,0.008235762818657141,0.14685256410908365,0.31459252981372954,0.43241009686343007,3226.7925511751887,47.223659396838414,14.757393561512002,0.10240165478044679,1860.2568681541907,0.4926421027282828,true
14.0,4.0,17.831082237629115,0.032943051274628564,1.8636476130278354,0.008235762818657141,329.04126803497513,1.7345951553329948,3.4392764979945003,0.20480330956089357,353.52166865894003,61.98105295835041,0.008235762818657141,0.14685256410908365,0.2243995863048883,0.43241009686343007,3226.7925511751887,47.223659396838414,14.757393561512002,0.10240165478044679,1860.2568681541907,0.4926421027282828,true
14.0,5.0,17.831082237629115,0.04117881409328571,1.8636476130278354,0.008235762818657141,329.04126803497513,1.7345951553329948,3.4392764979945003,0.22897706109754531,353.52166865894003,61.98105295835041,0.008235762818657141,0.14685256410908365,0.16835614842072535,0.43241009686343007,3226.7925511751887,47.223659396838414,14.757393561512002,0.10240165478044679,1860.2568681541907,0.4926421027282828,true
14.0,6.0,17.831082237629115,0.04941457691194284,1.8636476130278354,0.008235762818657141,329.04126803497513,1.7345951553329948,3.4392764979945003,0.2508318030287284,353.52166865894003,61.98105295835041,0.008235762818657141,0.14685256410908365,0.12955912960459628,0.43241009686343007,3226.7925511751887,47.223659396838414,14.757393561512002,0.10240165478044679,1860.2568681541907,0.4926421027282828,true
17.0,3.0,20.8578441147071,0.02006273677941217,1.8835064797346852,0.0066875789264707235,333.70629158693737,1.7591875941509971,3.528894622816198,0.15982699973146014,357.28876478097726,61.114593202823755,0.0066875789264707235,0.1394884787531266,0.31644562373015045,0.421428816270828,3272.5408043910393,46.56349958310381,14.551093619719941,0.09227616131872876,1860.2568681541907,0.491364569435542,true
17.0,4.0,20.8578441147071,0.026750315705882894,1.8835064797346852,0.0066875789264707235,333.70629158693737,1.7591875941509971,3.528894622816198,0.18455232263745752,357.28876478097726,61.114593202823755,0.0066875789264707235,0.1394884787531266,0.22693095967031782,0.421428816270828,3272.5408043910393,46.56349958310381,14.551093619719941,0.09227616131872876,1860.2568681541907,0.491364569435542,true
17.0,5.0,20.8578441147071,0.03343789463235362,1.8835064797346852,0.0066875789264707235,333.70629158693737,1.7591875941509971,3.528894622816198,0.20633576941141413,357.28876478097726,61.114593202823755,0.0066875789264707235,0.1394884787531266,0.17148509797682868,0.421428816270828,3272.5408043910393,46.56349958310381,14.551093619719941,0.09227616131872876,1860.2568681541907,0.491364569435542,true
17.0,6.0,20.8578441147071,0.04012547355882434,1.8835064797346852,0.0066875789264707235,333.70629158693737,1.7591875941509971,3.528894622816198,0.22602951065363194,357.28876478097726,61.114593202823755,0.0066875789264707235,0.1394884787531266,0.13322832933294085,0.421428816270828,3272.5408043910393,46.56349958310381,14.551093619719941,0.09227616131872876,1860.2568681541907,0.491364569435542,true
20.0,3.0,23.79574885106925,0.016862614155340072,1.8996387950101252,0.005620871385113357,337.48042941959557,1.7790835823933957,3.6037640338905774,0.1465269503203759,360.3489586586384,60.4311316500132,0.005620871385113357,0.13375284380431918,0.31785093930599034,0.412673490731407,3309.5524531676765,46.042766971438624,14.38836467857457,0.08459737421100394,1860.2568681541907,0.489757494921596,true
20.0,4.0,23.79574885106925,0.02248348554045343,1.8996387950101252,0.005620871385113357,337.48042941959557,1.7790835823933957,3.6037640338905774,0.16919474842200788,360.3489586586384,60.4311316500132,0.005620871385113357,0.13375284380431918,0.228850656447249,0.412673490731407,3309.5524531676765,46.042766971438624,14.38836467857457,0.08459737421100394,1860.2568681541907,0.489757494921596,true
20.0,5.0,23.79574885106925,0.028104356925566787,1.8996387950101252,0.005620871385113357,337.48042941959557,1.7790835823933957,3.6037640338905774,0.18916547945379245,360.3489586586384,60.4311316500132,0.005620871385113357,0.13375284380431918,0.1738579736893029,0.412673490731407,3309.5524531676765,46.042766971438624,14.38836467857457,0.08459737421100394,1860.2568681541907,0.489757494921596,true
20.0,6.0,23.79574885106925,0.033725228310680144,1.8996387950101252,0.005620871385113357,337.48042941959557,1.7790835823933957,3.6037640338905774,0.20722040039624431,360.3489586586384,60.4311316500132,0.005620871385113357,0.13375284380431918,0.13601091012035657,0.412673490731407,3309.5524531676765,46.042766971438624,14.38836467857457,0.08459737421100394,1860.2568681541907,0.489757494921596,true
31 changes: 31 additions & 0 deletions outputs/trade_study_results_20251126_101903/data/summary.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"studies": {
"mixture_ratio_sweep": {
"parameter": "mixture_ratio",
"range": [
2.4,
4.0
],
"optimal_mr": 3.0,
"optimal_isp_vac": 347.1521682740077,
"note": "Each point recalculates CEA thermochemistry"
},
"chamber_pressure_sweep": {
"parameter": "chamber_pressure",
"range_MPa": [
5,
25
],
"n_points": 9
},
"grid_study": {
"parameters": [
"chamber_pressure",
"contraction_ratio"
],
"total_designs": 24,
"feasible_designs": 24,
"constraint": "throat_diameter > 8 cm"
}
}
}
11 changes: 11 additions & 0 deletions outputs/trade_study_results_20251126_101903/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"name": "trade_study_results",
"created": "2025-11-26T10:19:03.375007",
"files": [
"data/chamber_pressure_sweep.csv",
"data/grid_study.csv",
"data/summary.json"
],
"completed": "2025-11-26T10:19:03.381927",
"success": true
}
5 changes: 5 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ dependencies = [
"numba>=0.60",
"matplotlib>=3.9",
"rocketcea>=1.2.1",
"polars>=1.35.0",
"tqdm>=4.66",
]

[project.optional-dependencies]
Expand All @@ -44,6 +46,9 @@ Repository = "https://github.com/cmflannery/rocket"
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["rocket"]

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-v --tb=short"
Expand Down
Loading
Loading