R_n = 1.0 L = 1.0 h_init = 150E3 X = r_earth + h_init X0 = [X, 0, 0] #inital position vector V_mag = np.sqrt(mu_earth / (r_earth + h_init)) V0 = [0, V_mag, 0] #inital velocity vector sim_time = 60 * 60 * 24 * 2 #time to run the simulation atm_steps = 1000 atm_init = [h_init * 10.0, -1E3] h = np.linspace(atm_init[0], atm_init[1], atm_steps) sc = tc.spacecraft(C_d, m_craft, A, R_n, L, Cl=C_l, Cs=C_s) atm = tc.atmosphere_nrl(h) t = tc.trajectory_aerobraking(mu_earth, sc, atm, V0, X0, sim_time, r_earth, dt=5) start_time = time.time() t.simulate_dopri(nsteps=1E8, rtol=1E-8) end_time = time.time() elapsed = end_time - start_time plt.plot(t.pos_xyz[0:t.i, 0]/1E3, t.pos_xyz[0:t.i, 1]/1E3,'-r') #plot orbit try: i_100_km = np.argwhere(t.h < 100E3)[0] plt.scatter(t.pos_xyz[i_100_km, 0]/1E3, t.pos_xyz[i_100_km, 1]/1E3) except: pass
((2.6 * Re / 5.0) / (1 + (Re / 5.0)**1.52)) + \ ((0.411 * (Re / 263E3)**-7.94) / (1 + (Re / 263E3)**-8.0)) + \ (Re**0.8 / 461E3) return [C_d, C_l, C_s] atm_init = [1000E3, -1E3] h = np.linspace(atm_init[0], atm_init[1], atm_steps) #v = tc.spacecraft(C_d, m, A, R_n, L, Cl=C_l) v = tc.spacecraft_var(aero_dat, C_d, C_l, 0.0, m, A, R_n, L, integrator_steps) #atm = tc.atmosphere_us76(h) #t = tc.trajectory(v, atm, gamma_init, V_init, g_0, R_e) atm_2 = tc.atmosphere_nrl(h) t = tc.trajectory_lifting(v, atm_2, gamma_init, V_init, g_0, R_e, h_init, h_end, integrator_steps) t.initialise() t.simulate_dopri(dt=0.25) t.calculate_heating() t.post_calc() t.plot_triple() t.show_regimes() t.plot_trajectory() t.show_regimes() plt.figure() plt.xlabel(r'$\dot{Q} \; \left( \frac{kW}{m^2} \right)$', fontsize=17)