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)
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)