Note
Click here to download the full example code
The SpaceObject classΒΆ
Out:
Space object 1: <Time object: scale='utc' format='mjd' value=57125.7729>:
a : 7.0000e+06 x : 7.0000e+06
e : 0.0000e+00 y : 0.0000e+00
i : 6.9000e+01 z : 0.0000e+00
omega: 0.0000e+00 vx: -0.0000e+00
Omega: 0.0000e+00 vy: 2.7043e+03
anom : 0.0000e+00 vz: 7.0448e+03
Parameters: C_D=2.3, m=1.0, C_R=1.0, d=0.2
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from astropy.time import Time
from sorts.propagator import Orekit
from sorts import SpaceObject
orekit_data = '/home/danielk/IRF/IRF_GITLAB/orekit_build/orekit-data-master.zip'
orekit_options = dict(
orekit_data = orekit_data,
settings=dict(
in_frame='GCRS',
out_frame='GCRS',
drag_force = False,
radiation_pressure = False,
),
)
t = np.linspace(0,3600*24.0*2,num=5000)
obj = SpaceObject(
Orekit,
propagator_options = orekit_options,
a = 7000e3,
e = 0.0,
i = 69,
raan = 0,
aop = 0,
mu0 = 0,
epoch = Time(57125.7729, format='mjd'),
parameters = dict(
d = 0.2,
)
)
print(obj)
states = obj.get_state(t)
fig = plt.figure(figsize=(15,15))
ax = fig.add_subplot(111, projection='3d')
ax.plot(states[0,:], states[1,:], states[2,:],"-b")
max_range = np.linalg.norm(states[0:3,0])*2
ax.set_xlim(-max_range, max_range)
ax.set_ylim(-max_range, max_range)
ax.set_zlim(-max_range, max_range)
plt.show()
Total running time of the script: ( 0 minutes 2.965 seconds)