Small improvements
This commit is contained in:
@@ -15,10 +15,9 @@
|
||||
v∞_out, v∞_in, tof = Thesis.lamberts(Earth, Venus, leave, arrive)
|
||||
# We can get the thrust profile and tof pretty wrong and still be ok
|
||||
phase = Phase(Venus, 1.1v∞_in, v∞_in, 0.9*tof, 0.1*ones(20,3))
|
||||
guess = Mission_Guess(bepi, 12_000., test_leave, 0.9*v∞_out, [phase])
|
||||
guess = Mission_Guess(bepi, 3_600., test_leave, 0.9*v∞_out, [phase])
|
||||
m = solve_mission(guess, launch_window, latest_arrival, verbose=true)
|
||||
@test typeof(m) == Mission
|
||||
@test m.converged == true
|
||||
|
||||
# Now we can plot the results to check visually
|
||||
p = plot(m, title="NLP Test Solution")
|
||||
@@ -38,8 +37,9 @@
|
||||
end
|
||||
v∞_out, v∞_in, tof = Thesis.lamberts(flybys[end-1], flybys[end], dates[end-1], dates[end])
|
||||
push!(phases, Phase(flybys[end], v∞_in, v∞_in, tof, 0.01*ones(20,3)))
|
||||
guess = Mission_Guess(bepi, 12_000., dates[1], launch_v∞, phases)
|
||||
guess = Mission_Guess(bepi, 3_600., dates[1], launch_v∞, phases)
|
||||
m = solve_mission(guess, launch_window, latest_arrival, verbose=true)
|
||||
@test typeof(m) == Mission
|
||||
p = plot(m, title="NLP Test Solution (2 Phases)")
|
||||
savefig(p,"../plots/nlp_test_2_phase.html")
|
||||
|
||||
@@ -47,23 +47,24 @@
|
||||
flybys = [Earth, Venus, Earth, Mars, Earth, Jupiter]
|
||||
launch_window = [DateTime(2023,1,1), DateTime(2024,1,1)]
|
||||
latest_arrival = DateTime(2031,1,1)
|
||||
dates = [DateTime(2023,6,28),
|
||||
DateTime(2023,10,30),
|
||||
DateTime(2024,9,2),
|
||||
DateTime(2025,2,10),
|
||||
DateTime(2026,11,26),
|
||||
DateTime(2029,10,16)]
|
||||
dates = [DateTime(2023,5,23),
|
||||
DateTime(2023,10,21),
|
||||
DateTime(2024,8,24),
|
||||
DateTime(2025,2,13),
|
||||
DateTime(2026,11,22),
|
||||
DateTime(2032,1,1)]
|
||||
phases = Vector{Phase}()
|
||||
launch_v∞, _, tof1 = Thesis.lamberts(flybys[1], flybys[2], dates[1], dates[2])
|
||||
for i in 1:length(dates)-2
|
||||
v∞_out1, v∞_in1, tof1 = Thesis.lamberts(flybys[i], flybys[i+1], dates[i], dates[i+1])
|
||||
v∞_out2, v∞_in2, tof2 = Thesis.lamberts(flybys[i+1], flybys[i+2], dates[i+1], dates[i+2])
|
||||
push!(phases, Phase(flybys[i+1], v∞_in1, v∞_out2, tof1, 0.01*ones(20,3)))
|
||||
push!(phases, Phase(flybys[i+1], 1.02v∞_in1, 0.98v∞_out2, 1.02tof1, 0.02*ones(20,3)))
|
||||
end
|
||||
v∞_out, v∞_in, tof = Thesis.lamberts(flybys[end-1], flybys[end], dates[end-1], dates[end])
|
||||
push!(phases, Phase(flybys[end], v∞_in, v∞_in, tof, 0.01*ones(20,3)))
|
||||
guess = Mission_Guess(bepi, 12_000., dates[1], launch_v∞, phases)
|
||||
guess = Mission_Guess(bepi, 3_600., dates[1], launch_v∞, phases)
|
||||
m = solve_mission(guess, launch_window, latest_arrival, verbose=true)
|
||||
@test typeof(m) == Mission
|
||||
p = plot(m, title="NLP Test Solution (5 Phases)")
|
||||
savefig(p,"../plots/nlp_test_5_phase.html")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user