28 lines
725 B
Julia
28 lines
725 B
Julia
@testset "Propagator" begin
|
|
|
|
using PlotlyJS: savefig
|
|
|
|
println("Testing Propagator")
|
|
|
|
# Set up
|
|
start_mass = 10_000.
|
|
start = gen_orbit(rand(.5year : hour : 2year), start_mass)
|
|
time = rand(0.2year : second : 0.5year)
|
|
n = 1_000
|
|
|
|
# Test that Propagation works
|
|
states = prop(zeros(n,3), start, no_thrust, time)
|
|
@test states[1,:] != states[end,:]
|
|
|
|
# Test that mass is reduced properly
|
|
states = prop(ones(n,3)/√3, start, bepi, time)
|
|
@test states[end,7] ≈ start_mass - mfr(bepi)*time
|
|
|
|
# Test that the propagator works backwards
|
|
backwards = prop(ones(n,3)/√3, states[end,:], bepi, -time)
|
|
p = plot([states, backwards])
|
|
savefig(p,"../plots/prop_back.html")
|
|
@test backwards[end,:] ≈ start
|
|
|
|
end
|