implicit none real mu_atm,m_keha,pi,p_atm,t_atm,g_rask,c_keha,r_atm real s_keha,v_keha,p1,p2,p3,ro_0,x,v,t,dt,ekin,epot,etot real a,aa,at,r_keha,ro integer i,n open(10,file="dim1.dat") pi=3.1415926536 m_keha=15. r_keha=1.8 mu_atm=29. p_atm=100400. t_atm=280. g_rask=9.814 c_keha=0.47 r_atm=8314. s_keha=pi*r_keha**2 v_keha=4.*pi*r_keha**3/3 ro_0=p_atm*mu_atm/(r_atm*t_atm) p1=c_keha*s_keha/(2.*m_keha) p2=g_rask*v_keha/m_keha p3=mu_atm*g_rask/(r_atm*t_atm) dt=0.1 v=0. x=0. n=50000 t=0. do i=1,n t=t+dt ro=ro_0*exp(-p3*x) at=-p1*ro*abs(v)*v aa=p2*ro a=-g_rask+aa+at x=x+v*dt+0.5*a*dt**2 v=v+a*dt ekin=0.5*m_keha*v**2 epot=m_keha*g_rask*x etot=ekin+epot if(x<0)then print *,"ERROR: x=",x,"<0" stop endif write (10,'(15f20.5)')t,x,v,a,at,aa,ekin,epot,etot enddo stop end