eqofmov.mws

Stanislav Barton

Mendel University of Agriculture in Brno                             Karel Englis University

Zemedelska 1                                                                    Sujanovo namesti 1

613 00 Brno                                                    &               602 00 Brno

Czech Republic                                                                 Czech Republic

                                            barton@mendelu.cz

Equations of the movement - modeling of the physical process

The equations of movement represent usually the system of common differential equations of second order. This system could be formally written in form of:
m*diff(R(t),`$`(t,2)) = F(R(t),diff(R(t),t)) , where R(t)  = positional vector of the moving object, m  = its mass.

The left side of equation contains the components of vector of force described by mass times acceleration in the corresponding coordinate. The right side contains function of coordinates and their first time derivatives. It is possible to find an analytic solution in the simple case, but mostly there is a very complicated system of non-linear equations. This system is soluble numerically only.  Let's show the application of movement equations at several interesting cases.

1. Movement in the Atmosphere

1.1. Equations of the movement

>    restart;

>    with(plots):

Warning, the name changecoords has been redefined

>    Fa:=-1/2*Cx*S*rho*V^2;  Newton's term of the aerodynamics resistance - absolute value of the force

Fa := -1/2*Cx*S*rho*V^2

>    Fax:=Fa*cos(alpha); Fay:=Fa*sin(alpha);  Components of the vector of the aerodynamics force

Fax := -1/2*Cx*S*rho*V^2*cos(alpha)

Fay := -1/2*Cx*S*rho*V^2*sin(alpha)

>    Fax:=subs(cos(alpha)=Vx/V,Fax); Fay:=subs(sin(alpha)=Vy/V,Fay);  Substitution of the goniometric functions

Fax := -1/2*Cx*S*rho*V*Vx

Fay := -1/2*Cx*S*rho*V*Vy

>    Vx:=diff(x(t),t); Vy:=diff(y(t),t); V:=sqrt(Vx^2+Vy^2);   V = [Vx(t), Vy(t)]  = [diff(x(t),t), diff(y(t),t)]

Vx := diff(x(t),t)

Vy := diff(y(t),t)

V := (diff(x(t),t)^2+diff(y(t),t)^2)^(1/2)

>    Ax:=diff(x(t),t,t)=Fax/m; Ay:=diff(y(t),t,t)=Fay/m-g;  The final equations of movement, describing aerodynamics deceleration in x  and y  direction.

Ax := diff(x(t),`$`(t,2)) = -1/2*Cx*S*rho*(diff(x(t),t)^2+diff(y(t),t)^2)^(1/2)*diff(x(t),t)/m

Ay := diff(y(t),`$`(t,2)) = -1/2*Cx*S*rho*(diff(x(t),t)^2+diff(y(t),t)^2)^(1/2)*diff(y(t),t)/m-g

>    save Ax, Ay, `Equations.sav`;  Equations will be used more times, save them into file

1.2. Free fall with the constant resistance

>    Ffall:=simplify(subs(Vx=0,Ay));  In case of the free fall we shall orientate system so that y  axis is antiparallel with the gravitational acceleration.   Vx = 0  in this case.

Ffall := diff(y(t),`$`(t,2)) = -1/2*(Cx*S*rho*csgn(diff(y(t),t))*diff(y(t),t)^2+2*g*m)/m

>    Ffall:=subs(csgn(diff(y(t),t))=-1,Ffall);  If Vx = 0  the square root in the equation Ay can be simplified into diff(y(t),t)  or -diff(y(t),t) . The physically relevant is the negative value.

Ffall := diff(y(t),`$`(t,2)) = -1/2*(-Cx*S*rho*diff(y(t),t)^2+2*g*m)/m

>    Ini:=y(0)=H,D(y)(0)=0;  The initial conditions

Ini := y(0) = H, D(y)(0) = 0

>    Y:=dsolve({Ffall,Ini},y(t));  Analytical solution of the free fall trajectory as the function of the time.

Y := y(t) = (2^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t*m^2+m^(5/2)*ln(32)-m^(5/2)*ln((exp(2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t)^2*exp(-(-3*m*ln(2)+H*Cx*S*rho)/m)*g*m+2*exp(2^(1/2)/m^...
Y := y(t) = (2^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t*m^2+m^(5/2)*ln(32)-m^(5/2)*ln((exp(2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t)^2*exp(-(-3*m*ln(2)+H*Cx*S*rho)/m)*g*m+2*exp(2^(1/2)/m^...

>    Y:=simplify(rhs(Y),symbolic);  Simplification

Y := -(-2^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t*m-2*m^(3/2)*ln(2)-m^(1/2)*H*Cx*S*rho+m^(3/2)*ln(exp(2*2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t)+2*exp(2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S...

>    Su:=2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t=T,exp(T)=ET,exp(2*T)=ET^2,m=M^2;  These substitutions leads to other simplifications.

Su := 2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t = T, exp(T) = ET, exp(2*T) = ET^2, m = M^2

>    Y1:=simplify(subs(Su,Y),symbolic);  Simplification

Y1 := (2^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t*M+2*M^2*ln(2)+H*Cx*S*rho-2*M^2*ln(ET+1))/Cx/S/rho

>    Bs:=ET=exp(1/m^(1/2)*2^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t),M=sqrt(m);  Back substitution

Bs := ET = exp(2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t), M = m^(1/2)

>    Y:=unapply(subs(Bs,Y1),Cx,t); y:=unapply(limit(Y(Cx,t),Cx=0),t);  Height as the function of the Cx  and t . Height of the free fall in the vacuum is the limit case for Cx = 0 .

Y := proc (Cx, t) options operator, arrow; (2^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t*m^(1/2)+2*m*ln(2)+H*Cx*S*rho-2*m*ln(exp(2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t)+1))/Cx/S/rho end p...

y := proc (t) options operator, arrow; H-1/2*g*t^2 end proc

>    V:=unapply(simplify(diff(Y(Cx,t),t)),Cx,t); v:=unapply(limit(V(Cx,t),Cx=0),t);   Velocity as the function of the Cx  and t . Velocity of the free fall in the vacuum is the limit case for Cx = 0 .

V := proc (Cx, t) options operator, arrow; -2^(1/2)*g^(1/2)/Cx^(1/2)/S^(1/2)/rho^(1/2)*m^(1/2)*(exp(2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t)-1)/(exp(2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2...

v := proc (t) options operator, arrow; -g*t end proc

>    A:=unapply(simplify(diff(V(Cx,t),t)),Cx,t); a:=unapply(limit(A(Cx,t),Cx=0),t);  Acceleration as the function of the Cx  and t . Acceleration of the free fall in the vacuum is the limit case for Cx = 0 .

A := proc (Cx, t) options operator, arrow; -4*g*exp(2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t)/(exp(2^(1/2)/m^(1/2)*g^(1/2)*Cx^(1/2)*S^(1/2)*rho^(1/2)*t)+1)^2 end proc

a := proc (t) options operator, arrow; -g end proc

>    Su:=g=9.81,S=evalf(Pi*0.25^2),rho=1.2,H=1200.0,m=100.0;  Numerical values used for the numerical computations

Su := g = 9.81, S = .1963495409, rho = 1.2, H = 1200.0, m = 100.0

>    Ys:=unapply(subs(Su,Y(Cx,t)),Cx,t); ys:=unapply(subs(Su,y(t)),t);
Vs:=unapply(subs(Su,V(Cx,t)),Cx,t); vs:=unapply(subs(Su,v(t)),t);
As:=unapply(subs(Su,A(Cx,t)),Cx,t); as:=unapply(subs(Su,a(t)),t);
 Substituted functions

Ys := proc (Cx, t) options operator, arrow; 4.244131815*(15.20337724*2^(1/2)*Cx^(1/2)*t+200.0*ln(2)+282.7433389*Cx-200.0*ln(exp(.1520337724*2^(1/2)*Cx^(1/2)*t)+1))/Cx end proc

ys := proc (t) options operator, arrow; 1200.0-4.905000000*t^2 end proc

Vs := proc (Cx, t) options operator, arrow; -64.52513705*2^(1/2)/Cx^(1/2)*(exp(.1520337724*2^(1/2)*Cx^(1/2)*t)-1)/(exp(.1520337724*2^(1/2)*Cx^(1/2)*t)+1) end proc

vs := proc (t) options operator, arrow; -9.81*t end proc

As := proc (Cx, t) options operator, arrow; -39.24*exp(.1520337724*2^(1/2)*Cx^(1/2)*t)/(exp(.1520337724*2^(1/2)*Cx^(1/2)*t)+1)^2 end proc

as := -9.81

>    CX:=1/100*[$1..100]:  Vector of the aerodynamics coefficients

>    Tcx:=map(u->fsolve(subs(Cx=u,Ys(Cx,t)),t=14..20),CX):  Duration of the free fall for different Cx, Cx<>0!

>    Vcx:=zip((u,v)->evalf(Vs(u,v)),CX,Tcx):   Landing velocity as function of Cx

>    Acx:=zip((u,v)->evalf(As(u,v)),CX,Tcx):   Acceleration as function of Cx

>    Tcx:=[fsolve(ys(t),t=14..20),Tcx[]]:  Duration of the free fall for Cx = 0  is added as the first value into Tcx

>    Vcx:=[vs(Tcx[1]),Vcx[]]:  Landing velocity for Cx = 0 is added  

>    Acx:=[as(Tcx[1]),Acx[]]: Landing acceleration for Cx = 0 is added

>    CX:=[0,CX[]]:  Value Cx = 0  is added

>    display({plot(ys(t),t=0..20,color=red,thickness=3),
         plot({seq(Ys(Cx,t),Cx=0.05*[$0..20])},t=0..20,color=blue)},
         title="Y(t,Cx)",labels=["t","Y"],view=[0..20,0..1200]);
 Plot of the height as the function of Cx  and t . Cx=0 .

[Maple Plot]

>    display({plot({seq(-Vs(Cx,t),Cx=0.05*[$1..20])},t=0..20,color=blue),
         plot(zip((u,v)->[u,-v],Tcx,Vcx),color=black,thickness=3),
         plot(-vs(t),t=0..20,color=red,thickness=3)},
        labels=["t","V"],title="V(t,Cx)");
 Velocity as the function of the Cx and time. Cx=0 . Black curve indicates landing velocity and duration of the fall from the height  H=1200m.

[Maple Plot]

>    display({plot({seq(-As(Cx,t),Cx=0.05*[$1..20])},t=0..20,color=blue),
         plot(zip((u,v)->[u,-v],Tcx,Acx),color=black,thickness=3),
         plot(-as(t),t=0..20,color=red,thickness=3)},
         labels=["t","A"],title="A(t,Cx)");
 Acceleration as the function of the Cx and time. Cx=0 . Black curve indicates landing acceleration and duration of the fall from the height  H=1200m..

[Maple Plot]

>    display({plot({seq([Ys(Cx,t),-Vs(Cx,t),t=0..20],Cx=0.05*[$1..20])},color=blue),
         plot([ys(t),-vs(t),t=0..20],color=red,thickness=3)},
         view=[0..1200,0..160],labels=["h","V"],title="V(h,Cx)");
 Velocity as the function of the Cx and height. Cx=0 .

[Maple Plot]

>    display({plot({seq([Ys(Cx,t),-As(Cx,t),t=0..20],Cx=0.05*[$1..20])},color=blue),
         plot([ys(t),-as(t),t=0..20],color=red,thickness=3)},
         view=[0..1200,0..10],labels=["h","A"],title="A(h,Cx)");
 Acceleration as the function of the Cx  and height. Cx=0 .

[Maple Plot]

>    display({plot({seq([-Vs(Cx,t),-As(Cx,t),t=0..20],Cx=0.05*[$1..20])},color=blue),
         plot([-vs(t),-as(t),t=0..20],color=red,thickness=3)},
         plot(zip((u,v)->[-u,-v],Vcx,Acx),color=black,thickness=3),
         view=[0..160,0..10],labels=["V","A"],title="A(V,Cx)");
 Acceleration as the function of the Cx and velocity. Cx=0 . Black curve indicates landing acceleration and velocity of the fall from the height  H=1200m..

[Maple Plot]

>    display({plot3d(-As(Cx,t),t=0..20,Cx=0..1,grid=[40,40]),
         spacecurve([seq([Tcx[j],CX[j],-Acx[j]],j=1..nops(CX))],color=black,thickness=8)},
         axes=boxed,title="A(t,Cx)",orientation=[40,50],labels=["t","Cx","A"]);
 Plot of the acceleration as a function of the Cx  and t . Black curve indicates landing acceleration from H = 1200m ,

[Maple Plot]

>    display({plot3d([Ys(Cx,t),-Vs(Cx,t),-As(Cx,t)],t=0..20,Cx=0..1,grid=[40,40],style=patchnogrid,shading=XY),
                 spacecurve({seq([Ys(Cx,t),-Vs(Cx,t),-As(Cx,t)],Cx=0.1*[$1..10])},t=0..20,color=black),
                 spacecurve({seq([Ys(Cx,t),-Vs(Cx,t),-As(Cx,t)],t=2*[$0..10])},Cx=0..1,color=red)},
                 axes=boxed,orientation=[-150,70],
                 view=[0..1200,0..160,0..10],labels=["h(Cx,t)","V(Cx,t)","A(Cx,t)"]);
 All variables h(Cx,t), V(Cx,t) and A(Cx,t), describing free fall  can be determined using this 3d plot

Constan t time   Delta t=2s ,  Constant resistance Delta Cx=0.1

[Maple Plot]

1.3. Dynamics of the Skydiver

Let us assume skydiver falling from the initial height 3000 m. He is falling approximately free for tau =30 seconds, later he opens his parachute. Let us assume coefficient of his aerodynamics resistance Cx0=0.2 , cross section of his body S0=0.2 m^2 , if he opens parachute changes into Cxp=1.5  and cross section of the parachute will be SP=45 m^2 .

Weight of the skydiver is m=100 kg  and g=9.81 kg/ m^2  is the gravitational acceleration.

>    tau:=30.: Cx0:=0.2: CxP:=0.6: S0:=0.2: SP:=45: C:=1.5: m:=100.: g:=9.81: y:='y':

>    Cx:=Cx0+(CxP-Cx0)*((t-tau)/sqrt((t-tau)^2+C^2)/2+1/2);
S:=S0+(SP-S0)*((t-tau)/sqrt((t-tau)^2+C^2)/2+1/2);
 Function describing increasing of Cx and S as a function of  time. The variable C determines  slope of the function = describes velocity of opening of the parachute - increasing of the aerodynamic coefficient and the cross section surface.

Cx := .4000000000+.2000000000*(t-30.)/((t-30.)^2+2.25)^(1/2)

S := 22.60000000+22.40000000*(t-30.)/((t-30.)^2+2.25)^(1/2)

>    plot(Cx*S,t=0..40,labels=["t [s]","Cx*S"],title="Opening of parachute");

[Maple Plot]

>    Skydiver:=subs(m=100.,g=9.81,rho=1.2,Ffall);  Equation of skydiver motion - nonlinear differential equation of the 2nd order. Can be solved only numerically.

Skydiver := diff(y(t),`$`(t,2)) = .6000000000e-2*(.4000000000+.2000000000*(t-30.)/((t-30.)^2+2.25)^(1/2))*(22.60000000+22.40000000*(t-30.)/((t-30.)^2+2.25)^(1/2))*diff(y(t),t)^2-9.810000000

>    Ini:=y(0)=3000.,D(y)(0)=0;  Initial conditions

Ini := y(0) = 3000., D(y)(0) = 0

>    Y:=dsolve({Skydiver,Ini},y(t),numeric);  Numerical solution

Y := proc (x_rkf45) local res, solnproc, outpoint, ndsol, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 14; if _EnvInFsolve = ...

>    plots[odeplot](Y,[t,y(t)],0..80,labels=["t [s]","h [m]"],title="H(t)");  Graph of the height as the function of  time. Landing time can be determined using Newton's numerical procedure. This procedure computes corrections dT  for T  solving Y(T)=0, where dT = -Y(T)/diff(Y(T),T) . As we can see, it is the simplest to use Maple's numerical procedure  Y to compute values of Y(T) and diff(Y(T),T) .

[Maple Plot]

>    T:=70.0; dT:=1;  Approximate value of T  leading to Y(T)=0 . dT  = initial correction of T .

T := 70.0

dT := 1

>    Y(T);  Values returned by the procedure Y .

[t = 70.0, y(t) = 31.5326861732440342, diff(y(t),t) = -7.78406149173833572]

>    while abs(dT)>0.000001 do; dT:=subs(Y(T),-y(t)/diff(y(t),t)); T:=T+dT; od;  Loop computing landing time of the skydiver, is running till dT  is greater than or equal as desired accuracy.

dT := 4.050929737

T := 74.05092974

dT := .1109279564e-3

T := 74.05104067

dT := -.2045354352e-8

T := 74.05104067

>    display([odeplot(Y,[t,y(t)],0..T,numpoints=1000,color=black,legend="Height [m]"),
         odeplot(Y,[t,-20*diff(y(t),t)],0..T,numpoints=1000,color=red,legend="Velocity [*20m/s]"),
         odeplot(Y,[t,100*rhs(Skydiver)],0..T,numpoints=1000,color=blue,legend="Acceleration [*100m/s^2]")],
         thickness=2,title="Dynamics of the skydiver",labels=["",""]);
 Height, Velocity and Acceleration of the Skydiver as a functions of time.

[Maple Plot]

>    odeplot(Y,[y(t),diff(y(t),t),rhs(Skydiver)],0..T,numpoints=1000,color=red,thickness=3,labels=["y","y'","y''"],axes=boxed,title="Dynamics of the skydiver");  The same result as above, as a spacecurve.

[Maple Plot]

1.4. Ballistics of the Gun Projectile - Czech self-propelled howitzer DANA

>    restart; with(plots):

Warning, the name changecoords has been redefined

>    read `Equations.sav`;  Equations of movement of the projectile - see subsection 1.1. This system can be solved only numerically. We shall try to find the elevation angle alpha  leading to the maximal range of the projectile.

Ax := diff(x(t),`$`(t,2)) = -1/2*Cx*S*rho*(diff(x(t),t)^2+diff(y(t),t)^2)^(1/2)*diff(x(t),t)/m

Ay := diff(y(t),`$`(t,2)) = -1/2*Cx*S*rho*(diff(x(t),t)^2+diff(y(t),t)^2)^(1/2)*diff(y(t),t)/m-g

Czech self-propelled howitzer DANA

>    g:=9.81: v:=1500.0: Cx:=0.1: d:=0.15: L:=0.6: Rho:=2500: S:=evalf(Pi*d^2/4): m:=S*L*Rho: rho:=1.22:   g  = gravitational acceleration, v  = projectile initial velocity, Cx  = coefficient of the projectile's aerodynamic resistance, d  = projectile's diameter, Rho  = projectile's mass density, S  = projectile's cross section, m  = mass of the projectile, rho  = density of the atmosphere   

>    Ini:=x(0)=0,y(0)=0,D(x)(0)=v*cos(alpha),D(y)(0)=v*sin(alpha);  Initial conditions. alpha  = elevation angle

Ini := x(0) = 0, y(0) = 0, D(x)(0) = 1500.0*cos(alpha), D(y)(0) = 1500.0*sin(alpha)

>    alpha:=evalf(convert(15*degrees,radians)); da:=2*alpha;  da = elevation angle increment

alpha := .2617993878

da := .5235987756

>    D1:=0: D2:=1: tau:=60:  D1, D2 = variables controlling numerical procedure computing maximal range, tau  = initial value of time

>    DMS:=proc(r) local rf, d, m, s;
  rf:=evalf(r*180/Pi);
  d:=floor(rf);
  rf:=frac(rf)*60;
  m:=floor(rf);
  s:=frac(rf)*60;
  cat(``,`Elevation = `,convert(d,string),`° `,
      convert(m,string),`' `,convert(s,string),`'' `);
end;
 Procedure converting alpha  in radians into degrees, minutes and seconds

DMS := proc (r) local rf, d, m, s; rf := evalf(180*r/Pi); d := floor(rf); rf := 60*frac(rf); m := floor(rf); s := 60*frac(rf); cat(``,`Elevation = `,convert(d,string),`° `,convert(m,string),`' `,conver...
DMS := proc (r) local rf, d, m, s; rf := evalf(180*r/Pi); d := floor(rf); rf := 60*frac(rf); m := floor(rf); s := 60*frac(rf); cat(``,`Elevation = `,convert(d,string),`° `,convert(m,string),`' `,conver...
DMS := proc (r) local rf, d, m, s; rf := evalf(180*r/Pi); d := floor(rf); rf := 60*frac(rf); m := floor(rf); s := 60*frac(rf); cat(``,`Elevation = `,convert(d,string),`° `,convert(m,string),`' `,conver...
DMS := proc (r) local rf, d, m, s; rf := evalf(180*r/Pi); d := floor(rf); rf := 60*frac(rf); m := floor(rf); s := 60*frac(rf); cat(``,`Elevation = `,convert(d,string),`° `,convert(m,string),`' `,conver...
DMS := proc (r) local rf, d, m, s; rf := evalf(180*r/Pi); d := floor(rf); rf := 60*frac(rf); m := floor(rf); s := 60*frac(rf); cat(``,`Elevation = `,convert(d,string),`° `,convert(m,string),`' `,conver...
DMS := proc (r) local rf, d, m, s; rf := evalf(180*r/Pi); d := floor(rf); rf := 60*frac(rf); m := floor(rf); s := 60*frac(rf); cat(``,`Elevation = `,convert(d,string),`° `,convert(m,string),`' `,conver...
DMS := proc (r) local rf, d, m, s; rf := evalf(180*r/Pi); d := floor(rf); rf := 60*frac(rf); m := floor(rf); s := 60*frac(rf); cat(``,`Elevation = `,convert(d,string),`° `,convert(m,string),`' `,conver...
DMS := proc (r) local rf, d, m, s; rf := evalf(180*r/Pi); d := floor(rf); rf := 60*frac(rf); m := floor(rf); s := 60*frac(rf); cat(``,`Elevation = `,convert(d,string),`° `,convert(m,string),`' `,conver...
DMS := proc (r) local rf, d, m, s; rf := evalf(180*r/Pi); d := floor(rf); rf := 60*frac(rf); m := floor(rf); s := 60*frac(rf); cat(``,`Elevation = `,convert(d,string),`° `,convert(m,string),`' `,conver...

>    while da>10^(-Digits-1) do;
  D1:=0; D2:=1;
  da:=da*0.3;
  while D2>D1 do;
    D1:=D2;
    alpha:=alpha+da;
    Ns:=dsolve({Ini,Ax,Ay},{x(t),y(t)},numeric);
    dt:=1:
    while abs(dt)>0.000001 do; dt:=subs(Ns(tau),-y(t)/diff(y(t),t)); tau:=tau+dt; od;
    D2:=subs(Ns(tau),x(t));
  od;
  Alpha:=alpha-da;
  NS:=Ns;
  print(DMS(Alpha),Range=D1,Time=tau);
  alpha:=alpha-2.25*da;
od:
 Loop computing maximal range. Range is computed for each elevation angle by the very similar procedure as in subsection 1.3. Thereafter elevation angle increases by da and new range is computed until new range is shorter than or equal as old one.  In the case that alpha  increment is scaled down and new range is compared with the old one, until alpha  increment is greater than or equal as desired precision.

`Elevation = 33° 0' 0.'' `, Range = 40551.8502502013508, Time = 109.7269527

`Elevation = 32° 33' 0.'' `, Range = 40550.2041311519716, Time = 97.71737260

`Elevation = 33° 13' 29.99996400'' `, Range = 40550.3469813707488, Time = 95.42458305

`Elevation = 32° 56' 29.39996400'' `, Range = 40551.9878029392786, Time = 93.79492783

`Elevation = 32° 55' 45.65992800'' `, Range = 40552.0032421921714, Time = 93.44303390

`Elevation = 32° 54' 13.80585600'' `, Range = 40552.0209331801890, Time = 93.29495416

`Elevation = 32° 53' 46.24965600'' `, Range = 40552.0223472397994, Time = 93.25049740

`Elevation = 32° 53' 37.98279600'' `, Range = 40552.0224168043860, Time = 93.23715739

`Elevation = 32° 53' 35.50282800'' `, Range = 40552.0224129991620, Time = 93.23315513

`Elevation = 32° 53' 34.12107600'' `, Range = 40552.0224004510238, Time = 93.23161136

`Elevation = 32° 53' 33.51523200'' `, Range = 40552.0223854158030, Time = 93.23104531

`Elevation = 32° 53' 33.33346800'' `, Range = 40552.0223844776628, Time = 93.23087551

`Elevation = 32° 53' 33.27892800'' `, Range = 40552.0223811284232, Time = 93.23082457

`Elevation = 32° 53' 33.26769600'' `, Range = 40552.0223917738186, Time = 93.23081205

`Elevation = 32° 53' 33.26276400'' `, Range = 40552.0223851938354, Time = 93.23080746

`Elevation = 32° 53' 33.26139600'' `, Range = 40552.0223883787912, Time = 93.23080610

`Elevation = 32° 53' 33.26092800'' `, Range = 40552.0223924258026, Time = 93.23080569

`Elevation = 32° 53' 33.26082000'' `, Range = 40552.0223852501440, Time = 93.23080557

`Elevation = 32° 53' 33.26071200'' `, Range = 40552.0223843463828, Time = 93.23080553

`Elevation = 32° 53' 33.26071200'' `, Range = 40552.0223843463828, Time = 93.23080553

`Elevation = 32° 53' 33.26071200'' `, Range = 40552.0223843463828, Time = 93.23080553

>    plots[odeplot](NS,[x(t),y(t)],0..tau,scaling=constrained,
      title="Trajectory",legend="rho=Const");P1:=%:
 Ballistic curve of the maximal range for the constant atmospheric density.

[Maple Plot]

Atmospheric density is height dependent

>    rho:=rho0*exp(-M*g*y(t)/R/T);  Function describing atmospheric density as the function of height.

rho := rho0*exp(-9.81*M*y(t)/R/T)

>    M:=(28*4/5+32/5)*0.001: R:=8.315: T:=293.15: rho0:=1.3:   M  = atmospheric molar mass = 1/4  of O[2]  and 4/5  of N[2] . R  = universal gas constant, T  = atmospheric temperature in Kelvin, rho0  = atmospheric density at zero height

>    alpha:=evalf(convert(15*degrees,radians)); da:=2*alpha;

alpha := .2617993878

da := .5235987756

>    while da>10^(-Digits-1) do;
  D1:=0; D2:=1;
  da:=da*0.3;
  while D2>D1 do;
    D1:=D2;
    alpha:=alpha+da;
    Ns:=dsolve({Ini,Ax,Ay},{x(t),y(t)},numeric);
    dt:=1:
    while abs(dt)>0.000001 do; dt:=subs(Ns(tau),-y(t)/diff(y(t),t)); tau:=tau+dt; od;
    D2:=subs(Ns(tau),x(t));
  od;
  Alpha:=alpha-da;
  NS:=Ns;
  print(DMS(Alpha),Range=D1,Time=tau);
  alpha:=alpha-2.25*da;
od:
 The same loop as above.

`Elevation = 50° 59' 59.99992800'' `, Range = 91701.3845298317610, Time = 184.9372068

`Elevation = 53° 14' 59.99992800'' `, Range = 92161.8968643021362, Time = 175.1947583

`Elevation = 53° 6' 53.99985600'' `, Range = 92156.5539261308732, Time = 169.9939196

`Elevation = 53° 19' 2.99982000'' `, Range = 92163.4822385778825, Time = 169.0364046

`Elevation = 53° 27' 4.13985600'' `, Range = 92164.4805315995182, Time = 168.9403079

`Elevation = 53° 25' 32.28578400'' `, Range = 92164.5099514742760, Time = 168.7383020

`Elevation = 53° 25' 51.96885600'' `, Range = 92164.5123957624019, Time = 168.7123100

`Elevation = 53° 25' 50.78787600'' `, Range = 92164.5123680003308, Time = 168.6993123

`Elevation = 53° 25' 50.43356400'' `, Range = 92164.5123643087281, Time = 168.6954126

`Elevation = 53° 25' 49.05181200'' `, Range = 92164.5123165294644, Time = 168.6933068

`Elevation = 53° 25' 49.97643600'' `, Range = 92164.5124125067814, Time = 168.6936577

`Elevation = 53° 25' 49.85212800'' `, Range = 92164.5123824804032, Time = 168.6934682

`Elevation = 53° 25' 49.83207600'' `, Range = 92164.5123954460578, Time = 168.6934240

`Elevation = 53° 25' 49.81566000'' `, Range = 92164.5123873826669, Time = 168.6934032

`Elevation = 53° 25' 49.81076400'' `, Range = 92164.5124023740209, Time = 168.6933969

`Elevation = 53° 25' 49.80982800'' `, Range = 92164.5123386296182, Time = 168.6933954

`Elevation = 53° 25' 49.80961200'' `, Range = 92164.5123733266228, Time = 168.6933951

`Elevation = 53° 25' 49.80950400'' `, Range = 92164.5123474304419, Time = 168.6933949

`Elevation = 53° 25' 49.80950400'' `, Range = 92164.5123627723224, Time = 168.6933949

`Elevation = 53° 25' 49.80950400'' `, Range = 92164.5123627723224, Time = 168.6933949

`Elevation = 53° 25' 49.80950400'' `, Range = 92164.5123627723224, Time = 168.6933949

>    P2:=plots[odeplot](Ns,[x(t),y(t)],0..tau,scaling=constrained,
          color=blue,legend="rho=rho(h)"): P2;
Ballistic curve of the maximal range for the height dependent atmospheric density.

[Maple Plot]

No atmospheric resistance = vacuum

>    Ax:=diff(x(t),t,t)=0; Ay:=diff(y(t),t,t)=-G;  Equations of movement in vacuum

Ax := diff(x(t),`$`(t,2)) = 0

Ay := diff(y(t),`$`(t,2)) = -G

>    alpha:='alpha':

>    Ini:=x(0)=0,D(x)(0)=V*cos(alpha),y(0)=0,D(y)(0)=V*sin(alpha);  Initial condition

Ini := x(0) = 0, D(x)(0) = V*cos(alpha), y(0) = 0, D(y)(0) = V*sin(alpha)

>    Sol:=subs(x(t)=x,y(t)=y,dsolve({Ax,Ay,Ini},{x(t),y(t)}));  Analytical solution

Sol := {x = V*cos(alpha)*t, y = -1/2*G*t^2+V*sin(alpha)*t}

>    Trajectory:=subs(solve(select(has,Sol,x),t),select(has,Sol,y))[];  Equation of the trajectory - can be obtained by the elimination of the parameter t .

Trajectory := y = -1/2*G*x^2/V^2/cos(alpha)^2+sin(alpha)*x/cos(alpha)

>    solve(subs(y=0,Trajectory),x);  The y=0  if x  = range.

0, 2*sin(alpha)*V^2*cos(alpha)/G

>    Range:=combine(select(has,{%},alpha)[],sincos);  Select and simplify nontrivial solution

Range := V^2*sin(2*alpha)/G

>    Elevation:=solve(diff(Range,alpha)=0,alpha);  Find elevation for the maximal possible range.

Elevation := 1/4*Pi

>    Range:=value(subs(alpha=Elevation,V=v,G=g,Range));  Numerical value

Range := 229357.7982

>    Trajectory:=value(subs(alpha=Elevation,V=v,G=g,rhs(Trajectory)));  Trajectory equation.

Trajectory := -.4360000000e-5*x^2+x

>    P3:=plot(Trajectory,x=0..Range,color=black): P3;  Trajectory in vacuum.

[Maple Plot]

>    plots[display]([P1,P2,P3],labels=["x [m]","y [m]"]);  Graphical comparison of all cases.

[Maple Plot]

2. Dynamics of the space ship

2.1. Space ship on the high orbit

High orbit = no atmospheric resistance

>    restart; with(plots):

Warning, the name changecoords has been redefined

>    A:=kappa*M/R^2;  Newton's law of the gravity. M  = mass of the homogenous sphere, or of the sphere where mass density depends only on the distance from its center   rho = rho(R) , later   mass of the Earth, kappa  = Newton's gravitational constant, A  = gravitational acceleration, Rz  = Earth radius

[Maple OLE 2.0 Object]

A := kappa*M/R^2

>    R:=sqrt(x(t)^2+y(t)^2);

R := (x(t)^2+y(t)^2)^(1/2)

>    ax:=A*x(t)/R; ay:=A*y(t)/R;  Components of the vector A  in x and y axis

ax := kappa*M/(x(t)^2+y(t)^2)^(3/2)*x(t)

ay := kappa*M/(x(t)^2+y(t)^2)^(3/2)*y(t)

>    Ax:=diff(x(t),t,t)=-ax; Ay:=diff(y(t),t,t)=-ay;  The equations of the movement for the Earth satellite moving in the vacuum - no resistance. This set of equations has no analytical solution

Ax := diff(x(t),`$`(t,2)) = -kappa*M/(x(t)^2+y(t)^2)^(3/2)*x(t)

Ay := diff(y(t),`$`(t,2)) = -kappa*M/(x(t)^2+y(t)^2)^(3/2)*y(t)

>    Values:=M=6.0*10^24,kappa=6.67*10^(-11),Rz=6378000.0;
assign(Values);
  Numerical values  in SI units

Values := M = .6000000000e25, kappa = .6670000000e-10, Rz = 6378000.0

>    Ini:=x(0)=Rz+300000.0,D(x)(0)=0,y(0)=0,D(y)(0)=8500.0;  Initial conditions for the numerical solution

Ini := x(0) = 6678000.0, D(x)(0) = 0, y(0) = 0, D(y)(0) = 8500.0

>    Ns:=dsolve({Ini,Ax,Ay},{x(t),y(t)},numeric);

Ns := proc (x_rkf45) local res, solnproc, outpoint, ndsol, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 14; if _EnvInFsolve =...

>    Ns(7500);  Numerical solution returns components of the positional and velocity vectors

[t = 7500., x(t) = 6570266.51959542000, diff(x(t),t) = 1381.34695725786560, y(t) = -1312732.78780371975, diff(y(t),t) = 8363.37318848456380]

>    Z:=plots[polarplot](Rz,phi=0..2*Pi,color=blue):

>    plots[odeplot](Ns,[x(t),y(t)],0..7500,
      labels=["x [m]","y [m]"],title="Trajectory");
 Plot trajectory for 7500 seconds - as we can see this value is a shorter than one orbit period

[Maple Plot]

>    tau:=7500.0;  supporting variables

tau := 7500.0

>    Tau:=proc(T) local dt, tau;
  dt:=1.0;
  tau:=T;
  while abs(dt)>0.0001 do;
    dt:=subs(Ns(tau),-y(t)/diff(y(t),t));
    tau:=tau+dt;
  od;
  tau;
end;
  Procedure computing duration of one orbit period. It is based on Newton's iteration, very similar to the loop used in 1.2

Tau := proc (T) local dt, tau; dt := 1.0; tau := T;  while .1e-3 < abs(dt) do dt := subs(Ns(tau),-y(t)/diff(y(t),t)); tau := tau+dt end do; tau end proc

>    tau:=Tau(tau);

tau := 7655.273400

>    Dx:=subs(Ns(0),x(t))-subs(Ns(tau),x(t));
Dy:=subs(Ns(0),y(t))-subs(Ns(tau),y(t));
DR:=sqrt(Dx^2+Dy^2);
DVx:=subs(Ns(0),diff(x(t),t))-subs(Ns(tau),diff(x(t),t));
DVy:=subs(Ns(0),diff(y(t),t))-subs(Ns(tau),diff(y(t),t));
DV:=sqrt(DVx^2+DVy^2);
 As we can see, result is very precise, because difference in position after one orbit is lower than 24m  and difference in velocity is lower than 2.5 cm/s .

Dx := 23.793

Dy := -.3276276768e-2

DR := 23.79300022

DVx := .9953132372e-2

DVy := -.19766e-1

DV := .2213051287e-1

>    Tr:=odeplot(Ns,[x(t),y(t)],0..tau):

>    display({Z,Tr},scaling=constrained,
         labels=["x [m]","y [m]"],title="One orbit");
 Trajectory and the Earh

[Maple Plot]

>    Pv:=[x(t),y(t),0];
Vv:=[diff(x(t),t),diff(y(t),t),0];
 Components of the positional and velocity vectors in space, the coordinate z = 0  is added.

Pv := [x(t), y(t), 0]

Vv := [diff(x(t),t), diff(y(t),t), 0]

>    Sv:=linalg[crossprod](Pv,Vv/2);  Momentum of the velocity = Surface velocity - surface covered by the positional vector during one second. This is exact formulation for the term introduced by Johannes Keppler at his famous second law = the surface velocity is constant

Sv := vector([0, 0, 1/2*x(t)*diff(y(t),t)-1/2*y(t)*diff(x(t),t)])

>    SV:=subs(Ns(0),[t,Sv[3]][2]);  The initial value of the surface velocity of the given satellite

SV := .2838150000e11

>    odeplot(Ns,[t,Sv[3]],0..tau,axes=boxed,
       labels=["t [s]","x*y'-x'*y"],title="Momentum=const?");
 Was Keppler right? This is not constant!

[Maple Plot]

>    odeplot(Ns,[t,Sv[3]],0..tau,view=[0..tau,0.9*SV..1.1*SV],axes=boxed,
       labels=["t [s]","x*y'-x'*y"],title="Momentum=const!");
 Yes, it is constant, the preceding plot shows only rounding errors!

[Maple Plot]

2.2. Space ship on the low orbit

Low orbit = it is necessary to assume impact of the aerodynamic resistance

>    alias(He=Heaviside);
plot(He(x),x=-1..1,axes=boxed);
Abbreviation for the Heaviside function

He

[Maple Plot]

>    h:=sqrt(x(t)^2+y(t)^2)-Rz;  h  = height above Earth surface

h := (x(t)^2+y(t)^2)^(1/2)-6378000.0

>    Values:=S=evalf(Pi*2.5^2),Cx=0.6,m=2000.0;
assign(Values);
  Numerical values, S = cross section of the satellite, Cx  = coefficient of the aerodynamics resistance, m  = mass of the satellite, all in SI units

Values := S = 19.63495409, Cx = .6, m = 2000.0

>    rho:=unapply(exp((.6392146930e-10*u^2-.1447577359e-3*u+.3316213319)*He(104413.9387-u)+
(-35.02764072*u+1412587.921)/(u+54946.54461)*He(-104413.9387+u)),u);
 Function describing rho(h)  = density of the Earth atmosphere as a function of the height above Earth surface. Fubction's coefficients were computed very similarly to http://adept.maplesoft.com/categories/data_analysis_stats/regression/html/nonlinearpiecewise.html , using data from CRC Handbook of Chemistry and Physics, D.R.Linde editor, CRC Press 72nd edition, tables 14-13 and 14-14, ISBN-0-8493-0565-9
 

rho := proc (u) options operator, arrow; exp((.6392146930e-10*u^2-.1447577359e-3*u+.3316213319)*He(104413.9387-u)+(-35.02764072*u+1412587.921)/(u+54946.54461)*He(-104413.9387+u)) end proc
rho := proc (u) options operator, arrow; exp((.6392146930e-10*u^2-.1447577359e-3*u+.3316213319)*He(104413.9387-u)+(-35.02764072*u+1412587.921)/(u+54946.54461)*He(-104413.9387+u)) end proc

>    Ax:=diff(x(t),t,t)=-ax-
1/2*S*rho(h)*Cx/m*sqrt(diff(x(t),t)^2+diff(y(t),t)^2)*diff(x(t),t);
Ay:=diff(y(t),t,t)=-ay-
1/2*S*rho(h)*Cx/m*sqrt(diff(x(t),t)^2+diff(y(t),t)^2)*diff(y(t),t):
  Equations of the movement of the Earth satellite moving on the low orbit. Equations are too long, so output of Ay  is not presented - it is very similar to Ax . These equations have no analytical solution.

Ax := diff(x(t),`$`(t,2)) = -.4002000000e15/(x(t)^2+y(t)^2)^(3/2)*x(t)-.2945243112e-2*exp((.6392146930e-10*((x(t)^2+y(t)^2)^(1/2)-6378000.0)^2-.1447577359e-3*(x(t)^2+y(t)^2)^(1/2)+923.5964609)*He(64824...
Ax := diff(x(t),`$`(t,2)) = -.4002000000e15/(x(t)^2+y(t)^2)^(3/2)*x(t)-.2945243112e-2*exp((.6392146930e-10*((x(t)^2+y(t)^2)^(1/2)-6378000.0)^2-.1447577359e-3*(x(t)^2+y(t)^2)^(1/2)+923.5964609)*He(64824...
Ax := diff(x(t),`$`(t,2)) = -.4002000000e15/(x(t)^2+y(t)^2)^(3/2)*x(t)-.2945243112e-2*exp((.6392146930e-10*((x(t)^2+y(t)^2)^(1/2)-6378000.0)^2-.1447577359e-3*(x(t)^2+y(t)^2)^(1/2)+923.5964609)*He(64824...

>    A:=sqrt(rhs(Ax)^2+rhs(Ay)^2):  The absolute value of the acceleration of the satellite.

>    Ag:=A/(kappa*M/(x(t)^2+y(t)^2))-1:  Acceleration recomputed into g units

>    V:=sqrt(diff(x(t),t)^2+diff(y(t),t)^2);  The absolute value of the velocity vector.

V := (diff(x(t),t)^2+diff(y(t),t)^2)^(1/2)

>    Ini:=x(0)=Rz+1000000.0,D(x)(0)=0,y(0)=0,D(y)(0)=7100.0;  Initial conditions

Ini := x(0) = 7378000.0, D(x)(0) = 0, y(0) = 0, D(y)(0) = 7100.0

>    Ns:=dsolve({Ini,Ax,Ay},{x(t),y(t)},numeric);  The numerical solution

Ns := proc (x_rkf45) local res, solnproc, outpoint, ndsol, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 14; if _EnvInFsolve =...

>    subs(Ns(3000),h); subs(Ns(2000),h);  Looking for initial value for the iteration of the landing time. tau = 3000  is sufficient.

-5331.626

245521.855

>    Tau:=proc(T) local dt, tau;
  dt:=1.0;
  tau:=T;
  while abs(dt)>0.0001 do;
    dt:=subs(Ns(tau),-h/diff(h,t));
    tau:=tau+dt;
  od;
  tau;
end;
   Procedure computing landing time tau . If spaceship lands its height h = 0 .. It is based on Newton's iteration, very similar to the procedure used in 2.1.

Tau := proc (T) local dt, tau; dt := 1.0; tau := T;  while .1e-3 < abs(dt) do dt := subs(Ns(tau),-h/diff(h,t)); tau := tau+dt end do; tau end proc

>    tau:=Tau(3000.);

tau := 2867.942570

>    Z:=polarplot(1,phi=0..2*Pi,color=blue,numpoints=300):

>    P1:=display({Z,odeplot(Ns,[x(t)/Rz,y(t)/Rz],0..tau,numpoints=1000)},scaling=constrained,
         labels=["x","y"],labels=["x [Rz]","y [Rz]"],title="Trajectory"): P1;
 Landing trajectory

[Maple Plot]

>    display(P1,view=[-0.95..-0.88,0.34..0.45],scaling=constrained);  Detail of the landing trajectory

[Maple Plot]

>    odeplot(Ns,[t,h/1000.],0..tau,labels=["t [s]","h [km]"],title="h(t)");  Height as a function of time

[Maple Plot]

>    odeplot(Ns,[t,h/1000.],2400..tau,labels=["t [s]","h [km]"],title="h(t)");  Height as a function of time - detail

[Maple Plot]

>    odeplot(Ns,[t,V/1000],0..tau,numpoints=1000,
        labels=["t [s]","V [km/s]"],title="V(t)");
 Velocity as a function of time

[Maple Plot]

>    odeplot(Ns,[h/1000,V/1000],0..tau,numpoints=1000,
        labels=["h(t) [km]","V [km/s]"],title="V(h)");
 Velocity as a function of height

[Maple Plot]

>    odeplot(Ns,[t,Ag],2000..tau,axes=framed,numpoints=1000,
        labels=["t [s]","A [g]"],title="A(t)");
 Acceleration as a function of time

[Maple Plot]

>    odeplot(Ns,[V/1000,Ag],2000..tau,numpoints=1000,axes=framed,
           labels=["V [km/s]","A [g]"],title="A(V)");
 Acceleration as a function of velocity

[Maple Plot]

>    odeplot(Ns,[h/1000,Ag],2000..tau,axes=framed,numpoints=1000,
           labels=["h [km]","A [g]"],title="A(h)");
 Acceleration as a function of height

[Maple Plot]

>    odeplot(Ns,[h/1000,V/1000,Ag],2300..tau,axes=framed,color=black,thickness=2,orientation=[150,70],
           labels=["h [km]","V [km/s]","A [g]"],numpoints=1000,title="Dynamics of landing");
 Plot all three variables  h(t), V(t) , and A(t)  in one 3D plot - as a spacecurve

[Maple Plot]

>    save Ax, Ay, Ag, V, h, rho, Rz, Tau, `spaceship.sav`;  Save these variables for later use

2.3. Aerodynamics retarding of 2nd cosmic velocity

>    restart; with(plots):

Warning, the name changecoords has been redefined

>    read `spaceship.sav`:  Read variables and procedures created in the preceding part

>    alpha1:=evalf(convert(113.26*degrees,radians)); W:=12200.;

alpha1 := 1.976759911

W := 12200.

>    Ini:=x(0)=Rz+1000000.,y(0)=0,D(x)(0)=W*cos(alpha1),D(y)(0)=W*sin(alpha1);  Initial conditions

Ini := x(0) = 7378000.0, y(0) = 0, D(x)(0) = -4817.831361, D(y)(0) = 11208.41206

>    Ns:=dsolve({Ini,Ax,Ay},{x(t),y(t)},numeric);  Numerical solution

Ns := proc (x_rkf45) local res, solnproc, outpoint, ndsol, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 14; if _EnvInFsolve =...

>    Z:=polarplot(1,phi=0..2*Pi,color=blue,numpoints=400):  Earth

>    P1:=odeplot(Ns,[x(t)/Rz,y(t)/Rz],-2000..97000,numpoints=1000,color=red,thickness=3):  Trajectory

>    display({P1,Z},labels=["x [Rz]","y [Rz]"],title="Trajectory",scaling=constrained);  Plot of the Earth and trajectory

[Maple Plot]

>    display({Z,P1},view=[0.35..1.25,-0.2..1],scaling=constrained,labels=["x [Rz]","y [Rz]"]);  Detail of the trajectory

[Maple Plot]

>    display({Z,P1},view=[0.4..0.6,0.8..0.95],scaling=constrained,labels=["x [Rz]","y [Rz]"]);  Detail of the landing zone

[Maple Plot]

>    subs(Ns(92000),h); subs(Ns(93000),h);  Looking for the initial value for iteration of the landing time

232625.778

-3754.363

>    tau:=Tau(93000);  Landing time

tau := 92912.51109

>    plot([seq(evalf(subs(Ns(T),[t,Ag])),T=[$250..500])],axes=framed,
      labels=["t [s]","A [g]"],title="First braking, A(t)");
 First braking

[Maple Plot]

>    plot([seq(evalf(subs(Ns(T),[t,Ag])),T=[$tau-1000..tau])],axes=framed,
      labels=["t [s]","A [g]"],title="Second braking, A(t)");
 Second braking - after one orbit

[Maple Plot]

>    display({plot([seq(evalf(subs(Ns(T),[V/1000,Ag])),T=[$250..500])],color=blue),
         plot([seq(evalf(subs(Ns(T),[V/1000,Ag])),T=[$tau-1000..tau])],color=red)},
         labels=["V [km/s]","A [g]"],title="Braking, A(V)",axes=framed);
 Deceleration as a function of the velocity

[Maple Plot]

>    display({plot([seq(evalf(subs(Ns(T),[h/1000,Ag])),T=[$250..500])],color=blue),
         plot([seq(evalf(subs(Ns(T),[h/1000,Ag])),T=[$tau-1000..tau])],color=red)},
         labels=["h [km]","A [g]"],title="Braking, A(h)",view=[0..100,-1..7.5],axes=framed);
 Braking as a function of the height, first braking , second braking

[Maple Plot]

>    display({odeplot(Ns,[h/1000,V/1000],150..550,color=blue),
         odeplot(Ns,[h/1000,V/1000],tau-1000..tau,color=red)},
         labels=["h [km]","V [km/s]"],title="V(h)");
 Velocity as a function of the height, first braking , secon