Source Code
053830,000001: # Copyright: Public domain.
053831,000002: # Filename: TIME_OF_FREE_FALL.agc
053832,000003: # Purpose: Part of the source code for Luminary 1A build 099.
053833,000004: # It is part of the source code for the Lunar Module's (LM)
053834,000005: # Apollo Guidance Computer (AGC), for Apollo 11.
053835,000006: # Assembler: yaYUL
053836,000007: # Contact: Ron Burkey <info@sandroid.org>.
053837,000008: # Website: www.ibiblio.org/apollo.
053838,000009: # Pages: 1268-1283
053839,000010: # Mod history: 2009-05-26 RSB Adapted from the corresponding
053840,000011: # Luminary131 file, using page
053841,000012: # images from Luminary 1A.
053842,000013:
053843,000014: # This source code has been transcribed or otherwise adapted from
053844,000015: # digitized images of a hardcopy from the MIT Museum. The digitization
053845,000016: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of
053846,000017: # the Museum. Many thanks to both. The images (with suitable reduction
053847,000018: # in storage size and consequent reduction in image quality as well) are
053848,000019: # available online at www.ibiblio.org/apollo. If for some reason you
053849,000020: # find that the images are illegible, contact me at info@sandroid.org
053850,000021: # about getting access to the (much) higher-quality images which Paul
053851,000022: # actually created.
053852,000023:
053853,000024: # Notations on the hardcopy document read, in part:
053854,000025:
053855,000026: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
053856,000027: # 16:27 JULY 14, 1969
053857,000028:
053858,000029: # Page 1268
053859,000030: # THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES. THE TFF ROUTINES NEVER
053860,000031: # KNOW WHICH ORIGIN APPLIES. IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE, AND 1/SQRT(MU) AT THE
053861,000032: # APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY.
053862,000033:
053863,000034: # EARTH ORIGIN POSITION -29 METERS
053864,000035: # VELOCITY -7 METERS/CENTISECOND
053865,000036: # 1/SQRT(MU) +17 SQRT(CS SQ/METERS CUBED)
053866,000037:
053867,000038: # MOON ORIGIN POSITION -27 METERS
053868,000039: # VELOCITY -5 METERS/CENTISECONDS
053869,000040: # 1/SQRT(MU) +14 SQRT(CS SQ/METERS CUBED)
053870,000041:
053871,000042: # ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE. IN ALL CASES,
053872,000043: # THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28). PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND
053873,000044: # LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN.
053874,000045:
053875,000046: # THE USER MUST STORE THE STATE VECTOR IN RONE, VONE, AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU
053876,000047: # AT THE PROPER SCALE BEFORE CALLING TFF/CONIC. SINCE RONE, VONE ARE IN THE EXTENDED VERB STORAGE AREA,
053877,000048: # THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED.
053878,000049:
053879,000050: # PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT
053880,000051: # RADIUS. THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY.
053881,000052:
053882,000053: # THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST.
053883,000054:
053884,000055: # BELOW E: IS USED FOR EARTH ORIGIN SCALE
053885,000056: # M: IS USED FOR MOON ORIGIN SCALE
053886,000057:
053887,000058: # TFFSW = 119D # BIT1 0 = CALCTFF 1 = CALCTPER
053888,000059: 10,2213 TFFDELQ = 10D # Q2-Q1 E: (-16) M: (-15)
053889,000060: 10,2213 RMAG1 = 12D # ABVAL(RN) M E: (-29) M: (-27)
053890,000061: # RPER = 14D # PERIGEE RADIUS M E: (-29) M: (-27)
053891,000062: 10,2213 TFFQ1 = 14D # R.V / SQRT(MUE) E: (-16) M: (-15)
053892,000063: # SDELF/2 # SIN(THETA) /2
053893,000064: 10,2213 CDELF/2 = 14D # COS(THETA) /2
053894,000065: # RAPO = 16D # APOGEE RADIUS M E: (-29) M: (-27)
053895,000066: 10,2213 NRTERM = 16D # TERMINAL RADIUS M E: (-29+NR)
053896,000067: # M: (-27+NR)
053897,000068: 10,2213 RTERM = 18D # TERMINAL RADIUS M E: (-29) M: (-27)
053898,000069: 10,2213 TFFVSQ = 20D # -(V SQUARED/MU) 1/M E: (20) M: (18)
053899,000070: 10,2213 TFF1/ALF = 22D # SEMI MAJ AXIS M E: (-22-2 NA)
053900,000071: # M: (-20-2 NA)
053901,000072: 10,2213 TFFRTALF = 24D # SQRT(ALFA) E:(10+NA) M: (9+NA)
053902,000073: 10,2213 TFFALFA = 26D # ALFA 1/M E:(26-NR) M: (24-NR)
053903,000074: 10,2213 TFFNP = 28D # SEMI LATUS RECTUM M E: (-38+2 NR)
053904,000075: # M: (-36+2 NR)
053905,000076: 10,2213 TFF/RTMU = 30D # 1/SQRT(MU) E: (17) M: (14)
053906,000077: 10,2213 NRMAG = 32D # PRESENT RADIUS M E: (-29+NR)
053907,000078: # M: (-27+NR)
053908,000079: 10,2213 TFFX = 34D
053909,000080: 10,2213 TFFTEM = 36D # TEMPORARY
053910,000081: # Page 1269
053911,000082: # REGISTERS S1, S2 ARE UNTOUCED BY ANY TFF SUBROUTINE
053912,000083: # INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES. THEY ARE ESTAB-
053913,000084: # LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
053914,000085: # SUBROUTINES.
053915,000086: # -NR C(X1) = NORM COUNT OF RMAG
053916,000087: # -NA C(X2) = NORM COUNT OF SQRT(ABS(ALFA))
053917,000088:
053918,000089: # Page 1270
053919,000090: # SUBROUTINE NAME: TFFCONIC DATE: 01.29.67
053920,000091: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
053921,000092: # MOD BY: RR BAIRNSFATHER
053922,000093: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
053923,000094: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD MOON MU.
053924,000095: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
053925,000096:
053926,000097: # FUNCTIONAL DESCRIPTION: THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF
053927,000098: # SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA. THE PARAMETERS ARE LISTED UNDER OUTPUT.
053928,000099: # THE EQUATIONS ARE:
053929,000100: # _ __ __
053930,000101: # H = RN*VN ANGULAR MOMENTUM
053931,000102: # _ _
053932,000103: # LCP = H.H / MU SEMI LATUS RECTUM
053933,000104: # __ __
053934,000105: # ALFA = 2/RN - VN.VN / MU RECIPROCAL SEMI-MAJOR AXIS, SIGNED
053935,000106:
053936,000107: # AND ALFA IS POS FOR ELLIPTIC ORBITS
053937,000108: # 0 FOR PARABOLIC ORBITS
053938,000109: # NEG FOR HYPERBOLIC ORBITS
053939,000110: # SUBROUTINE ALSO COMPUTES AND SAVES RMAG.
053940,000111:
053941,000112: # CALLING SEQUENCE:
053942,000113: # TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM
053943,000114: # 1/SQRT(MU). THE PROGRAM WILL SAVE IN TFF/RTMU. THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON
053944,000115: # ORIGIN IS USED. THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE,
053945,000116: # VONE AT PROPER SCALE. THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE
053946,000117: # TFF ROUTINES.
053947,000118:
053948,000119: # ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED.
053949,000120:
053950,000121: # TO SPECIFY MU: DLOAD CALL IF MU ALREADY STORED: CALL
053951,000122: # YOURMU 1/RTMU E:(17) M:(14) TFFCONMU
053952,000123: # TFFCONIC
053953,000124: # PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D
053954,000125:
053955,000126: # SUBROUTINES CALLED: NONE
053956,000127:
053957,000128: # NORMAL EXIT MODES: RVQ
053958,000129:
053959,000130: # ALARMS: NONE
053960,000131:
053961,000132: # OUTPUT: THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
053962,000133: # RMAG1 E:(-29) M:(-27) M RN, PRESENT RADIUS LENGTH.
053963,000134: # NRMAG E:(-29+NR) M RMAG, NORMALIZED
053964,000135: # M:(-27+NR)
053965,000136: # X1 -NR, NORM COUNT
053966,000137: # TFFNP E:(-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHTED BY NR. FOR VGAMCALC.
053967,000138: # M:(-36+2NR)
053968,000139: # TFF/RTMU E:(17) M:(14) 1/SQRT(MU)
053969,000140: # TFFVSQ E:(20) M:(18) 1/M -(V SQ/MU): PRESENT VELOCITY, NORMALIZED. FOR VGAMCALC
053970,000141: # TFFALFA E:(26-NR) 1/M ALFA, WEIGHTED BY NR
053971,000142: # M:(24-NR)
053972,000143: # TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED
053973,000144: # M:(9+NA)
053974,000145: # Page 1271
053975,000146: # X2 -NA, NORMCOUNT
053976,000147: # TFF1/ALF E:(-22-2NA) SIGNED SEMI MAJ AXIS, WEIGHTED BY NA
053977,000148: # M:(-20-2NA)
053978,000149: # PUSHLOC AT PDL+0
053979,000150:
053980,000151: # THE FOLLOWING IS STORED IN GENERAL ERASABLE
053981,000152: # VONE' E:(10) M:(9) V/RT(MU), NORMALIZED VELOCITY
053982,000153:
053983,000154: # ERASABLE INITIALIZATION REQUIRED:
053984,000155: # RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY CALLER
053985,000156: # VONE E:(-7) M:(-5) M/CS STATE VECTOR LEFT BY CALLER
053986,000157: # TFF/RTMU E:(17) M:(14) 1/RT(CS SQ/M CUBE) IF ENTER VIA TFFCONMU.
053987,000158:
053988,000159: # DEBRIS: QPRET PDL+0 ... PDL+3
053989,000160:
053990,000161: 33,3777 BANK 33
053991,000162: 27,2000 SETLOC TOF-FF
053992,000163: 27,2000 BANK
053993,000164:
053994,000165: 27,3360 COUNT* $$/TFF
053995,000166:
053996,000167: 27,3360 00037 TFFCONIC STORE TFF/RTMU # 1/SQRT(MU) E:(17) M:(14)
053997,000168:
053998,000169: 27,3361 53575 TFFCONMU VLOAD UNIT # COME HERE WITH TFFRTMU LOADED.
053999,000170: 27,3362 02207 RONE # SAVED RN. M E:(-29) M:(-27)
054000,000171: 27,3363 77725 PDDL # UR/2 TO PDL+0, +5
054001,000172: 27,3364 00045 36D # MAGNITUDE
054002,000173: 27,3365 00015 STORE RMAG1 # M E:(-29) M:(-27)
054003,000174:
054004,000175: 27,3366 77701 NORM
054005,000176: 27,3367 00047 X1 # -NR
054006,000177: 27,3370 24041 STOVL NRMAG # RMAG M E:(-29+NR) M:(-27+NR)
054007,000178: 27,3371 02215 VONE # SAVED VN. M/CS E:(-7) M:(-5)
054008,000179: 27,3372 77761 VXSC
054009,000180: 27,3373 00037 TFF/RTMU # E:(17) M:(14)
054010,000181: 27,3374 02170 STORE VONE' # VN/SQRT(MU) E:(10) M:(9)
054011,000182:
054012,000183: 27,3375 47361 VXSC VXV
054013,000184: 27,3376 00041 NRMAG # E:(-29+NR) M:(-27+NR)
054014,000185: # UR/2 FROM PDL
054015,000186: 27,3377 47572 VSL1 VSQ # BEFORE: E:(-19+NR) M:(-18+NR)
054016,000187: 27,3400 14035 STODL TFFNP # LC P M E:(-38+2NR) M:(-36+2NR)
054017,000188: # SAVE ALSO FOR VGAMCALC
054018,000189: 27,3401 06512 TFF1/4
054019,000190: 27,3402 63271 DDV PDVL # (2/RMAG) 1/M E:(26-NR) M:(24-NR)
054020,000191: 27,3403 00041 NRMAG # RMAG M E:(-29+NR) M:(-27+NR)
054021,000192: 27,3404 02170 VONE' # SAVED VN. E:(10) M:(9)
054022,000193: 27,3405 57436 VSQ DCOMP # KEEP MPAC+2 HONEST FOR SQRT.
054023,000194: 27,3406 00025 STORE TFFVSQ # -(V SQ/MU) E:(20) M:(18)
054024,000195: # SAVE FOR VGAMCALC
054025,000196: 27,3407 43257 SR* DAD
054026,000197: # Page 1272
054027,000198: 27,3410 20573 0 -6,1 # GET -VSQ/MU E:(26-NR) M:(24-NR)
054028,000199: 27,3411 77626 STADR
054029,000200: # 2/RMAG FROM PDL+2
054030,000201: 27,3412 77744 STORE TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR)
054031,000202: 27,3413 41457 SL* PUSH # TEMP SAVE ALFA E:(20) M:(18)
054032,000203: 27,3414 20173 0 -6,1
054033,000204: 27,3415 75446 ABS SQRT # E:(10) M:(9)
054034,000205: 27,3416 77701 NORM
054035,000206: 27,3417 00050 X2 # X2 = -NA
054036,000207: 27,3420 00031 STORE TFFRTALF # SQRT( ABS(ALFA) ) E:(10+NA) M:(9+NA)
054037,000208: 27,3421 75316 DSQ SIGN # NOT SO ACCURATE, BUT OK
054038,000209: # ALFA FROM PDL+2 E:(20) M:(18)
054039,000210: 27,3422 55254 BZE BDDV # SET 1/ALFA =0, TO SHOW SMALL ALFA
054040,000211: 27,3423 57425 +2
054041,000212: 27,3424 06512 TFF1/4
054042,000213: 27,3425 00027 +2 STORE TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
054043,000214: 27,3426 77616 DUMPCNIC RVQ
054044,000215:
054045,000216: # 39 W
054046,000217: # Page 1273
054047,000218: # SUBROUTINE NAME: TFFRP/RA DATE: 01.17.67
054048,000219: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
054049,000220: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
054050,000221: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
054051,000222: # ALSO IMPROVE ACCURACY OF RAPO.
054052,000223:
054053,000224: # FUNCTIONAL DESCRIPTION: USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO
054054,000225: # APOGEE RADIUS FOR A GENERAL CONIC.
054055,000226: # PROGRAM GIVES PERIGEE RADIUS AS APOGEE RADIUS IS GIVEN BY
054056,000227: # RP = P/(1+E) RA = (1+E) / ALFA
054057,000228: # WHERE 2
054058,000229: # E = 1 - P ALFA
054059,000230: # IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE
054060,000231: # 1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA
054061,000232: # 2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA
054062,000233: # 3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE.
054063,000234:
054064,000235: # THIS SUBROUTINE REQUIRED THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI-LATUS RECTUM AS DATA.
054065,000236:
054066,000237: # CALLING SEQUENCE: CALL
054067,000238: # TFFRP/RA
054068,000239: # PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D
054069,000240: # C(MPAC) UNSPECIFIED
054070,000241:
054071,000242: # SUBROUTINES CALLED: NONE
054072,000243:
054073,000244: # NORMAL EXIT MODE: RVQ
054074,000245: # IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT.
054075,000246: # OTHERWISE, RAPO = POSMAX.
054076,000247:
054077,000248: # ALARMS: NONE
054078,000249:
054079,000250: # OUTPUT: STORED IN PUSH LIST AREA. SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC.
054080,000251: # RPER E:(-29) M:(-27) M PERIGEE RADIUS DESTROYED BY CALCTFF/CALCTPER, TFFTRIG.
054081,000252: # RAPO E:(-29) M:(-27) M APOGEE RADIUS WILL BE DESTROYED BY CALCTFF/CALCTPER
054082,000253: # PUSHLOC AT PDL+0
054083,000254:
054084,000255: # ERASABLE INITIALIZATION REQUIRED:
054085,000256: # TFFALFA E:(26-NR) M 1/SEMI MAJ AXIS LEFT BY TFFCONIC
054086,000257: # M:(24-NR)
054087,000258: # TFFNP E:(-38+2NR) M LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC
054088,000259: # M:(-36+2NR)
054089,000260: # X1 -NR, NORM COUNT OF RMAG LEFT BY TFFCONIC
054090,000261: # X2 -NA, NORM COUNT OF ALFA LEFT BY TFFCONIC
054091,000262:
054092,000263: # DEBRIS: QPRET, PDL+0 ... PDL+1
054093,000264:
054094,000265: # Page 1274
054095,000266: 27,3427 RAPO = 16D # APOGEE RADIUS M E:(-29) M:(-27)
054096,000267: 27,3427 RPER = 14D # PERIGEE RADIUS M E:(-29) M:(-27)
054097,000268:
054098,000269: 27,3427 41345 TFFRP/RA DLOAD DMP
054099,000270: 27,3430 00033 TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR)
054100,000271: 27,3431 00035 TFFNP # LC P M E:(-38+2NR) M:(-36+2NR)
054101,000272: 27,3432 57457 SR* DCOMP # ALFA P (-12+NR)
054102,000273: 27,3433 20571 0 -8D,1 # ALFA P (-4)
054103,000274: 27,3434 51415 DAD ABS # (DCOMP GIVES VALID TP RESULT FOR SQRT)
054104,000275: # (ABS PROTECTS SQRT IF E IS VERY NEAR 0)
054105,000276: 27,3435 17765 DP2(-4)
054106,000277: 27,3436 43366 SQRT DAD # E SQ = (1- P ALFA) (-4)
054107,000278: 27,3437 06512 TFF1/4
054108,000279: 27,3440 55206 PUSH BDDV # (1+E) (-2) TO PDL+0
054109,000280: 27,3441 00035 TFFNP # LCP M E:(-38+2NR) M:(-36+2NR)
054110,000281: 27,3442 53657 SR* SR* # (DOES SR THEN SL TO AVOID OVFL)
054111,000282: 27,3443 20601 0,1 # X1=-NR
054112,000283: 27,3444 20572 0 -7,1 # (EFFECTIVE SL)
054113,000284: 27,3445 14017 STODL RPER # PERIGEE RADIUS M E:(-29) M:(-27)
054114,000285: # (1+E) (-2) FROM PDL+0
054115,000286: 27,3446 41005 DMP BOVB
054116,000287: 27,3447 00027 TFF1/ALF # E:(-22-2NA) M:(-20-2NA)
054117,000288: 27,3450 57753 TCDANZIG # CLEAR OVFIND, IF ON.
054118,000289: 27,3451 53654 BZE SL*
054119,000290: 27,3452 57461 MAXRA # SET POSMAX IF ALFA=0
054120,000291: 27,3453 57603 0 -5,2 # -5+NA
054121,000292: 27,3454 40057 SL* BOV
054122,000293: 27,3455 57576 0,2
054123,000294: 27,3456 57461 MAXRA # SET POSMAX IF OVFL.
054124,000295: 27,3457 77644 BPL # CONTINUE WITH VALID RAPO.
054125,000296: 27,3460 57463 +3
054126,000297: 27,3461 77745 MAXRA DLOAD # RAPO CALC IS NOT VALID. SET RAPO =
054127,000298: 27,3462 17771 NEARONE # POSMAX AS A TAG.
054128,000299: 27,3463 00021 +3 STORE RAPO # APOGEE RADIUS M E:(-29) M:(-27)
054129,000300: 27,3464 77616 DUMPRPRA RVQ
054130,000301:
054131,000302: # 30 W
054132,000303: # Page 1275
054133,000304: # SUBROUTINE NAME: CALCTPER / CALCTFF DATE: 01.29.67
054134,000305: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
054135,000306: # MOD BY: RR BAIRNSFATHER
054136,000307: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67
054137,000308: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67
054138,000309: # MOD BY: 3 MOD BY: RR BAIRNSFATHER DATE: 8 JUL 67 NEAR EARTH MUE AND NEG TFF (GONEPAST)
054139,000310: # MOD BY: 4 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD VARIABLE MU.
054140,000311: # MOD BY: 5 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
054141,000312:
054142,000313: # FUNCTIONAL DESCRIPTION: PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND
054143,000314: # VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM, SUPPLIED BY THE USER. THE POSITION VECTOR
054144,000315: # RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE.
054145,000316: # THE EQUATIONS ARE:
054146,000317:
054147,000318: # Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP) (INBOUND SIDE) LEQ +- LCE/SQRT(ALFA)
054148,000319: # __ __
054149,000320: # Q1 = RN.VN / SQRT(MU) LEQ +- LCE/SQRT(ALFA)
054150,000321:
054151,000322: # Z = NUM / DEN LEQ +- 1/SQRT(ALFA)
054152,000323:
054153,000324: # WHERE, IF INBOUND
054154,000325: # NUM = RTERM -RN LEQ +- 2 LCE/ALFA
054155,000326: # DEN = Q2+Q1 LEQ +- 2 LCE/SQRT(ALFA)
054156,000327:
054157,000328: # AND, IF OUTBOUND
054158,000329: # NUM = Q2-Q1 LEQ +- 2 LCE/SQRT(ALFA)
054159,000330: # DEN = 2 - ALFA (RTERM + RN). LEQ +- 2 LCE
054160,000331:
054161,000332: # IF ALFA ZZ < 1.0 (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG)
054162,000333: # THEN X = ALFA Z Z
054163,000334: # AND TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU)
054164,000335: # EXCEPT IF ALFA PNZ, AND IF TFF NEG,
054165,000336: # THEN TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF
054166,000337: # OR IF ALFA ZZ GEQ 1.0 (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG)
054167,000338: # THEN X = 1/ALFA Z Z
054168,000339: # AND TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU)
054169,000340: # WHERE T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES
054170,000341: # 2 3 2
054171,000342: # 1/3 - X/5 + X /7 - X /8 ... (X < 1.0)
054172,000343:
054173,000344: # CALLING SEQUENC: TIME TO RTERM TIME TO PERIGEE
054174,000345: # CALL CALL
054175,000346: # CALCTFF CALCTPER
054176,000347: # C(MPAC) = TERMNL RAD M C(MPAC) = PERIGEE RAD M
054177,000348: # FOR EITHER, E:(-29) M:(-27)
054178,000349: # FOR EITHER, PUSHLOC = PDL+0, ARBITRARY IF LEQ 8D.
054179,000350: # Page 1276
054180,000351:
054181,000352: # SUBROUTINES CALLED: T(X), VIA RTB
054182,000353:
054183,000354: # NORMAL EXIT MODE: RVQ
054184,000355: # HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC. USER MUST STORE.
054185,000356: # A. TFF = FLIGHT TIME. NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD.
054186,000357: # B. (THIS OPTION IS NO LONGER USED.)
054187,000358: # C. TFF = POSMAX. THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO
054188,000359: # THE SPECIFIED ALTITUDE. ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA.
054189,000360:
054190,000361: # OUTPUT: C(MPAC) (-28) CS TIME OF FLIGHT, OR TIME TO PERIGEE
054191,000362: # TFFX (0) X LEFT FOR ENTRY DISPLAY TFF ROUTINES
054192,000363: # NRTERM E:(-29+NR) M RTERM, WEIGHTED BY NR LEFT FOR ENTRY DISPLAY TFF ROUTINES
054193,000364: # M:(-27+NR)
054194,000365: # TFFTEM E:(-59+2NR) LCP Z Z SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES
054195,000366: # M:(-55+2NR) LCP /ALFA SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES
054196,000367: # NOTE: TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:.
054197,000368: # RMAG1 E:(-29) M:(-27) PDL 12 NOT TOUCHED.
054198,000369: # TFFQ1 E:(-16) M:(-15) PDL 14D
054199,000370: # TFFDELQ E:(-16) M:(-15) PDL 10D
054200,000371: # PUSHLOC AT PDL+0
054201,000372:
054202,000373: # ERASABLE INITIALIZATION REQUIRED:
054203,000374: # RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY USER
054204,000375: # VONE' E:(+10) M:(+9) VN/SQRT(NU) LEFT BY TFF/CONIC
054205,000376: # RMAG1 E:(-29) M:(-27) PRESENT RADIUS, M LEFT BY TFFCONIC
054206,000377: # C(MPAC) E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M LEFT BY USER
054207,000378:
054208,000379: # THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
054209,000380: # TFF/RTMU E:(17) M:(14) 1/SQRT(MU) LEFT BY TFFCONIC.
054210,000381: # NRMAG E:(-29+NR) M RMAG, NORMALIZED LEFT BY TFFCONIC
054211,000382: # M:(-27+NR)
054212,000383: # X1 -NR, NORM COUNT LEFT BY TFFCONIC
054213,000384: # TFFNP E:(-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC
054214,000385: # M:(-36+2N4)
054215,000386: # TFFALFA E:(26-NR) 1/M ALFA, WEIGHT NR LEFT BY TFFCONIC
054216,000387: # M:(24-NR)
054217,000388: # TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED LEFT BY TFFCONIC
054218,000389: # M:(9+NA)
054219,000390: # X2 -NA, NORMCOUNT LEFT BY TFFCONIC
054220,000391: # TFF1/ALF E:(-22-2NA) SIGNED SEMI-MAJOR AXIS, WEIGHTED BY NA LEFT BY TFFCONIC
054221,000392: # M:(-20-2NA)
054222,000393:
054223,000394: # DEBRIS: QPRET, PDL+0 ... PDL+3
054224,000395: # RTERM E:(-29) M(-27) RTERM, TERMINAL RADIUS LENGTH
054225,000396: # RAPO E:(-29) M(-27) PDL 16D (=NRTERM)
054226,000397: # RPER E:(-29) M(-27) PDL 14D (=TFFQ1)
054227,000398:
054228,000399: # Page 1277
054229,000400: 27,3465 77614 CALCTPER SETGO # ENTER WITH RPER IN MPAC
054230,000401: 27,3466 03436 TFFSW
054231,000402: 27,3467 57472 +3
054232,000403: 27,3470 77614 CALCTFF CLEAR # ENTER WITH RTERM IN MPAC
054233,000404: 27,3471 03676 TFFSW
054234,000405: 27,3472 00023 +3 STORE RTERM # E:(-29) M:(-27)
054235,000406: 27,3473 77657 SL*
054236,000407: 27,3474 20201 0,1 # X1=-NR
054237,000408: 27,3475 00021 STORE NRTERM # RTERM E:(-29+NR) M:(-27+NR)
054238,000409: 27,3476 44205 DMP BDSU
054239,000410: 27,3477 00033 TFFALFA # ALFA E:(26-NR) M:(24-NR)
054240,000411: 27,3500 06512 TFF1/4
054241,000412: 27,3501 41206 PUSH DMP # (2-ALFA RTERM) (-3) TO PDL+0
054242,000413: 27,3502 00021 NRTERM # E:(-29+NR) M:(-27+NR)
054243,000414: 27,3503 53725 PDDL SR* # RTERM(2-ALFA RTERM) TO PDL+2
054244,000415: # E:(-32+NR) M:(-30+NR)
054245,000416: 27,3504 00035 TFFNP # LC P E:(-38+2NR) M:(-36+2NR)
054246,000417: 27,3505 20573 0 -6,1 # X1 = -NR
054247,000418: 27,3506 43276 DCOMP DAD # DUE TO SHIFTS, KEEP PRECISION FOR SQRT
054248,000419: # RTERM(2-ALFA RTERM) FROM PDL +2
054249,000420: # E:(-32+NR) M:(-30+NR)
054250,000421: 27,3507 77657 SR* # LEAVE E:(-32) M:(-30)
054251,000422: 27,3510 20601 0,1 # X1 = -NR
054252,000423: 27,3511 71214 BOFF DLOAD # CHECK TFF /TPER SWITCH
054253,000424: 27,3512 03756 TFFSW
054254,000425: 27,3513 57515 +2 # IF TFF, CONTINUE
054255,000426: 27,3514 06522 TFFZEROS # IF TPER, SET Q2 = 0
054256,000427: 27,3515 75440 +2 BMN SQRT # E:(-16) M:(-15)
054257,000428:
054258,000429: 27,3516 57650 MAXTFF1 # NO FREE FALL CONIC TO RTERM FROM HERE
054259,000430: # RESET PDL, SET TFF=POSMAX, AND EXIT.
054260,000431:
054261,000432: 27,3517 41076 DCOMP BOVB # RT IS ON INBOUND SIDE. ASSURE OVFIND=0
054262,000433: 27,3520 57753 TCDANZIG # ANY PORT IN A STORM.
054263,000434: 27,3521 24045 STOVL TFFTEM # Q2 E:(-16) M:(-15)
054264,000435: 27,3522 02170 VONE' # VN/SQRT(MU) E:(10) M:(9)
054265,000436: 27,3523 52441 DOT SL3
054266,000437: 27,3524 02207 RONE # SAVED RN. E:(-29) M:(-27)
054267,000438: 27,3525 00017 STORE TFFQ1 # Q1, SAVE FOR GONEPAST TEST.
054268,000439: # E:(-16) M:(-15)
054269,000440: 27,3526 44240 BMN BDSU
054270,000441: 27,3527 57550 INBOUND # USE ALTERNATE Z
054271,000442: 27,3530 00045 TFFTEM # Q2 E:(-16) M:(-15)
054272,000443:
054273,000444: # OUTBOUND Z CALC CONTINUES HERE
054274,000445:
054275,000446: 27,3531 14043 STODL TFFX # NUM=Q2-Q1 E:(-16) M:(-15)
054276,000447: 27,3532 00033 TFFALFA # ALFA E:(26-NR) M:(24-NR)
054277,000448: 27,3533 44205 DMP BDSU
054278,000449: # Page 1278
054279,000450: 27,3534 00041 NRMAG # RMAG E:(-29+NR) M:(-27+NR)
054280,000451: # (2-RTERM ALFA) (-3) FROM PDL+0
054281,000452: 27,3535 51406 SAVEDEN PUSH ABS # DEN TO PDL+0 E:(-3) OR (-16)
054282,000453: # M:(-3) OR (-15)
054283,000454: 27,3536 40015 DAD BOV # INDETERMINANCY TEST
054284,000455: 27,3537 17757 LIM(-22) # =1.0-B(-22)
054285,000456: 27,3540 57561 TFFXTEST # GO IF DEN >/= B(-22)
054286,000457: 27,3541 65345 DLOAD PDDL # SET DEN=0 OTHERWISE
054287,000458: 27,3542 06522 TFFZEROS
054288,000459: # XCH ZERO WITH PDL+0
054289,000460: 27,3543 57545 DLOAD DCOMP
054290,000461: 27,3544 00033 TFFALFA # ALFA E:(26-NR) M:(24-NR)
054291,000462: 27,3545 71240 BMN DLOAD # FOR TPER: Z INDET AT DELE/2=0 AND 90.
054292,000463: 27,3546 57655 TFFEL1 # ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N
054293,000464:
054294,000465: # Z INDET. AT PERIGEE FOR PARAB OR HYPERB.
054295,000466: 27,3547 77616 DUMPTFF1 RVQ # RETURN TFF =0
054296,000467:
054297,000468: # INBOUND Z CALC CONTINUES HERE
054298,000469:
054299,000470: 27,3550 77745 INBOUND DLOAD # RESET PDL+0
054300,000471: 27,3551 45345 DLOAD DSU # ALTERNATE Z CALC
054301,000472: 27,3552 00023 RTERM # E:(-29) M:(-27)
054302,000473: 27,3553 00015 RMAG1 # E:(-29) M:(-27)
054303,000474: 27,3554 14043 STODL TFFX # NUM=RTERM-RN E:(-29) M:(-27)
054304,000475: 27,3555 00045 TFFTEM # Q2 E:(-16) M:(-15)
054305,000476: 27,3556 52015 DAD GOTO
054306,000477: 27,3557 00017 TFFQ1 # Q1 E:(-16) M:(-15)
054307,000478: 27,3560 57535 SAVEDEN # DEN = Q2+Q1 E:(-16) M:(-15)
054308,000479:
054309,000480: 27,3561 65215 TFFXTEST DAD PDDL # (ABS(DEN) TO PDL+2) E:(-3) OR (-16)
054310,000481: # M:(-3) OR (-15)
054311,000482: 27,3562 17761 DP(-22) # RESTORE ABS(DEN) TO MPAC
054312,000483: 27,3563 00043 TFFX # NUM E:(-16) OR (-29) M:(-15) OR (-27)
054313,000484: 27,3564 53605 DMP SR*
054314,000485: 27,3565 00031 TFFRTALF # SQRT(ALFA) E:(10+NA) M:(9+NA)
054315,000486: 27,3566 57201 0 -3,2 # X2=-NA
054316,000487: 27,3567 77671 DDV # C(MPAC) =NUM SQRT(ALFA) E:(-3) OR (-16)
054317,000488: # M:(-3) OR (-15)
054318,000489: # ABS(DEN) FROM PDL+2 E:(-3) OR (-16)
054319,000490: # M:(-3) OR (-15)
054320,000491: 27,3570 40145 DLOAD BOV # (THE DLOAD IS SHARED WITH TFFELL)
054321,000492: 27,3571 00043 TFFX # NUM E:(-16) OR (-29) M:(-15) OR (-27)
054322,000493: 27,3572 57653 TFFELL # USE EQN FOR DELE GEQ 90, LEQ -90
054323,000494:
054324,000495: # OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN
054325,000496:
054326,000497: 27,3573 45471 DDV STADR
054327,000498: # DEN FROM PDL+0 E:(-3) OR (-16)
054328,000499: # M:(-3) OR (-15)
054329,000500: 27,3574 77732 STORE TFFTEM # Z SAVE FOR SIGN OF SDELF.
054330,000501: # Page 1279
054331,000502: # E:(-13) M:(-12)
054332,000503: 27,3575 63406 PUSH DSQ # Z TO PDL+0
054333,000504: 27,3576 41206 PUSH DMP # Z SQ TO PDL+2 E:(-26) M:(-24)
054334,000505: 27,3577 00035 TFFNP # LC P E:(-38+2NR) M:(-36+NR)
054335,000506: 27,3600 75261 SL SIGN
054336,000507: 27,3601 20206 5
054337,000508: 27,3602 00045 TFFTEM # AFFIX SIGN FOR SDELF (ENTRY DISPLAY)
054338,000509: 27,3603 14045 STODL TFFTEM # P ZSQ E:(-59+2NR) M:(-55+2NR)
054339,000510: # (ARG IS USED IN TFF/TRIG)
054340,000511: # ZSQ FROM PDL+2 E:(-26) M:(-24)
054341,000512: 27,3604 41206 PUSH DMP # RESTORE PUSH LOC
054342,000513: 27,3605 00033 TFFALFA # ALFA E:(26-NR) M:(24-NR)
054343,000514: 27,3606 77657 SL*
054344,000515: 27,3607 20201 0,1 # X1=-NR
054345,000516: 27,3610 00043 STORE TFFX # X
054346,000517: 27,3611 41234 RTB DMP
054347,000518: 27,3612 57735 T(X) # POLY
054348,000519: # ZSQ FROM PDL+2 E:(-26) M:(-24)
054349,000520: 27,3613 44302 SR2 BDSU # 2 ZSQ T(X) E:(-29) M:(-27)
054350,000521: 27,3614 00023 RTERM # RTERM E:(-29) M:(-27)
054351,000522: 27,3615 41215 DAD DMP
054352,000523: 27,3616 00015 RMAG1 # E:(-29) M:(-27)
054353,000524: # Z FROM PDL+0 E:(-13) M:(-12)
054354,000525: 27,3617 51042 SR3 BPL # TFF SQRT(MU) E:(-45) M:(-42)
054355,000526: 27,3620 57641 ENDTFF # (NO PUSH UP)
054356,000527: 27,3621 75206 PUSH SIGN # TFF SQRT(MU) TO PDL+0
054357,000528: 27,3622 00017 TFFQ1 # Q1 FOR GONEPAST TEST
054358,000529: 27,3623 71244 BPL DLOAD # GONE PAST ?
054359,000530: 27,3624 57645 NEGTFF # YES. TFF < 0.
054360,000531: 27,3625 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
054361,000532: 27,3626 51076 DCOMP BPL # ALFA > 0 ?
054362,000533: 27,3627 57645 NEGTFF # NO. TFF IS NEGATIVE.
054363,000534:
054364,000535: # CORRECT FOR ORBITAL PERIOD.
054365,000536:
054366,000537: 27,3630 77676 DCOMP # YES. CORRECT FOR ORB PERIOD.
054367,000538: 27,3631 56205 DMP DDV
054368,000539: 27,3632 17755 PI/16 # 2 PI (-5)
054369,000540: 27,3633 00031 TFFRTALF # SQRT(ALFA) E:(10+NA) M:(9+NA)
054370,000541: 27,3634 53657 SL* SL*
054371,000542: 27,3635 57602 0 -4,2 # X2=-NA
054372,000543: 27,3636 57602 0 -4,2
054373,000544: 27,3637 43257 SL* DAD
054374,000545: 27,3640 57576 0,2
054375,000546: # TFF SQRT(MU) FROM PDL+0 E:(-45) M:(-42)
054376,000547: 27,3641 40005 ENDTFF DMP BOV # TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
054377,000548: 27,3642 00037 TFF/RTMU # E:(17) M:(14)
054378,000549: 27,3643 57651 MAXTFF # SET POSMAX IN OVFL.
054379,000550:
054380,000551: 27,3644 77616 DUMPTFF2 RVQ # RETURN TFF (-28) CS IN MPAC.
054381,000552:
054382,000553: # Page 1280
054383,000554: 27,3645 77745 NEGTFF DLOAD
054384,000555: # TFF SQRT(MU) FROM PDL+0, NEGATIVE.
054385,000556: 27,3646 77650 GOTO
054386,000557: 27,3647 57641 ENDTFF
054387,000558:
054388,000559: 27,3650 77745 MAXTFF1 DLOAD # RESET PDL
054389,000560: 27,3651 43545 MAXTFF DLOAD RVQ
054390,000561: 27,3652 17771 NEARONE
054391,000562:
054392,000563: # TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90.
054393,000564:
054394,000565: # NUM FROM TFFX. E:(-16) OR (-29)
054395,000566: # M:(-15) OR (-27)
054396,000567: 27,3653 77712 TFFELL SL2 # NUM E:(-14) OR (-27) M:(-13) OR (-25)
054397,000568: 27,3654 41465 BDDV PUSH # TEMP SAVE D/N IN PDL+0
054398,000569: # DEN FROM PDL+0 E:(-3)/(-16) M:(-3)/(-15)
054399,000570: # N/D TO PDL+0 E:(11) M:(10)
054400,000571: 27,3655 45345 TFFEL1 DLOAD DSU # (ENTER WITH D/N=0 IN PDL+0)
054401,000572: 27,3656 00045 TFFTEM # Q2 E:(-16) M:(-15)
054402,000573: 27,3657 00017 TFFQ1 # Q1 E:(-16) M:(-15)
054403,000574: 27,3660 14013 STODL TFFDELQ # Q2-Q1 E:(-16) M:(-15)
054404,000575: # D/N FROM PDL+0
054405,000576: 27,3661 77626 STADR
054406,000577: 27,3662 77732 STORE TFFTEM # D/N E:(11) M:(10)
054407,000578: 27,3663 53605 DMP SL*
054408,000579: 27,3664 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
054409,000580: 27,3665 57576 0,2 # 1/ALFA Z E:(-11-NA) M:(-10-NA)
054410,000581: 27,3666 41206 PUSH DMP # TO PDL+0
054411,000582: 27,3667 00045 TFFTEM # 1/Z E:(11) M:(10
054412,000583: 27,3670 41057 SL* BOVB
054413,000584: 27,3671 57576 0,2 # X2= -NA
054414,000585: 27,3672 21712 SIGNMPAC # IN CASE X= 1.0, CONTINUE
054415,000586: 27,3673 00043 STORE TFFX # X=1/ALFA ZSQ
054416,000587: 27,3674 41234 RTB DMP
054417,000588: 27,3675 57735 T(X) # POLY
054418,000589: 27,3676 00043 TFFX
054419,000590: 27,3677 45242 SR3 DSU
054420,000591: 27,3700 17763 DP2(-3)
054421,000592: 27,3701 41405 DMP PUSH # 2(X T(X)-1) /Z ALFA E:(-15-NA)
054422,000593: # M:(-14-NA)
054423,000594: # 1/ALFA Z FROM PDL+0 E:(-11-NA)
054424,000595: # M:(-10-NA)
054425,000596: 27,3702 41345 DLOAD DMP # GET SIGN FOR SDELF
054426,000597: 27,3703 00045 TFFTEM # 1/Z E:(11) M:(10)
054427,000598: 27,3704 00015 RMAG1 # E:(-29) M:(-27)
054428,000599: 27,3705 43312 SL2 DAD
054429,000600: 27,3706 00017 TFFQ1 # Q1 E:(-16) M:(-15)
054430,000601: 27,3707 14045 STODL TFFTEM # (Q1+R 1/Z) =SGN OF SDELF E:(-16) M:(-15)
054431,000602: 27,3710 00035 TFFNP # LC P E:(-38+2NR) M:(-36+2NR)
054432,000603: 27,3711 53605 DMP SL* # CALC FOR ARG FOR TFF/TRIG.
054433,000604: # Page 1281
054434,000605: 27,3712 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
054435,000606: 27,3713 57575 1,2 # X2=-NA
054436,000607: 27,3714 53765 SIGN SL*
054437,000608: 27,3715 00045 TFFTEM # AFFIX SIGN FOR SDELF
054438,000609: 27,3716 57576 0,2
054439,000610: 27,3717 14045 STODL TFFTEM # P/ALFA E:(-59+2NR) M:(-55+2NR)
054440,000611: # (ARG FOR USE IN TFF/TRIG)
054441,000612: 27,3720 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
054442,000613: 27,3721 41366 SQRT DMP
054443,000614: 27,3722 17755 PI/16 # PI (-4)
054444,000615: 27,3723 77615 DAD
054445,000616: # 2(XT(X)-1)/Z ALFA FROM PDL E:(-15-NA)
054446,000617: # M:(-14-NA)
054447,000618: 27,3724 45257 SL* DSU
054448,000619: 27,3725 57577 0 -1,2
054449,000620: 27,3726 00013 TFFDELQ # Q2-Q1 E:(-16) M:(-15)
054450,000621: 27,3727 53605 DMP SL*
054451,000622: 27,3730 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
054452,000623: 27,3731 57601 0 -3,2
054453,000624: 27,3732 52057 SL* GOTO
054454,000625: 27,3733 57602 0 -4,2
054455,000626: 27,3734 57641 ENDTFF # TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
054456,000627:
054457,000628: # Page 1282
054458,000629: # PROGRAM NAME: T(X) DATE: 01.17.67
054459,000630: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
054460,000631: # MOD BY: RR BAIRNSFATHER
054461,000632:
054462,000633: # FUNCTIONAL DESCRIPTION: THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND
054463,000634: # CALCTPER TO APPROXIMATE THE SERIES
054464,000635: # 2 3
054465,000636: # 1/3 -X/5 +X /7 -X /9 ...
054466,000637:
054467,000638: # WHERE X = ALFA Z Z IF ALFA Z Z LEQ 1
054468,000639: # X = 1/(ALFA Z Z) IF ALFA Z Z G 1
054469,000640:
054470,000641: # ALSO X IS NEG FOR HYPERBOLIC ORBITS
054471,000642: # X = 0 FOR PARABOLIC ORBITS
054472,000643: # X IS POSITIVE FOR ELLIPTIC ORBITS
054473,000644:
054474,000645: # FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM
054475,000646: # DEVIATION FROM THE SERIES OF 2 E-5. (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING
054476,000647: # MAX PROGRAM AUTOCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1).)
054477,000648:
054478,000649: # CALLING SEQUENCE: RTB
054479,000650: # T(X)
054480,000651: # C(MPAC) = X
054481,000652:
054482,000653: # SUBROUTINE CALLED: NONE
054483,000654:
054484,000655: # NORMAL EXIT MODE: TC TANZIG
054485,000656:
054486,000657: # ALARMS: NONE
054487,000658:
054488,000659: # OUTPUT: C(MPAC) = T(X)
054489,000660:
054490,000661: # ERASABLE INITIALIZATION REQUIRED:
054491,000662: # C(MPAC) = X
054492,000663:
054493,000664: # DEBRIS: NONE
054494,000665:
054495,000666: 27,3735 07222 T(X) TC POLY
054496,000667: 27,3736 00004 DEC 4 B-14 # N-1
054497,000668: 27,3737 12525 12525 2DEC 3.333333333 E-1
054498,000669:
054499,000670: 27,3741 71463 57703 2DEC* -1.999819135 E-1*
054500,000671:
054501,000672: 27,3743 04423 17645 2DEC* 1.418148467 E-1*
054502,000673:
054503,000674: 27,3745 74604 43667 2DEC* -1.01310997 E-1*
054504,000675:
054505,000676: 27,3747 01626 37256 2DEC* 5.609004986 E-2*
054506,000677:
054507,000678: 27,3751 77404 52071 2DEC* -1.536156925 E-2*
054508,000679:
054509,000680: 27,3753 06061 ENDT(X) TC DANZIG
054510,000681:
054511,000682: 27,3754 27,3753 TCDANZIG = ENDT(X)
054512,000683:
054513,000684: # Page 1283
054514,000685: # TFF CONSTANTS
054515,000686:
054516,000687: 32,3773 BANK 32
054517,000688:
054518,000689: 27,2000 SETLOC TOF-FF1
054519,000690: 27,2000 BANK
054520,000691:
054521,000692: # # NOTE: ADJUSTED MUE FOR NEAR EARTH TRAJ.
054522,000693: # MUE = 3.990815471 E10 # M CUBE/CS SQ
054523,000694: # RTMUE = 1.997702549 E5 B-18* # MODIFIED EARTH MU
054524,000695:
054525,000696: # # NOTE: ADJUSTED MUE FOR NEAR EARTH TRAJ.
054526,000697: # MUM = 4.902778 E8 # M CUBE/CS SQ
054527,000698: # RTMUM 2DEC* 2.21422176 E4 B-18*
054528,000699:
054529,000700: 27,3754 06220 37553 PI/16 2DEC 3.141592653 B-4
054530,000701:
054531,000702: 27,3756 37777 37700 LIM(-22) 2OCT 3777737700 # 1.0 -B(-22)
054532,000703:
054533,000704: 27,3760 00000 00100 DP(-22) 2OCT 0000000100 # B(-22)
054534,000705:
054535,000706: 27,3762 04000 00000 DP2(-3) 2DEC 1 B-3
054536,000707:
054537,000708: 27,3764 02000 00000 DP2(-4) 2DEC 1 B-4 # 1/16
054538,000709:
054539,000710: # RPAD1 2DEC 6373338 B-29 # M (-29) = 20909901.57 FT
054540,000711:
054541,000712: 27,3766 23,2314 RPAD1 = RPAD
054542,000713:
054543,000714: 27,3766 00305 11205 R300K 2DEC 6464778 B-29 # (-29) M
054544,000715:
054545,000716: 27,3770 37777 37777 NEARONE 2DEC .999999999
054546,000717:
054547,000718: 27,3772 23,2521 TFFZEROS EQUALS HI6ZEROS
054548,000719: 27,3772 23,2511 TFF1/4 EQUALS HIDP1/4
054549,000720:
End of include-file TIME_OF_FREE_FALL.agc. Parent file is MAIN.agc