#!/home/misha/venv/bin/python
import numpy as np
import matplotlib.pyplot as plt
import scipy.integrate as ode

g_rask=9.814
r_keha=0.1
s_keha=np.pi*r_keha**2
c_keha=0.47
v_keha=4.*np.pi*r_keha**3/3
m_keha=15.

p_atm=100000.
t_atm=293.
mu_atm=29.
R=8314.

ro_atm_0=p_atm*mu_atm/(R*t_atm)
p1=g_rask*mu_atm/(R*t_atm)
p2=0.5*c_keha*s_keha/m_keha
p3=g_rask*v_keha/m_keha

def func(t,y):
   yp=np.zeros_like(y)
   yp[0]=y[1]
   ro=ro_atm_0*np.exp(-p1*y[0])
   v=np.abs(y[1])
   yp[1]=-g_rask-p2*ro*v*y[1]+p3*ro
   return yp

y0=[10.,0.]
t0=0.
dt=0.01

r=ode.ode(func)
r.set_initial_value(y0,t0)
res=[]
t=[]

while r.successful() and r.y[0] >= 0.0:
 r.integrate(r.t+dt)
 res.append(r.y)
 t.append(r.t)
# print (r.y[0])
res=np.array(res)
t=np.array(t)

fig,[p1,p2]=plt.subplots(1,2)
p1.plot(t,res[:,1])
p2.plot(t,res[:,0])
p1.grid()
p2.grid()
plt.show()