import numpy as np import matplotlib.pyplot as plt import scipy.integrate as ode gamma=6.67408e-11 m_maa=5.9722e+24 gm=gamma*m_maa*1.e-9 r_maa=6378. g_rask=9.814 m_keha=2800. r_keha=2.8 c_keha=0.47 s_keha=np.pi*r_keha**2 t_ohu=300. p_ohu_0=101000. mu_ohu=29. r_gaas=8314. ro_ohu_0=p_ohu_0*mu_ohu/(r_gaas*t_ohu) p1=mu_ohu*g_rask*1000./(r_gaas*t_ohu) p2=500.*c_keha*s_keha/m_keha def func(t,y): yp=np.zeros_like(y) r=np.sqrt(y[0]**2+y[1]**2) h=r-r_maa ro=ro_ohu_0*np.exp(-p1*h) v=np.sqrt(y[2]**2+y[3]**2) r3=r**3 yp[0]=y[2] yp[1]=y[3] yp[2]=-gm*y[0]/r3-p2*ro*v*y[2] yp[3]=-gm*y[1]/r3-p2*ro*v*y[3] return yp v0=7.7884079 alpha=0.5*np.pi/180. vx=-v0*np.sin(alpha) vy=v0*np.cos(alpha) y0=[6578.,0.,vx,vy] t0=0. dt=1. nt=200000 it=0 r=ode.ode(func) r.set_initial_value(y0,t0) res=[] t=[] h=200. while r.successful() and h >= 0.0 and it