LOADFILE(UNITS,LSP,DSK,HPM)$ SYMBOLIC:HOLD$ KEEPFLOAT:TRUE$ COMP(V):=IF (SYMBOLIC=HOLD OR SYMBOLIC=TRUE) THEN EV(V) ELSE BFLOAT(EV(V,EVAL))$ GRAVCON():=IF SYMBOLIC=HOLD THEN '(GRAVCON()) ELSE IF SYMBOLIC=TRUE THEN 'GRAVITATION ELSE GRAVITATION$ EPOCH:1976$ GRAVITATION:6.668B-8*CM**3/(GRAM*SEC**2)$ POTENTIAL(P,R):=COMP('(-MASS(P)*GRAVCON()/R))$ EARTH[MASS]:5.977B27*GRAM$ GRAVITY(P):=COMP('(GRAVCON()*MASS(P)/RADIUS(P)**2))$ ESCAPE(P):=COMP('(SQRT(2*GRAVCON()*MASS(P)/RADIUS(P))))$ ESCAPEVELOCITY(P,R):=COMP('(SQRT(2*GRAVCON()*MASS(P)/R)))$ ORBITAL(P):=COMP('(SQRT(GRAVCON()*MASS(P)/RADIUS(P))))$ ORBITALVELOCITY(P,R):=COMP('(SQRT(GRAVCON()*MASS(P)/R)))$ ORBITALPERIOD(P,R):=COMP('(2*%PI*SQRT(R**3/(GRAVCON()*MASS(P)))))$ ORBIT(P):=COMP('(2*%PI*SQRT(DISTANCE(P)**3/ (GRAVCON()*MASS(PRIMARY(P))))))$ SYNCHRONOUS(P):=COMP('((GRAVCON()*MASS(P)/SPIN(P)**2)**(1/3)))$ SURFACE(P):=COMP(4*%PI*RADIUS(P)**2)$ VOLUME(P):=COMP(4*%PI*RADIUS(P)**3/3)$ DENSITY(P):=(IF TYPE(P)=CELESTIALBODY THEN COMP(MASS(P)/VOLUME(P)) ELSE COMP(P[DENSITY]))$ HOHMANN(BODY,R1,R2):=BLOCK([GMP,A,B],GMP:GRAVITATION*MASS(BODY), A:SQRT(GMP)*(SQRT(2/R1-2/(R1+R2))-SQRT(1/R1)), B:SQRT(GMP)*(SQRT(2/R2-2/(R1+R2))-SQRT(1/R2)), [A,B,A-B]); TYPE(P):=COMP(P[TYPE])$ MASS(P):=COMP(P[MASS])$ RADIUS(P):=COMP(P[DIAMETER]/2)$ DIAMETER(P):=COMP(P[DIAMETER])$ DISTANCE(P):=COMP(P[DISTANCE])$ ROTATION(P):=COMP(P[ROTATION])$ SPIN(P):=COMP(2*%PI/ROTATION(P))$ PRIMARY(P):=EV(P[PRIMARY])$ MOON[MASS]:7.349B25*GRAM$ MOON[DIAMETER]:3.4759662B8*CM$ MOON[DISTANCE]:381550*KM$ MOON[ROTATION]:2.36059B6*SEC$ MOON[PRIMARY]:EARTH$ MERCURY[MASS]:0.0549B0*EARTH[MASS]$ MERCURY[DIAMETER]:5140*KM$ MERCURY[DISTANCE]:5791.0B4*KM$ MERCURY[ROTATION]:7.6B6*SEC$ MERCURY[PRIMARY]:SUN$ VENUS[MASS]:0.8073B0*EARTH[MASS]$ VENUS[DIAMETER]:12620*KM$ VENUS[DISTANCE]:10821.0B4*KM$ VENUS[ROTATION]:2.2B7*SEC$ VENUS[PRIMARY]:SUN$ EARTH[DIAMETER]:12742.67B0*KM$ EARTH[DISTANCE]:14960.0B4*KM$ EARTH[ROTATION]:86164.1B0*SEC$ EARTH[PRIMARY]:SUN$ MARS[MASS]:0.1065B0*EARTH[MASS]$ MARS[DIAMETER]:6860*KM$ MARS[DISTANCE]:22794.0B4*KM$ MARS[ROTATION]:88642.6B0*SEC$ MARS[PRIMARY]:SUN$ JUPITER[MASS]:314.5B0*EARTH[MASS]$ JUPITER[DIAMETER]:143600*KM$ JUPITER[DISTANCE]:77830.0B4*KM$ JUPITER[ROTATION]:35430*SEC$ JUPITER[PRIMARY]:SUN$ IO[DISTANCE]:422.0B3*KM$ IO[ROTATION]:1.769138B0*DAY$ IO[DIAMETER]:2*1670*KM$ IO[MASS]:73.0B24*GRAM$ IO[PRIMARY]:JUPITER$ EUROPA[DISTANCE]:671.0B3*KM$ EUROPA[ROTATION]:3.551181B0*DAY$ EUROPA[DIAMETER]:2*1460*KM$ EUROPA[MASS]:47.5B24*GRAM$ EUROPA[PRIMARY]:JUPITER$ GANYMEDE[DISTANCE]:1070.0B3*KM$ GANYMEDE[ROTATION]:7.154553B0*DAY$ GANYMEDE[DIAMETER]:2*2550*KM$ GANYMEDE[MASS]:154.0B24*GRAM$ GANYMEDE[PRIMARY]:JUPITER$ CALLISTO[DISTANCE]:1883.0B3*KM$ CALLISTO[ROTATION]:16.689018B0*DAY$ CALLISTO[DIAMETER]:2*2360*KM$ CALLISTO[MASS]:95.0B24*GRAM$ CALLISTO[PRIMARY]:JUPITER$ SATURN[MASS]:94.07*EARTH[MASS]$ SATURN[DIAMETER]:120600*KM$ SATURN[DISTANCE]:1427.0B6*KM$ SATURN[ROTATION]:36840*SEC$ SATURN[PRIMARY]:SUN$ MIMAS[DISTANCE]:186.0B3*KM$ MIMAS[ROTATION]:0.942422B0*DAY$ MIMAS[DIAMETER]:2*300*KM$ MIMAS[MASS]:0.04B24*GRAM$ MIMAS[PRIMARY]:SATURN$ ENCELADUS[DISTANCE]:238.0B3*KM$ ENCELADUS[ROTATION]:1.370218B0*DAY$ ENCELADUS[DIAMETER]:2*300*KM$ ENCELADUS[MASS]:0.07B24*GRAM$ ENCELADUS[PRIMARY]:SATURN$ TETHYS[DISTANCE]:295.0B3*KM$ TETHYS[ROTATION]:1.887802B0*DAY$ TETHYS[DIAMETER]:2*500*KM$ TETHYS[MASS]:0.65B24*GRAM$ TETHYS[PRIMARY]:SATURN$ DIONE[DISTANCE]:377.0B3*KM$ DIONE[ROTATION]:2.736915B0*DAY$ DIONE[DIAMETER]:2*500*KM$ DIONE[MASS]:1.0B24*GRAM$ DIONE[PRIMARY]:SATURN$ RHEA[DISTANCE]:527.0B3*KM$ RHEA[ROTATION]:4.517500B0*DAY$ RHEA[DIAMETER]:2*700*KM$ RHEA[MASS]:2.3B24*GRAM$ RHEA[PRIMARY]:SATURN$ TITAN[DISTANCE]:1222.0B3*KM$ TITAN[ROTATION]:15.945452B0*DAY$ TITAN[DIAMETER]:2*2440*KM$ TITAN[MASS]:137.0B24*GRAM$ TITAN[PRIMARY]:SATURN$ HYPERION[DISTANCE]:1481.0B3*KM$ HYPERION[ROTATION]:21.276660B0*DAY$ HYPERION[DIAMETER]:2*200*KM$ HYPERION[MASS]:0.31B24*GRAM$ HYPERION[PRIMARY]:SATURN$ IAPETUS[DISTANCE]:3560.0B3*KM$ IAPETUS[ROTATION]:79.330820B0*DAY$ IAPETUS[DIAMETER]:2*500*KM$ IAPETUS[MASS]:1.0B24*GRAM$ IAPETUS[PRIMARY]:SATURN$ URANUS[MASS]:14.40*EARTH[MASS]$ URANUS[DIAMETER]:53400*KM$ URANUS[DISTANCE]:2869.0B6*KM$ URANUS[ROTATION]:38940*SEC$ URANUS[PRIMARY]:SUN$ ARIEL[DISTANCE]:192.0B3*KM$ ARIEL[ROTATION]:2.520380B0*DAY$ ARIEL[DIAMETER]:2*300*KM$ ARIEL[MASS]:1.2B24*GRAM$ ARIEL[PRIMARY]:URANUS$ UMBRIEL[DISTANCE]:267.0B3*KM$ UMBRIEL[ROTATION]:4.144180B0*DAY$ UMBRIEL[DIAMETER]:2*200*KM$ UMBRIEL[MASS]:0.5B24*GRAM$ UMBRIEL[PRIMARY]:URANUS$ TITANIA[DISTANCE]:438.0B3*KM$ TITANIA[ROTATION]:8.705880B0*DAY$ TITANIA[DIAMETER]:2*500*KM$ TITANIA[MASS]:4.0B24*GRAM$ TITANIA[PRIMARY]:URANUS$ OBERON[DISTANCE]:586.0B3*KM$ OBERON[ROTATION]:13.463260B0*DAY$ OBERON[DIAMETER]:2*400*KM$ OBERON[MASS]:2.6B24*GRAM$ OBERON[PRIMARY]:URANUS$ MIRANDA[DISTANCE]:128.0B3*KM$ MIRANDA[ROTATION]:1.414000B0*DAY$ MIRANDA[DIAMETER]:2*100*KM$ MIRANDA[MASS]:0.1B24*GRAM$ MIRANDA[PRIMARY]:URANUS$ NEPTUNE[MASS]:16.72*EARTH[MASS]$ NEPTUNE[DIAMETER]:49700*KM$ NEPTUNE[DISTANCE]:4498.0B6*KM$ NEPTUNE[ROTATION]:54000*SEC$ NEPTUNE[PRIMARY]:SUN$ TRITON[DISTANCE]:353.0B3*KM$ TRITON[ROTATION]:5.876830B0*DAY$ TRITON[DIAMETER]:2*2000*KM$ TRITON[MASS]:140.0B24*GRAM$ TRITON[PRIMARY]:NEPTUNE$ NEREID[DISTANCE]:5600.0B3*KM$ NEREID[ROTATION]:360.0B0*DAY$ NEREID[DIAMETER]:2*100*KM$ NEREID[MASS]:0.03B24*GRAM$ NEREID[PRIMARY]:NEPTUNE$ PLUTO[MASS]:0.2B0*MOON[MASS]$ PLUTO[DIAMETER]:6000*KM$ PLUTO[DISTANCE]:5900.0B6*KM$ PLUTO[ROTATION]:6.39B0*DAY$ PLUTO[PRIMARY]:SUN$ SUN[MASS]:1.989B33*GRAM$ SUN[DIAMETER]:1390600*KM$ SUN[ROTATION]:2.3B6*SEC$ MOON[ECCENTRICITY]:0.05490$ MERCURY[ECCENTRICITY]:0.205615+0.000020*(EPOCH-1900)/100$ VENUS[ECCENTRICITY]:0.006820-0.000048*(EPOCH-1900)/100$ EARTH[ECCENTRICITY]:0.016750-0.000042*(EPOCH-1900)/100$ MARS[ECCENTRICITY]:0.093312+0.000094*(EPOCH-1900)/100$ JUPITER[ECCENTRICITY]:0.048332+0.000164*(EPOCH-1900)/100$ SATURN[ECCENTRICITY]:0.055890-0.000345*(EPOCH-1900)/100$ URANUS[ECCENTRICITY]:0.0471$ NEPTUNE[ECCENTRICITY]:0.0085$ PLUTO[ECCENTRICITY]:0.2494$ SUN[TYPE]:CELESTIALBODY$ MERCURY[TYPE]:CELESTIALBODY$ VENUS[TYPE]:CELESTIALBODY$ EARTH[TYPE]:CELESTIALBODY$ MOON[TYPE]:CELESTIALBODY$ MARS[TYPE]:CELESTIALBODY$ JUPITER[TYPE]:CELESTIALBODY$ SATURN[TYPE]:CELESTIALBODY$ URANUS[TYPE]:CELESTIALBODY$ NEPTUNE[TYPE]:CELESTIALBODY$ PLUTO[TYPE]:CELESTIALBODY$ SYMBOLIC:FALSE$ KILL(LABELS)$ SAVE([SOLAR,LSP,DSK,HPM],ALL);