You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
254 lines
6.0 KiB
254 lines
6.0 KiB
# Test Configuration: Hybrid Burns for Analytical Propagation |
|
# Sun + Earth system with multiple spacecraft for impulse and continuous burn testing |
|
# Tests the critical workflow: orbital elements → Cartesian → burn → orbital elements |
|
# and finite-duration burns with mode transitions |
|
|
|
[[bodies]] |
|
name = "Sun" |
|
mass = 1.989e30 |
|
radius = 6.96e8 |
|
parent_index = -1 |
|
color = { r = 1.0, g = 1.0, b = 0.0 } |
|
orbit = { |
|
semi_major_axis = 0.0, |
|
eccentricity = 0.0, |
|
true_anomaly = 0.0 |
|
} |
|
|
|
[[bodies]] |
|
name = "Earth" |
|
mass = 5.972e24 |
|
radius = 6.371e6 |
|
parent_index = 0 |
|
color = { r = 0.0, g = 0.5, b = 1.0 } |
|
orbit = { |
|
semi_major_axis = 1.496e11, |
|
eccentricity = 0.0, |
|
true_anomaly = 0.0 |
|
} |
|
|
|
# ========== IMPULSE BURN SPACECRAFT ========== |
|
|
|
# 1. Hohmann Transfer Spacecraft |
|
# Initial circular LEO orbit (altitude ~400 km) |
|
# Two maneuvers: apogee raise, circularization |
|
[[spacecraft]] |
|
name = "Hohmann_Transfer" |
|
mass = 1000.0 |
|
parent_index = 1 |
|
orbit = { |
|
semi_major_axis = 6.771e6, |
|
eccentricity = 0.0, |
|
true_anomaly = 0.0, |
|
inclination = 0.0, |
|
longitude_of_ascending_node = 0.0, |
|
argument_of_periapsis = 0.0 |
|
} |
|
|
|
[[maneuvers]] |
|
name = "hohmann_burn_1" |
|
spacecraft_name = "Hohmann_Transfer" |
|
trigger_type = "time" |
|
trigger_value = 0.0 |
|
direction = "prograde" |
|
delta_v = 2440.0 |
|
|
|
[[maneuvers]] |
|
name = "hohmann_burn_2" |
|
spacecraft_name = "Hohmann_Transfer" |
|
trigger_type = "time" |
|
trigger_value = 5400.0 |
|
direction = "prograde" |
|
delta_v = 1500.0 |
|
|
|
# 2. Plane Change Spacecraft |
|
# Initial circular orbit with inclination 0.2 rad |
|
# One maneuver: normal burn at ascending node to change inclination to 0.4 rad |
|
[[spacecraft]] |
|
name = "Plane_Change" |
|
mass = 1000.0 |
|
parent_index = 1 |
|
orbit = { |
|
semi_major_axis = 7.0e6, |
|
eccentricity = 0.0, |
|
true_anomaly = 0.0, |
|
inclination = 0.2, |
|
longitude_of_ascending_node = 0.0, |
|
argument_of_periapsis = 0.0 |
|
} |
|
|
|
[[maneuvers]] |
|
name = "plane_change_burn" |
|
spacecraft_name = "Plane_Change" |
|
trigger_type = "time" |
|
trigger_value = 0.0 |
|
direction = "normal" |
|
delta_v = 1400.0 |
|
|
|
# 3. Periapsis Burn Spacecraft |
|
# Initial elliptical orbit (e = 0.5) |
|
# One maneuver: prograde burn at periapsis to raise apoapsis |
|
[[spacecraft]] |
|
name = "Periapsis_Burn" |
|
mass = 1000.0 |
|
parent_index = 1 |
|
orbit = { |
|
semi_major_axis = 1.5e7, |
|
eccentricity = 0.5, |
|
true_anomaly = 0.0, |
|
inclination = 0.0, |
|
longitude_of_ascending_node = 0.0, |
|
argument_of_periapsis = 0.0 |
|
} |
|
|
|
[[maneuvers]] |
|
name = "periapsis_burn" |
|
spacecraft_name = "Periapsis_Burn" |
|
trigger_type = "time" |
|
trigger_value = 0.0 |
|
direction = "prograde" |
|
delta_v = 500.0 |
|
|
|
# 4. Apoapsis Burn Spacecraft |
|
# Initial elliptical orbit (e = 0.5) |
|
# One maneuver: prograde burn at apoapsis to raise periapsis |
|
[[spacecraft]] |
|
name = "Apoapsis_Burn" |
|
mass = 1000.0 |
|
parent_index = 1 |
|
orbit = { |
|
semi_major_axis = 1.5e7, |
|
eccentricity = 0.5, |
|
true_anomaly = 3.141592653589793, |
|
inclination = 0.0, |
|
longitude_of_ascending_node = 0.0, |
|
argument_of_periapsis = 0.0 |
|
} |
|
|
|
[[maneuvers]] |
|
name = "apoapsis_burn" |
|
spacecraft_name = "Apoapsis_Burn" |
|
trigger_type = "time" |
|
trigger_value = 0.0 |
|
direction = "prograde" |
|
delta_v = 500.0 |
|
|
|
# 5. Small Delta-v Burn Spacecraft |
|
# Initial circular orbit |
|
# One maneuver: minimal prograde burn (Δv < 1 m/s) |
|
[[spacecraft]] |
|
name = "Small_Delta_v" |
|
mass = 1000.0 |
|
parent_index = 1 |
|
orbit = { |
|
semi_major_axis = 7.0e6, |
|
eccentricity = 0.0, |
|
true_anomaly = 0.0, |
|
inclination = 0.0, |
|
longitude_of_ascending_node = 0.0, |
|
argument_of_periapsis = 0.0 |
|
} |
|
|
|
[[maneuvers]] |
|
name = "small_burn" |
|
spacecraft_name = "Small_Delta_v" |
|
trigger_type = "time" |
|
trigger_value = 0.0 |
|
direction = "prograde" |
|
delta_v = 0.5 |
|
|
|
# 6. Large Delta-v Burn Spacecraft |
|
# Initial circular orbit |
|
# One maneuver: large prograde burn (Δv > orbital velocity) |
|
[[spacecraft]] |
|
name = "Large_Delta_v" |
|
mass = 1000.0 |
|
parent_index = 1 |
|
orbit = { |
|
semi_major_axis = 7.0e6, |
|
eccentricity = 0.0, |
|
true_anomaly = 0.0, |
|
inclination = 0.0, |
|
longitude_of_ascending_node = 0.0, |
|
argument_of_periapsis = 0.0 |
|
} |
|
|
|
[[maneuvers]] |
|
name = "large_burn" |
|
spacecraft_name = "Large_Delta_v" |
|
trigger_type = "time" |
|
trigger_value = 0.0 |
|
direction = "prograde" |
|
delta_v = 12000.0 |
|
|
|
# ========== CONTINUOUS BURN SPACECRAFT ========== |
|
|
|
# 1. Low-thrust ion engine spacecraft |
|
# Initial circular LEO orbit (altitude ~400 km) |
|
# Simulated continuous burn: 5000 seconds duration, 100 m/s total Δv |
|
# Split into 100 small burns of 1 m/s each every 50 seconds |
|
[[spacecraft]] |
|
name = "Low_Thrust_Ion" |
|
mass = 1000.0 |
|
parent_index = 1 |
|
orbit = { |
|
semi_major_axis = 6.771e6, |
|
eccentricity = 0.0, |
|
true_anomaly = 0.0, |
|
inclination = 0.0, |
|
longitude_of_ascending_node = 0.0, |
|
argument_of_periapsis = 0.0 |
|
} |
|
|
|
# 2. Multi-burn sequence spacecraft |
|
# Initial circular orbit |
|
# Simulated continuous burn 1: 2000 seconds, 50 m/s total Δv (20 burns of 2.5 m/s) |
|
# Simulated continuous burn 2: 3000 seconds, 75 m/s total Δv (30 burns of 2.5 m/s) |
|
[[spacecraft]] |
|
name = "Multi_Burn_Sequence" |
|
mass = 1000.0 |
|
parent_index = 1 |
|
orbit = { |
|
semi_major_axis = 7.0e6, |
|
eccentricity = 0.0, |
|
true_anomaly = 0.0, |
|
inclination = 0.0, |
|
longitude_of_ascending_node = 0.0, |
|
argument_of_periapsis = 0.0 |
|
} |
|
|
|
# 3. Mode transition spacecraft |
|
# Initial elliptical orbit (e = 0.3) |
|
# Simulated continuous burn: 4000 seconds, 200 m/s total Δv |
|
# Split into 80 burns of 2.5 m/s each |
|
# Purpose: Test switching between analytical and numerical modes during burns |
|
[[spacecraft]] |
|
name = "Mode_Transition" |
|
mass = 1000.0 |
|
parent_index = 1 |
|
orbit = { |
|
semi_major_axis = 1.2e7, |
|
eccentricity = 0.3, |
|
true_anomaly = 0.0, |
|
inclination = 0.0, |
|
longitude_of_ascending_node = 0.0, |
|
argument_of_periapsis = 0.0 |
|
} |
|
|
|
# 4. Energy conservation spacecraft |
|
# Initial circular orbit |
|
# Simulated continuous burn: 6000 seconds, 150 m/s total Δv |
|
# Split into 120 burns of 1.25 m/s each |
|
# Purpose: Verify energy conservation during finite-duration burn |
|
[[spacecraft]] |
|
name = "Energy_Conservation" |
|
mass = 1000.0 |
|
parent_index = 1 |
|
orbit = { |
|
semi_major_axis = 8.0e6, |
|
eccentricity = 0.0, |
|
true_anomaly = 0.0, |
|
inclination = 0.0, |
|
longitude_of_ascending_node = 0.0, |
|
argument_of_periapsis = 0.0 |
|
}
|
|
|