Professional Documents
Culture Documents
6
#Kepler Equations
import numpy as np
e=0.72
M=4. * (np.pi/180.) #converting degrees into radians
def KeplerEquation(f,df,E0=M,itr=1.):
En=np.zeros(itr,dtype=float)
En[0]=E0
return En
def f(E):
return E-e*np.sin(E)-M
def df(E):
return 1-e*np.cos(E)
print KeplerEquation(f,df,M,10)
Output
[ 0.06981317 0.24807038 0.24319413 0.2431872 0.2431872 0.2431872
0.2431872 0.2431872 0.2431872 0.2431872 ]
#Example 4.2
m0=35000.
emr=28. #ejecting mass rate
exv=3000. #exhaust velocity
T=60.
bom=T*emr #burnout mass
m=m0-bom #mass after burn
delta_v=exv*np.log(m0/m)
print delta_v
Output:
147.570732572
#Example 4.3
Fth=1000000.
emr= 400
g0=9.80665
Isp=Fth/(g0*emr)
print Isp
Output:
254.929053244
vi=(mu/ri)**0.5
print 'vi',vi
vf=(mu/rf)**0.5
print 'vf',vf
atrans=(ri+rf)/2.
print 'atrans',atrans
vtrans_a=((((2*mu)/ri)-(mu/atrans)))**0.5
print 'vtrans_a',vtrans_a
vtrans_b=((((2*mu)/rf)-(mu/atrans)))**0.5
print 'vtrans_b',vtrans_b
delta_va=vtrans_a-vi
delta_vb=vf-vtrans_b
delta_v=delta_va+delta_vb
print 'delta_v',delta_v
t_flight=np.pi*((atrans**2)/mu)**0.5
print 't_flight',t_flight
Output:
vi 0.984680845111
vf 0.363096740742
atrans 4.308176
vtrans_a 1.3065511623
vtrans_b 0.177656107499
delta_v 0.507310950434
t_flight 13.534534072
atrans1=(ri+r_arb)/2.
print 'atrans1',atrans1
atrans2=(rf+r_arb)/2.
print 'atrans2',atrans2
delta_v=abs(((2*mu/ri)-mu/atrans1)**.5 - (mu/ri)**.5)+abs(((2*mu/r_arb)-
mu/atrans2)**.5 - ((2*mu/r_arb)-mu/atrans1)**.5)+abs((mu/rf)**.5-((2*mu/rf)-
mu/atrans2)**.5 )
print 'delta_v',delta_v
t_flight=np.pi*(((atrans1**2)/mu)**0.5)+np.pi*(((atrans2**2)/mu)**0.5)
print 't_flight',t_flight
Output:
atrans1 40.515
atrans2 70.0
delta_v 0.49384903138
t_flight 347.193112111
atrans=ri/(1-etrans)
print "atrans",atrans
vi=(mu/ri)**.5
vf=(mu/rf)**.5
vtrans_a=((2*mu/ri)-(mu/atrans))**.5
print "vtrans_a",vtrans_a
vtrans_b=((2*mu/rf)-(mu/atrans))**.5
print "vtrans_b",vtrans_b
delta_va=vtrans_a-vi
print "delta_va",delta_va
Output:
problem 6.3
atrans 3.82
1/R 0.155824508321
etrans 0.77057260836
atrans 4.4894377809
vtrans_a 1.31110736875
vtrans_b 0.282536405425
delta_va 0.325778090585
#Problem 4.21
print "Problem 4.21"
E=(6378.14+600)*1000. #m
theta=8 #degrees
GM=3.986005e14
vi=(GM/E)**0.5
print "vi",vi
delta_v=2*vi*np.sin(np.radians(theta)/2.)
print "delta_v",delta_v
Output:
Problem 4.21
vi 7557.86413368
delta_v 1054.41990201
#Problem 7.1
print "Problem 7.1"
a=(6378.14+400)*1000. #m
A=8 #sq. m
m=1000 #kg
cd=2.67
GM=3.986005e14
rho=2.62e-12
H=58.2 #km
V=(GM/a)**0.5
print "V",V
print "delta_arev",delta_arev
print "delta_Prev",delta_Prev
print "delta_Vrev",delta_Vrev
L=-H/delta_arev
print "L",L
Output:
Problem 7.1
V 7668.5570382
delta_arev -16.1548703741
delta_Prev -0.019854591353
delta_Vrev 0.00913853541742
L 3.60262872139
#Problem 4.16
print "Problem 4.16"
i=51.6 #degrees
n=15.5 #revolutions/day
Omega_moon=-0.00338*np.cos(np.radians(i))/n
print "Omega_moon",Omega_moon
Omega_sun=-0.00154*np.cos(np.radians(i))/n
print "Omega_sun",Omega_sun
omega_moon=0.00169 * (4.-5*(np.sin(np.radians(i))**2.))/n
print "omega_moon",omega_moon
omega_sun=0.00077 * (4.-5*(np.sin(np.radians(i))**2.))/n
print "omega_sun",omega_sun
Output
Problem 4.16
Omega_moon -0.000135450290151
Omega_sun -6.17140375244e-05
omega_moon 0.000101304359599
omega_sun 4.61564241959e-05
#Problem 4.17
a=7500 #km
i=28.5 #degrees
e=0.1
Omega_J2=-2.06474e14*(a**-3.5)*np.cos(np.radians(i))*((1-e**2)**-2)
print "Omega_J2",Omega_J2
omega_J2=1.03237e14*(a**-3.5)*(4-(5*np.sin(np.radians(i))**2))*((1-e**2)**-2)
print "omega_J2",omega_J2
Output:
Problem 4.17
Omega_J2 -5.06732857211
omega_J2 8.25009834713