예제 #1
0
def calc_orbit_ellipse(orbitdata,itime):
    
    a = orbitdata[itime,singlecol['a']]
    ecc = orbitdata[itime,singlecol['e']]
    inc = orbitdata[itime,singlecol['i']]
    argper = orbitdata[itime,singlecol['peri']]
    longascend = orbitdata[itime,singlecol['node']]
        
    # Find total mass of the system TODO
    
    totalmass = 1.0
    
    orbit = orbitalElements(a,ecc,inc,argper,longascend, 0.0, Vector3D(0.0,0.0,0.0),Vector3D(0.0,0.0,0.0),1.0,totalmass)
    
    npoints = 100
    x,y,z = orbit.calcOrbitTrack(npoints)
    
    return x,y,z
totalmass = 1.0
npoints = 100

positionangle = 200.0*pi/180.0
velangle = -90.0*pi/180.0

magpos = 1.0
magvel = 1.0

position = Vector3D(magpos*cos(positionangle), magpos*sin(positionangle),0.0)
velocity = Vector3D(magvel*cos(velangle), magvel*sin(velangle), 0.0)

print "Position: ",position
print "Velocity: ", velocity

orbit = orbitalElements(0.0,0.0,0.0,0.0,0.0,0.0, position,velocity, G, totalmass)
orbit.calcOrbitFromVector()

xorb,yorb,zorb = orbit.calcOrbitTrack(npoints)

print "Orbit is \n", orbit

orbit.calcVectorFromOrbit()

print "Derived position:", orbit.position
print "Derived Velocity:", orbit.velocity

xmin = amin(xorb)
xmin = xmin - 0.1*abs(xmin)
xmax = amax(xorb)
xmax = xmax + 0.1*abs(xmax)
예제 #3
0
npoints = 100

positionangle = 200.0 * pi / 180.0
velangle = -90.0 * pi / 180.0

magpos = 1.0
magvel = 1.0

position = Vector3D(magpos * cos(positionangle), magpos * sin(positionangle),
                    0.0)
velocity = Vector3D(magvel * cos(velangle), magvel * sin(velangle), 0.0)

print "Position: ", position
print "Velocity: ", velocity

orbit = orbitalElements(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, position, velocity, G,
                        totalmass)
orbit.calcOrbitFromVector()

xorb, yorb, zorb = orbit.calcOrbitTrack(npoints)

print "Orbit is \n", orbit

orbit.calcVectorFromOrbit()

print "Derived position:", orbit.position
print "Derived Velocity:", orbit.velocity

xmin = amin(xorb)
xmin = xmin - 0.1 * abs(xmin)
xmax = amax(xorb)
xmax = xmax + 0.1 * abs(xmax)