Source Code
052324,000001: # Copyright: Public domain.
052325,000002: # Filename: TIME_OF_FREE_FALL.agc
052326,000003: # Purpose: A section of Luminary 1C, revision 131.
052327,000004: # It is part of the source code for the Lunar Module's (LM)
052328,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14.
052329,000006: # This file is intended to be a faithful transcription, except
052330,000007: # that the code format has been changed to conform to the
052331,000008: # requirements of the yaYUL assembler rather than the
052332,000009: # original YUL assembler.
052333,000010: # Reference: pp. 1265-1280 of 1729.pdf.
052334,000011: # Contact: Ron Burkey <info@sandroid.org>.
052335,000012: # Website: www.ibiblio.org/apollo/index.html
052336,000013: # Mod history: 06/03/03 RSB. Began transcribing.
052337,000014: # 05/14/05 RSB Corrected website reference above
052338,000015:
052339,000016: # Page 1265
052340,000017: # THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES. THE TFF ROUTINES NEVER
052341,000018: # KNOW WHICH ORIGIN APPLIES. IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE, AND 1/SQRT(MU) AT THE
052342,000019: # APPROPIRATE SCALE LEVEL FOR THE PROPER PRIMARY BODY.
052343,000020:
052344,000021: # EARTH ORIGIN POSITION -29 METERS
052345,000022: # VELOCITY -7 METERS/CENTISECOND
052346,000023: # 1/SQRT(MU) +17 SQRT(CS SQ/METERS CUBED)
052347,000024:
052348,000025: # MOON ORIGIN POSITION -27 METERS
052349,000026: # VELOCITY -5 METERS/CENTISECONDS
052350,000027: # 1/SQRT(MU) +14 SQRT(CS SQ/METERS CUBED)
052351,000028:
052352,000029: # ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE. IN ALL CASES,
052353,000030: # THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28). PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND
052354,000031: # LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN.
052355,000032:
052356,000033: # THE USER MUST STORE THE STATE VECTOR IN RONE, VONE, AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU
052357,000034: # AT THE PROPER SCALE BEFORE CALLING TFF/CONIC. SINCE RONE, VONE ARE IN THE EXTENDED VERB STORAGE AREA,
052358,000035: # THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED.
052359,000036:
052360,000037: # PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT
052361,000038: # RADIUS. THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY.
052362,000039:
052363,000040: # THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST.
052364,000041:
052365,000042: # BELOW E: IS USED FOR EARTH ORIGIN SCALE
052366,000043: # M: IS USED FOR MOON ORIGIN SCALE
052367,000044:
052368,000045: # TFFSW = 119D # BIT1 0 = CALCTFF 1 = CALCTPER
052369,000046: 10,2213 TFFDELQ = 10D # Q2-Q1 E: (-16) M: (-15)
052370,000047: 10,2213 RMAG1 = 12D # ABVAL(RN) M E: (-29) M: (-27)
052371,000048: # RPER = 14D # PERIGEE RADIUS M E: (-29) M: (-27)
052372,000049: 10,2213 TFFQ1 = 14D # R.V / SQRT(MUE) E: (-16) M: (-15)
052373,000050: # SDELF/2 # SIN(THETA) /2
052374,000051: 10,2213 CDELF/2 = 14D # COS(THETA) /2
052375,000052: # RAPO = 16D # APOGEE RADIUS M E: (-29) M: (-27)
052376,000053: 10,2213 NRTERM = 16D # TERMINAL RADIUS M E: (-29+NR)
052377,000054: # M: (-27+NR)
052378,000055: 10,2213 RTERM = 18D # TERMINAL RADIUS M E: (-29) M: (-27)
052379,000056: 10,2213 TFFVSQ = 20D # -(V SQUARED/MU) 1/M E: (20) M: (18)
052380,000057: 10,2213 TFF1/ALF = 22D # SEMI MAJ AXIS M E: (-22-2 NA)
052381,000058: # M: (-20-2 NA)
052382,000059: 10,2213 TFFRTALF = 24D # SQRT(ALFA) E:(10+NA) M: (9+NA)
052383,000060: 10,2213 TFFALFA = 26D # ALFA 1/M E:(26-NR) M: (24-NR)
052384,000061: 10,2213 TFFNP = 28D # SEMI LATUS RECTUM M E: (-38+2 NR)
052385,000062: # M: (-36+2 NR)
052386,000063: 10,2213 TFF/RTMU = 30D # 1/SQRT(MU) E: (17) M: (14)
052387,000064: 10,2213 NRMAG = 32D # PRESENT RADIUS M E: (-29+NR)
052388,000065: # M: (-27+NR)
052389,000066: 10,2213 TFFX = 34D
052390,000067: 10,2213 TFFTEM = 36D # TEMPORARY
052391,000068: # Page 1266
052392,000069: # REGISTERS S1, S2 ARE UNTOUCED BY ANY TFF SUBROUTINE
052393,000070: # INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES. THEY ARE ESTAB-
052394,000071: # LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
052395,000072: # SUBROUTINES.
052396,000073: # -NR C(X1) = NORM COUNT OF RMAG
052397,000074: # -NA C(X2) = NORM COUNT OF SQRT(ABS(ALFA))
052398,000075:
052399,000076: # Page 1267
052400,000077: # SUBROUTINE NAME: TFFCONIC DATE: 01.29.67
052401,000078: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
052402,000079: # MOD BY: RR BAIRNSFATHER
052403,000080: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
052404,000081: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD MOON MU.
052405,000082: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
052406,000083:
052407,000084: # FUNCTIONAL DESCRIPTION: THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF
052408,000085: # SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA. THE PARAMETERS ARE LISTED UNDER OUTPUT.
052409,000086: # THE EQUATIONS ARE:
052410,000087: # _ __ __
052411,000088: # H = RN*VN ANGULAR MOMENTUM
052412,000089: # _ _
052413,000090: # LCP = H.H / MU SEMI LATUS RECTUM
052414,000091: # __ __
052415,000092: # ALFA = 2/RN - VN.VN / MU RECIPROCAL SEMI-MAJOR AXIS, SIGNED
052416,000093:
052417,000094: # AND ALFA IS POS FOR ELLIPTIC ORBITS
052418,000095: # 0 FOR PARABOLIC ORBITS
052419,000096: # NEG FOR HYPERBOLIC ORBITS
052420,000097: # SUBROUTINE ALSO COMPUTES AND SAVES RMAG.
052421,000098:
052422,000099: # CALLING SEQUENCE:
052423,000100: # TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM
052424,000101: # 1/SQRT(MU). THE PROGRAM WILL SAVE IN TFF/RTMU. THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON
052425,000102: # ORIGIN IS USED. THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE,
052426,000103: # VONE AT PROPER SCALE. THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE
052427,000104: # TFF ROUTINES.
052428,000105:
052429,000106: # ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED.
052430,000107:
052431,000108: # TO SPECIFY MU: DLOAD CALL # IF MU ALREADY STORED: CALL
052432,000109: # YOURMU # 1/RTMU E:(17) M:(14) TFFCONMU
052433,000110: # TFFCONIC
052434,000111: # PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D
052435,000112:
052436,000113: # SUBROUTINES CALLED: NONE
052437,000114:
052438,000115: # NORMAL EXIT MODES: RVQ
052439,000116:
052440,000117: # ALARMS: NONE
052441,000118:
052442,000119: # OUTPUT: THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
052443,000120: # RMAG1 E:(-29) M:(-27) M RN, PRESENT RADIUS LENGTH.
052444,000121: # NRMAG E:(-29+NR) M RMAG, NORMALIZED
052445,000122: # M:(-27+NR)
052446,000123: # X1 -NR, NORM COUNT
052447,000124: # TFFNP E:(-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHTED BY NR. FOR VGAMCALC.
052448,000125: # M:(-36+2NR)
052449,000126: # TFF/RTMU E:(17) M:(14) 1/SQRT(MU)
052450,000127: # TFFVSQ E:(20) M:(18) 1/M -(V SQ/MU): PRESENT VELOCITY, NORMALIZED. FOR VGAMCALC
052451,000128: # TFFALFA E:(26-NR) 1/M ALFA, WEIGHTED BY NR
052452,000129: # M:(24-NR)
052453,000130: # TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED
052454,000131: # M:(9+NA)
052455,000132: # Page 1268
052456,000133: # X2 -NA, NORMCOUNT
052457,000134: # TFF1/ALF E:(-22-2NA) SIGNED SEMI-MAJOR AXIS, WEIGHTED BY NA
052458,000135: # M:(-20-2NA)
052459,000136: # PUSHLOC AT PDL+0
052460,000137:
052461,000138: # THE FOLLOWING IS STORED IN GENERAL ERASABLE
052462,000139: # VONE' E:(10) M:(9) V/RT(MU), NORMALIZED VELOCITY
052463,000140:
052464,000141: # ERASABLE INITIALIZATION REQUIRED:
052465,000142: # RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY CALLER
052466,000143: # VONE E:(-7) M:(-5) M/CS STATE VECTOR LEFT BY CALLER
052467,000144: # TFF/RTMU E:(17) M:(14) 1/RT(CS SQ/M CUBE) IF ENTER VIA TFFCONMU.
052468,000145:
052469,000146: # DEBRIS: QPRET PDL+0 ... PDL+3
052470,000147:
052471,000148: 33,3760 BANK 33
052472,000149: 27,2000 SETLOC TOF-FF
052473,000150: 27,2000 BANK
052474,000151:
052475,000152: 27,3361 COUNT* $$/TFF
052476,000153:
052477,000154: 27,3361 00037 TFFCONIC STORE TFF/RTMU # 1/SQRT(MU) E:(17) M:(14)
052478,000155:
052479,000156: 27,3362 53575 TFFCONMU VLOAD UNIT # COME HERE WITH TFFRTMU LOADED.
052480,000157: 27,3363 02207 RONE # SAVED RN. M E:(-29) M:(-27)
052481,000158: 27,3364 77725 PDDL # UR/2 TO PDL+0, +5
052482,000159: 27,3365 00045 36D # MAGNITUDE
052483,000160: 27,3366 00015 STORE RMAG1 # M E:(-29) M:(-27)
052484,000161:
052485,000162: 27,3367 77701 NORM
052486,000163: 27,3370 00047 X1 # -NR
052487,000164: 27,3371 24041 STOVL NRMAG # RMAG M E:(-29+NR) M:(-27+NR)
052488,000165: 27,3372 02215 VONE # SAVED VN. M/CS E:(-7) M:(-5)
052489,000166: 27,3373 77761 VXSC
052490,000167: 27,3374 00037 TFF/RTMU # E:(17) M:(14)
052491,000168: 27,3375 02170 STORE VONE' # VN/SQRT(MU) E:(10) M:(9)
052492,000169:
052493,000170: 27,3376 47361 VXSC VXV
052494,000171: 27,3377 00041 NRMAG # E:(-29+NR) M:(-27+NR)
052495,000172: # UR/2 FROM PDL
052496,000173: 27,3400 47572 VSL1 VSQ # BEFORE: E:(-19+NR) M:(-18+NR)
052497,000174: 27,3401 14035 STODL TFFNP # LC P M E:(-38+2NR) M:(-36+2NR)
052498,000175: # SAVE ALSO FOR VGAMCALC
052499,000176: 27,3402 06514 TFF1/4
052500,000177: 27,3403 63271 DDV PDVL # (2/RMAG) 1/M E:(26-NR) M:(24-NR)
052501,000178: 27,3404 00041 NRMAG # RMAG M E:(-29+NR) M:(-27+NR)
052502,000179: 27,3405 02170 VONE' # SAVED VN. E:(10) M:(9)
052503,000180: 27,3406 57436 VSQ DCOMP # KEEP MPAC+2 HONEST FOR SQRT.
052504,000181: 27,3407 00025 STORE TFFVSQ # -(V SQ/MU) E:(20) M:(18)
052505,000182: # SAVE FOR VGAMCALC
052506,000183: 27,3410 43257 SR* DAD
052507,000184: # Page 1269
052508,000185: 27,3411 20573 0 -6,1 # GET -VSQ/MU E:(26-NR) M:(24-NR)
052509,000186: 27,3412 77626 STADR
052510,000187: # 2/RMAG FROM PDL+2
052511,000188: 27,3413 77744 STORE TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR)
052512,000189: 27,3414 41457 SL* PUSH # TEMP SAVE ALFA E:(20) M:(18)
052513,000190: 27,3415 20173 0 -6,1
052514,000191: 27,3416 75446 ABS SQRT # E:(10) M:(9)
052515,000192: 27,3417 77701 NORM
052516,000193: 27,3420 00050 X2 # X2 = -NA
052517,000194: 27,3421 00031 STORE TFFRTALF # SQRT( ABS(ALFA) ) E:(10+NA) M:(9+NA)
052518,000195: 27,3422 75316 DSQ SIGN # NOT SO ACCURATE, BUT OK
052519,000196: # ALFA FROM PDL+2 E:(20) M:(18)
052520,000197: 27,3423 55254 BZE BDDV # SET 1/ALFA =0, TO SHOW SMALL ALFA
052521,000198: 27,3424 57426 +2
052522,000199: 27,3425 06514 TFF1/4
052523,000200: 27,3426 00027 +2 STORE TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
052524,000201: 27,3427 77616 DUMPCNIC RVQ
052525,000202:
052526,000203: # Page 1270
052527,000204: # SUBROUTINE NAME: TFFRP/RA DATE: 01.17.67
052528,000205: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
052529,000206: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
052530,000207: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
052531,000208: # ALSO IMPROVE ACCURACY OF RAPO.
052532,000209:
052533,000210: # FUNCTIONAL DESCRIPTION: USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO
052534,000211: # APOGEE RADIUS FOR A GENERAL CONIC.
052535,000212: # PROGRAM GIVES PERIGEE RADIUS AS APOGEE RADIUS IS GIVEN BY
052536,000213: # RP = P/(1+E) RA = (1+E) / ALFA
052537,000214: # WHERE 2
052538,000215: # E = 1 - P ALFA
052539,000216: # IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE
052540,000217: # 1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA
052541,000218: # 2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA
052542,000219: # 3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE.
052543,000220:
052544,000221: # THIS SUBROUTINE REQUIRED THE SIGNED RECIPROCAL SEMI-MAJOR AXIS, ALFA, AND SEMI-LATUS RECTUM AS DATA.
052545,000222:
052546,000223: # CALLING SEQUENCE: CALL
052547,000224: # TFFRP/RA
052548,000225: # PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D
052549,000226: # C(MPAC) UNSPECIFIED
052550,000227:
052551,000228: # SUBROUTINES CALLED: NONE
052552,000229:
052553,000230: # NORMAL EXIT MODE: RVQ
052554,000231: # IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT.
052555,000232: # OTHERWISE, RAPO = POSMAX.
052556,000233:
052557,000234: # ALARMS: NONE
052558,000235:
052559,000236: # OUTPUT: STORED IN PUSH LIST AREA. SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC.
052560,000237: # RPER E:(-29) M:(-27) M PERIGEE RADIUS DESTROYED BY CALCTFF/CALCTPER, TFFTRIG.
052561,000238: # RAPO E:(-29) M:(-27) M APOGEE RADIUS WILL BE DESTROYED BY CALCTFF/CALCTPER
052562,000239: # PUSHLOC AT PDL+0
052563,000240:
052564,000241: # ERASABLE INITIALIZATION REQUIRED:
052565,000242: # TFFALFA E:(26-NR) M 1/SEMI-MAJOR AXIS LEFT BY TFFCONIC
052566,000243: # M:(24-NR)
052567,000244: # TFFNP E:(-38+2NR) M LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC
052568,000245: # M:(-36+2NR)
052569,000246: # X1 -NR, NORM COUNT OF RMAG LEFT BY TFFCONIC
052570,000247: # X2 -NA, NORM COUNT OF ALFA LEFT BY TFFCONIC
052571,000248:
052572,000249: # DEBRIS: QPRET, PDL+0 ... PDL+1
052573,000250:
052574,000251: # Page 1271
052575,000252: 27,3430 RAPO = 16D # APOGEE RADIUS M E:(-29) M:(-27)
052576,000253: 27,3430 RPER = 14D # PERIGEE RADIUS M E:(-29) M:(-27)
052577,000254:
052578,000255: 27,3430 41345 TFFRP/RA DLOAD DMP
052579,000256: 27,3431 00033 TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR)
052580,000257: 27,3432 00035 TFFNP # LC P M E:(-38+2NR) M:(-36+2NR)
052581,000258: 27,3433 57457 SR* DCOMP # ALFA P (-12+NR)
052582,000259: 27,3434 20571 0 -8D,1 # ALFA P (-4)
052583,000260: 27,3435 51415 DAD ABS # (DCOMP GIVES VALID TP RESULT FOR SQRT)
052584,000261: # (ABS PROTECTS SQRT IF E IS VERY NEAR 0)
052585,000262: 27,3436 17766 DP2(-4)
052586,000263: 27,3437 43366 SQRT DAD # E SQ = (1- P ALFA) (-4)
052587,000264: 27,3440 06514 TFF1/4
052588,000265: 27,3441 55206 PUSH BDDV # (1+E) (-2) TO PDL+0
052589,000266: 27,3442 00035 TFFNP # LCP M E:(-38+2NR) M:(-36+2NR)
052590,000267: 27,3443 53657 SR* SR* # (DOES SR THEN SL TO AVOID OVFL)
052591,000268: 27,3444 20601 0,1 # X1=-NR
052592,000269: 27,3445 20572 0 -7,1 # (EFFECTIVE SL)
052593,000270: 27,3446 14017 STODL RPER # PERIGEE RADIUS M E:(-29) M:(-27)
052594,000271: # (1+E) (-2) FROM PDL+0
052595,000272: 27,3447 41005 DMP BOVB
052596,000273: 27,3450 00027 TFF1/ALF # E:(-22-2NA) M:(-20-2NA)
052597,000274: 27,3451 57754 TCDANZIG # CLEAR OVFIND, IF ON.
052598,000275: 27,3452 53654 BZE SL*
052599,000276: 27,3453 57462 MAXRA # SET POSMAX IF ALFA=0
052600,000277: 27,3454 57603 0 -5,2 # -5+NA
052601,000278: 27,3455 40057 SL* BOV
052602,000279: 27,3456 57576 0,2
052603,000280: 27,3457 57462 MAXRA # SET POSMAX IF OVFL.
052604,000281: 27,3460 77644 BPL # CONTINUE WITH VALID RAPO.
052605,000282: 27,3461 57464 +3
052606,000283: 27,3462 77745 MAXRA DLOAD # RAPO CALC IS NOT VALID. SET RAPO =
052607,000284: 27,3463 17772 NEARONE # POSMAX AS A TAG.
052608,000285: 27,3464 00021 +3 STORE RAPO # APOGEE RADIUS M E:(-29) M:(-27)
052609,000286: 27,3465 77616 DUMPRPRA RVQ
052610,000287:
052611,000288: # Page 1272
052612,000289: # SUBROUTINE NAME: CALCTPER / CALCTFF DATE: 01.29.67
052613,000290: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
052614,000291: # MOD BY: RR BAIRNSFATHER
052615,000292: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67
052616,000293: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67
052617,000294: # MOD BY: 3 MOD BY: RR BAIRNSFATHER DATE: 8 JUL 67 NEAR EARTH MUE AND NEG TFF (GONEPAST)
052618,000295: # MOD BY: 4 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD VARIABLE MU.
052619,000296: # MOD BY: 5 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
052620,000297:
052621,000298: # FUNCTIONAL DESCRIPTION: PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND
052622,000299: # VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM, SUPPLIED BY THE USER. THE POSITION VECTOR
052623,000300: # RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE.
052624,000301: # THE EQUATIONS ARE:
052625,000302:
052626,000303: # Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP) (INBOUND SIDE) LEQ +- LCE/SQRT(ALFA)
052627,000304: # __ __
052628,000305: # Q1 = RN.VN / SQRT(MU) LEQ +- LCE/SQRT(ALFA)
052629,000306:
052630,000307: # Z = NUM / DEN LEQ +- 1/SQRT(ALFA)
052631,000308:
052632,000309: # WHERE, IF INBOUND
052633,000310: # NUM = RTERM -RN LEQ +- 2 LCE/ALFA
052634,000311: # DEN = Q2+Q1 LEQ +- 2 LCE/SQRT(ALFA)
052635,000312:
052636,000313: # AND, IF OUTBOUND
052637,000314: # NUM = Q2-Q1 LEQ +- 2 LCE/SQRT(ALFA)
052638,000315: # DEN = 2 - ALFA (RTERM + RN). LEQ +- 2 LCE
052639,000316:
052640,000317: # IF ALFA ZZ < 1.0 (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG)
052641,000318: # THEN X = ALFA Z Z
052642,000319: # AND TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU)
052643,000320: # EXCEPT IF ALFA PNZ, AND IF TFF NEG,
052644,000321: # THEN TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF
052645,000322: # OR IF ALFA ZZ GEQ 1.0 (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG)
052646,000323: # THEN X = 1/ALFA Z Z
052647,000324: # AND TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU)
052648,000325: # WHERE T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES
052649,000326: # 2 3 2
052650,000327: # 1/3 - X/5 + X /7 - X /8 ... (X < 1.0)
052651,000328:
052652,000329: # CALLING SEQUENC: TIME TO RTERM TIME TO PERIGEE
052653,000330: # CALL CALL
052654,000331: # CALCTFF CALCTPER
052655,000332: # C(MPAC) = TERMNL RAD M C(MPAC) = PERIGEE RAD M
052656,000333: # FOR EITHER, E:(-29) M:(-27)
052657,000334: # FOR EITHER, PUSHLOC = PDL+0, ARBITRARY IF LEQ 8D.
052658,000335: # Page 1273
052659,000336:
052660,000337: # SUBROUTINES CALLED: T(X), VIA RTB
052661,000338:
052662,000339: # NORMAL EXIT MODE: RVQ
052663,000340: # HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC. USER MUST STORE.
052664,000341: # A. TFF = FLIGHT TIME. NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD.
052665,000342: # B. (THIS OPTION IS NO LONGER USED.)
052666,000343: # C. TFF = POSMAX. THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO
052667,000344: # THE SPECIFIED ALTITUDE. ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA.
052668,000345:
052669,000346: # OUTPUT: C(MPAC) (-28) CS TIME OF FLIGHT, OR TIME TO PERIGEE
052670,000347: # TFFX (0) X LEFT FOR ENTRY DISPLAY TFF ROUTINES
052671,000348: # NRTERM E:(-29+NR) M RTERM, WEIGHTED BY NR LEFT FOR ENTRY DISPLAY TFF ROUTINES
052672,000349: # M:(-27+NR)
052673,000350: # TFFTEM E:(-59+2NR) LCP Z Z SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES
052674,000351: # M:(-55+2NR) LCP /ALFA SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES
052675,000352: # NOTE: TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:.
052676,000353: # RMAG1 E:(-29) M:(-27) PDL 12 NOT TOUCHED.
052677,000354: # TFFQ1 E:(-16) M:(-15) PDL 14D
052678,000355: # TFFDELQ E:(-16) M:(-15) PDL 10D
052679,000356: # PUSHLOC AT PDL+0
052680,000357:
052681,000358: # ERASABLE INITIALIZATION REQUIRED:
052682,000359: # RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY USER
052683,000360: # VONE' E:(+10) M:(+9) VN/SQRT(NU) LEFT BY TFF/CONIC
052684,000361: # RMAG1 E:(-29) M:(-27) PRESENT RADIUS, M LEFT BY TFFCONIC
052685,000362: # C(MPAC) E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M LEFT BY USER
052686,000363:
052687,000364: # THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
052688,000365: # TFF/RTMU E:(17) M:(14) 1/SQRT(MU) LEFT BY TFFCONIC.
052689,000366: # NRMAG E:(-29+NR) M RMAG, NORMALIZED LEFT BY TFFCONIC
052690,000367: # M:(-27+NR)
052691,000368: # X1 -NR, NORM COUNT LEFT BY TFFCONIC
052692,000369: # TFFNP E:(-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC
052693,000370: # M:(-36+2N4)
052694,000371: # TFFALFA E:(26-NR) 1/M ALFA, WEIGHT NR LEFT BY TFFCONIC
052695,000372: # M:(24-NR)
052696,000373: # TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED LEFT BY TFFCONIC
052697,000374: # M:(9+NA)
052698,000375: # X2 -NA, NORMCOUNT LEFT BY TFFCONIC
052699,000376: # TFF1/ALF E:(-22-2NA) SIGNED SEMI-MAJOR AXIS, WEIGHTED BY NA LEFT BY TFFCONIC
052700,000377: # M:(-20-2NA)
052701,000378:
052702,000379: # DEBRIS: QPRET, PDL+0 ... PDL+3
052703,000380: # RTERM E:(-29) M(-27) RTERM, TERMINAL RADIUS LENGTH
052704,000381: # RAPO E:(-29) M(-27) PDL 16D (=NRTERM)
052705,000382: # RPER E:(-29) M(-27) PDL 14D (=TFFQ1)
052706,000383:
052707,000384: # Page 1274
052708,000385: 27,3466 77614 CALCTPER SETGO # ENTER WITH RPER IN MPAC
052709,000386: 27,3467 03436 TFFSW
052710,000387: 27,3470 57473 +3
052711,000388: 27,3471 77614 CALCTFF CLEAR # ENTER WITH RTERM IN MPAC
052712,000389: 27,3472 03676 TFFSW
052713,000390: 27,3473 00023 +3 STORE RTERM # E:(-29) M:(-27)
052714,000391: 27,3474 77657 SL*
052715,000392: 27,3475 20201 0,1 # X1=-NR
052716,000393: 27,3476 00021 STORE NRTERM # RTERM E:(-29+NR) M:(-27+NR)
052717,000394: 27,3477 44205 DMP BDSU
052718,000395: 27,3500 00033 TFFALFA # ALFA E:(26-NR) M:(24-NR)
052719,000396: 27,3501 06514 TFF1/4
052720,000397: 27,3502 41206 PUSH DMP # (2-ALFA RTERM) (-3) TO PDL+0
052721,000398: 27,3503 00021 NRTERM # E:(-29+NR) M:(-27+NR)
052722,000399: 27,3504 53725 PDDL SR* # RTERM(2-ALFA RTERM) TO PDL+2
052723,000400: # E:(-32+NR) M:(-30+NR)
052724,000401: 27,3505 00035 TFFNP # LC P E:(-38+2NR) M:(-36+2NR)
052725,000402: 27,3506 20573 0 -6,1 # X1 = -NR
052726,000403: 27,3507 43276 DCOMP DAD # DUE TO SHIFTS, KEEP PRECISION FOR SQRT
052727,000404: # RTERM(2-ALFA RTERM) FROM PDL +2
052728,000405: # E:(-32+NR) M:(-30+NR)
052729,000406: 27,3510 77657 SR* # LEAVE E:(-32) M:(-30)
052730,000407: 27,3511 20601 0,1 # X1 = -NR
052731,000408: 27,3512 71214 BOFF DLOAD # CHECK TFF /TPER SWITCH
052732,000409: 27,3513 03756 TFFSW
052733,000410: 27,3514 57516 +2 # IF TFF, CONTINUE
052734,000411: 27,3515 06524 TFFZEROS # IF TPER, SET Q2 = 0
052735,000412: 27,3516 75440 +2 BMN SQRT # E:(-16) M:(-15)
052736,000413: 27,3517 57651 MAXTFF1 # NO FREE FALL CONIC TO RTERM FROM HERE
052737,000414: # RESET PDL, SET TFF=POSMAX, AND EXIT.
052738,000415:
052739,000416: 27,3520 41076 DCOMP BOVB # RT IS ON INBOUND SIDE. ASSURE OVFIND=0
052740,000417: 27,3521 57754 TCDANZIG # ANY PORT IN A STORM.
052741,000418: 27,3522 24045 STOVL TFFTEM # Q2 E:(-16) M:(-15)
052742,000419: 27,3523 02170 VONE' # VN/SQRT(MU) E:(10) M:(9)
052743,000420: 27,3524 52441 DOT SL3
052744,000421: 27,3525 02207 RONE # SAVED RN. E:(-29) M:(-27)
052745,000422: 27,3526 00017 STORE TFFQ1 # Q1, SAVE FOR GONEPAST TEST.
052746,000423: # E:(-16) M:(-15)
052747,000424: 27,3527 44240 BMN BDSU
052748,000425: 27,3530 57551 INBOUND # USE ALTERNATE Z
052749,000426: 27,3531 00045 TFFTEM # Q2 E:(-16) M:(-15)
052750,000427:
052751,000428: # OUTBOUND Z CALC CONTINUES HERE
052752,000429:
052753,000430: 27,3532 14043 STODL TFFX # NUM=Q2-Q1 E:(-16) M:(-15)
052754,000431: 27,3533 00033 TFFALFA # ALFA E:(26-NR) M:(24-NR)
052755,000432: 27,3534 44205 DMP BDSU
052756,000433: # Page 1275
052757,000434: 27,3535 00041 NRMAG # RMAG E:(-29+NR) M:(-27+NR)
052758,000435: # (2-RTERM ALFA) (-3) FROM PDL+0
052759,000436: 27,3536 51406 SAVEDEN PUSH ABS # DEN TO PDL+0 E:(-3) OR (-16)
052760,000437: # M:(-3) OR (-15)
052761,000438: 27,3537 40015 DAD BOV # INDETERMINANCY TEST
052762,000439: 27,3540 17760 LIM(-22) # =1.0-B(-22)
052763,000440: 27,3541 57562 TFFXTEST # GO IF DEN >/= B(-22)
052764,000441: 27,3542 65345 DLOAD PDDL # SET DEN=0 OTHERWISE
052765,000442: 27,3543 06524 TFFZEROS
052766,000443: # XCH ZERO WITH PDL+0
052767,000444: 27,3544 57545 DLOAD DCOMP
052768,000445: 27,3545 00033 TFFALFA # ALFA E:(26-NR) M:(24-NR)
052769,000446: 27,3546 71240 BMN DLOAD # FOR TPER: Z INDET AT DELE/2=0 AND 90.
052770,000447: 27,3547 57656 TFFEL1 # ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N
052771,000448:
052772,000449: # Z INDET. AT PERIGEE FOR PARAB OR HYPERB.
052773,000450: 27,3550 77616 DUMPTFF1 RVQ # RETURN TFF =0
052774,000451:
052775,000452: # INBOUND Z CALC CONTINUES HERE
052776,000453:
052777,000454: 27,3551 77745 INBOUND DLOAD # RESET PDL+0
052778,000455: 27,3552 45345 DLOAD DSU # ALTERNATE Z CALC
052779,000456: 27,3553 00023 RTERM # E:(-29) M:(-27)
052780,000457: 27,3554 00015 RMAG1 # E:(-29) M:(-27)
052781,000458: 27,3555 14043 STODL TFFX # NUM=RTERM-RN E:(-29) M:(-27)
052782,000459: 27,3556 00045 TFFTEM # Q2 E:(-16) M:(-15)
052783,000460: 27,3557 52015 DAD GOTO
052784,000461: 27,3560 00017 TFFQ1 # Q1 E:(-16) M:(-15)
052785,000462: 27,3561 57536 SAVEDEN # DEN = Q2+Q1 E:(-16) M:(-15)
052786,000463:
052787,000464: 27,3562 65215 TFFXTEST DAD PDDL # (ABS(DEN) TO PDL+2) E:(-3) OR (-16)
052788,000465: # M:(-3) OR (-15)
052789,000466: 27,3563 17762 DP(-22) # RESTORE ABS(DEN) TO MPAC
052790,000467: 27,3564 00043 TFFX # NUM E:(-16) OR (-29) M:(-15) OR (-27)
052791,000468: 27,3565 53605 DMP SR*
052792,000469: 27,3566 00031 TFFRTALF # SQRT(ALFA) E:(10+NA) M:(9+NA)
052793,000470: 27,3567 57201 0 -3,2 # X2=-NA
052794,000471: 27,3570 77671 DDV # C(MPAC) =NUM SQRT(ALFA) E:(-3) OR (-16)
052795,000472: # M:(-3) OR (-15)
052796,000473: # ABS(DEN) FROM PDL+2 E:(-3) OR (-16)
052797,000474: # M:(-3) OR (-15)
052798,000475: 27,3571 40145 DLOAD BOV # (THE DLOAD IS SHARED WITH TFFELL)
052799,000476: 27,3572 00043 TFFX # NUM E:(-16) OR (-29) M:(-15) OR (-27)
052800,000477: 27,3573 57654 TFFELL # USE EQN FOR DELE GEQ 90, LEQ -90
052801,000478:
052802,000479: # OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN
052803,000480:
052804,000481: 27,3574 45471 DDV STADR
052805,000482: # DEN FROM PDL+0 E:(-3) OR (-16)
052806,000483: # M:(-3) OR (-15)
052807,000484: 27,3575 77732 STORE TFFTEM # Z SAVE FOR SIGN OF SDELF.
052808,000485: # Page 1276
052809,000486: # E:(-13) M:(-12)
052810,000487: 27,3576 63406 PUSH DSQ # Z TO PDL+0
052811,000488: 27,3577 41206 PUSH DMP # Z SQ TO PDL+2 E:(-26) M:(-24)
052812,000489: 27,3600 00035 TFFNP # LC P E:(-38+2NR) M:(-36+NR)
052813,000490: 27,3601 75261 SL SIGN
052814,000491: 27,3602 20206 5
052815,000492: 27,3603 00045 TFFTEM # AFFIX SIGN FOR SDELF (ENTRY DISPLAY)
052816,000493: 27,3604 14045 STODL TFFTEM # P ZSQ E:(-59+2NR) M:(-55+2NR)
052817,000494: # (ARG IS USED IN TFF/TRIG)
052818,000495: # ZSQ FROM PDL+2 E:(-26) M:(-24)
052819,000496: 27,3605 41206 PUSH DMP # RESTORE PUSH LOC
052820,000497: 27,3606 00033 TFFALFA # ALFA E:(26-NR) M:(24-NR)
052821,000498: 27,3607 77657 SL*
052822,000499: 27,3610 20201 0,1 # X1=-NR
052823,000500: 27,3611 00043 STORE TFFX # X
052824,000501: 27,3612 41234 RTB DMP
052825,000502: 27,3613 57736 T(X) # POLY
052826,000503: # ZSQ FROM PDL+2 E:(-26) M:(-24)
052827,000504: 27,3614 44302 SR2 BDSU # 2 ZSQ T(X) E:(-29) M:(-27)
052828,000505: 27,3615 00023 RTERM # RTERM E:(-29) M:(-27)
052829,000506: 27,3616 41215 DAD DMP
052830,000507: 27,3617 00015 RMAG1 # E:(-29) M:(-27)
052831,000508: # Z FROM PDL+0 E:(-13) M:(-12)
052832,000509: 27,3620 51042 SR3 BPL # TFF SQRT(MU) E:(-45) M:(-42)
052833,000510: 27,3621 57642 ENDTFF # (NO PUSH UP)
052834,000511: 27,3622 75206 PUSH SIGN # TFF SQRT(MU) TO PDL+0
052835,000512: 27,3623 00017 TFFQ1 # Q1 FOR GONEPAST TEST
052836,000513: 27,3624 71244 BPL DLOAD # GONE PAST ?
052837,000514: 27,3625 57646 NEGTFF # YES. TFF < 0.
052838,000515: 27,3626 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
052839,000516: 27,3627 51076 DCOMP BPL # ALFA > 0 ?
052840,000517: 27,3630 57646 NEGTFF # NO. TFF IS NEGATIVE.
052841,000518:
052842,000519: # CORRECT FOR ORBITAL PERIOD.
052843,000520:
052844,000521: 27,3631 77676 DCOMP # YES. CORRECT FOR ORB PERIOD.
052845,000522: 27,3632 56205 DMP DDV
052846,000523: 27,3633 17756 PI/16 # 2 PI (-5)
052847,000524: 27,3634 00031 TFFRTALF # SQRT(ALFA) E:(10+NA) M:(9+NA)
052848,000525: 27,3635 53657 SL* SL*
052849,000526: 27,3636 57602 0 -4,2 # X2=-NA
052850,000527: 27,3637 57602 0 -4,2
052851,000528: 27,3640 43257 SL* DAD
052852,000529: 27,3641 57576 0,2
052853,000530: # TFF SQRT(MU) FROM PDL+0 E:(-45) M:(-42)
052854,000531: 27,3642 40005 ENDTFF DMP BOV # TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
052855,000532: 27,3643 00037 TFF/RTMU # E:(17) M:(14)
052856,000533: 27,3644 57652 MAXTFF # SET POSMAX IN OVFL.
052857,000534:
052858,000535: 27,3645 77616 DUMPTFF2 RVQ # RETURN TFF (-28) CS IN MPAC.
052859,000536:
052860,000537: # Page 1277
052861,000538: 27,3646 77745 NEGTFF DLOAD
052862,000539: # TFF SQRT(MU) FROM PDL+0, NEGATIVE.
052863,000540: 27,3647 77650 GOTO
052864,000541: 27,3650 57642 ENDTFF
052865,000542:
052866,000543: 27,3651 77745 MAXTFF1 DLOAD # RESET PDL
052867,000544: 27,3652 43545 MAXTFF DLOAD RVQ
052868,000545: 27,3653 17772 NEARONE
052869,000546:
052870,000547: # TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90.
052871,000548:
052872,000549: # NUM FROM TFFX. E:(-16) OR (-29)
052873,000550: # M:(-15) OR (-27)
052874,000551: 27,3654 77712 TFFELL SL2 # NUM E:(-14) OR (-27) M:(-13) OR (-25)
052875,000552: 27,3655 41465 BDDV PUSH # TEMP SAVE D/N IN PDL+0
052876,000553: # DEN FROM PDL+0 E:(-3)/(-16) M:(-3)/(-15)
052877,000554: # N/D TO PDL+0 E:(11) M:(10)
052878,000555: 27,3656 45345 TFFEL1 DLOAD DSU # (ENTER WITH D/N=0 IN PDL+0)
052879,000556: 27,3657 00045 TFFTEM # Q2 E:(-16) M:(-15)
052880,000557: 27,3660 00017 TFFQ1 # Q1 E:(-16) M:(-15)
052881,000558: 27,3661 14013 STODL TFFDELQ # Q2-Q1 E:(-16) M:(-15)
052882,000559: # D/N FROM PDL+0
052883,000560: 27,3662 77626 STADR
052884,000561: 27,3663 77732 STORE TFFTEM # D/N E:(11) M:(10)
052885,000562: 27,3664 53605 DMP SL*
052886,000563: 27,3665 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
052887,000564: 27,3666 57576 0,2 # 1/ALFA Z E:(-11-NA) M:(-10-NA)
052888,000565: 27,3667 41206 PUSH DMP # TO PDL+0
052889,000566: 27,3670 00045 TFFTEM # 1/Z E:(11) M:(10
052890,000567: 27,3671 41057 SL* BOVB
052891,000568: 27,3672 57576 0,2 # X2= -NA
052892,000569: 27,3673 21713 SIGNMPAC # IN CASE X= 1.0, CONTINUE
052893,000570: 27,3674 00043 STORE TFFX # X=1/ALFA ZSQ
052894,000571: 27,3675 41234 RTB DMP
052895,000572: 27,3676 57736 T(X) # POLY
052896,000573: 27,3677 00043 TFFX
052897,000574: 27,3700 45242 SR3 DSU
052898,000575: 27,3701 17764 DP2(-3)
052899,000576: 27,3702 41405 DMP PUSH # 2(X T(X)-1) /Z ALFA E:(-15-NA)
052900,000577: # M:(-14-NA)
052901,000578: # 1/ALFA Z FROM PDL+0 E:(-11-NA)
052902,000579: # M:(-10-NA)
052903,000580: 27,3703 41345 DLOAD DMP # GET SIGN FOR SDELF
052904,000581: 27,3704 00045 TFFTEM # 1/Z E:(11) M:(10)
052905,000582: 27,3705 00015 RMAG1 # E:(-29) M:(-27)
052906,000583: 27,3706 43312 SL2 DAD
052907,000584: 27,3707 00017 TFFQ1 # Q1 E:(-16) M:(-15)
052908,000585: 27,3710 14045 STODL TFFTEM # (Q1+R 1/Z) =SGN OF SDELF E:(-16) M:(-15)
052909,000586: 27,3711 00035 TFFNP # LC P E:(-38+2NR) M:(-36+2NR)
052910,000587: 27,3712 53605 DMP SL* # CALC FOR ARG FOR TFF/TRIG.
052911,000588: # Page 1278
052912,000589: 27,3713 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
052913,000590: 27,3714 57575 1,2 # X2=-NA
052914,000591: 27,3715 53765 SIGN SL*
052915,000592: 27,3716 00045 TFFTEM # AFFIX SIGN FOR SDELF
052916,000593: 27,3717 57576 0,2
052917,000594: 27,3720 14045 STODL TFFTEM # P/ALFA E:(-59+2NR) M:(-55+2NR)
052918,000595: # (ARG FOR USE IN TFF/TRIG)
052919,000596: 27,3721 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
052920,000597: 27,3722 41366 SQRT DMP
052921,000598: 27,3723 17756 PI/16 # PI (-4)
052922,000599: 27,3724 77615 DAD
052923,000600: # 2(XT(X)-1)/Z ALFA FROM PDL E:(-15-NA)
052924,000601: # M:(-14-NA)
052925,000602: 27,3725 45257 SL* DSU
052926,000603: 27,3726 57577 0 -1,2
052927,000604: 27,3727 00013 TFFDELQ # Q2-Q1 E:(-16) M:(-15)
052928,000605: 27,3730 53605 DMP SL*
052929,000606: 27,3731 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
052930,000607: 27,3732 57601 0 -3,2
052931,000608: 27,3733 52057 SL* GOTO
052932,000609: 27,3734 57602 0 -4,2
052933,000610: 27,3735 57642 ENDTFF # TFF SQRT(MU) IN MPAC E:(-145) M:(-42)
052934,000611:
052935,000612: # Page 1279
052936,000613: # PROGRAM NAME: T(X) DATE: 01.17.67
052937,000614: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
052938,000615: # MOD BY: RR BAIRNSFATHER
052939,000616:
052940,000617: # FUNCTIONAL DESCRIPTION: THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND
052941,000618: # CALCTPER TO APPROXIMATE THE SERIES
052942,000619: # 2 3
052943,000620: # 1/3 -X/5 +X /7 -X /9 ...
052944,000621:
052945,000622: # WHERE X = ALFA Z Z IF ALFA Z Z LEQ 1
052946,000623: # X = 1/(ALFA Z Z) IF ALFA Z Z G 1
052947,000624:
052948,000625: # ALSO X IS NEG FOR HYPERBOLIC ORBITS
052949,000626: # X = 0 FOR PARABOLIC ORBITS
052950,000627: # X IS POSITIVE FOR ELLIPTIC ORBITS
052951,000628:
052952,000629: # FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM
052953,000630: # DEVIATION FROM THE SERIES OF 2 E-5. (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING
052954,000631: # MAX PROGRAM AUTOCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1).)
052955,000632:
052956,000633: # CALLING SEQUENCE: RTB
052957,000634: # T(X)
052958,000635: # C(MPAC) = X
052959,000636:
052960,000637: # SUBROUTINE CALLED: NONE
052961,000638:
052962,000639: # NORMAL EXIT MODE: TC TANZIG
052963,000640:
052964,000641: # ALARMS: NONE
052965,000642:
052966,000643: # OUTPUT: C(MPAC) = T(X)
052967,000644:
052968,000645: # ERASABLE INITIALIZATION REQUIRED:
052969,000646: # C(MPAC) = X
052970,000647:
052971,000648: # DEBRIS: NONE
052972,000649:
052973,000650: 27,3736 07225 T(X) TC POLY
052974,000651: 27,3737 00004 DEC 4 B-14 # N-1
052975,000652: 27,3740 12525 12525 2DEC 3.333333333 E-1
052976,000653: 27,3742 71463 57703 2DEC* -1.999819135 E-1*
052977,000654: 27,3744 04423 17645 2DEC* 1.418148467 E-1*
052978,000655: 27,3746 74604 43667 2DEC* -1.01310997 E-1*
052979,000656: 27,3750 01626 37256 2DEC* 5.609004986 E-2*
052980,000657: 27,3752 77404 52071 2DEC* -1.536156925 E-2*
052981,000658:
052982,000659: 27,3754 06064 ENDT(X) TC DANZIG
052983,000660:
052984,000661: 27,3755 27,3754 TCDANZIG = ENDT(X)
052985,000662:
052986,000663: # Page 1280
052987,000664: # TFF CONSTANTS
052988,000665:
052989,000666: 32,3751 BANK 32
052990,000667:
052991,000668: 27,2000 SETLOC TOF-FF1
052992,000669: 27,2000 BANK
052993,000670:
052994,000671: # # NOTE: ADJUSTED MUE FOR NEAR EARTH TRAJ.
052995,000672: # MUE = 3.990815471 E10 # M CUBE/CS SQ
052996,000673: # RTMUE = 1.997702549 E5 B-18 # MODIFIED EARTH MU
052997,000674:
052998,000675: # # NOTE: ADJUSTED MUE FOR NEAR EARTH TRAJ.
052999,000676: # MUM = 4.902778 E8 # M CUBE/CS SQ
053000,000677: # RTMUM 2DEC* 2.21422176 E4 B-18*
053001,000678: 27,3755 06220 37553 PI/16 2DEC 3.141592653 B-4
053002,000679: 27,3757 37777 37700 LIM(-22) 2OCT 3777737700 # 1.0 -B(-22)
053003,000680: 27,3761 00000 00100 DP(-22) 2OCT 0000000100 # B(-22)
053004,000681: 27,3763 04000 00000 DP2(-3) 2DEC 1 B-3
053005,000682: 27,3765 02000 00000 DP2(-4) 2DEC 1 B-4 # 1/16
053006,000683:
053007,000684: # RPAD1 2DEC 6373338 B-29 # M (-29) = 20909901.57 FT
053008,000685: 27,3767 23,2337 RPAD1 = RPAD
053009,000686:
053010,000687: 27,3767 00305 11205 R300K 2DEC 6464778 B-29 # (-29) M
053011,000688: 27,3771 37777 37777 NEARONE 2DEC .999999999
053012,000689: 27,3773 23,2523 TFFZEROS EQUALS HI6ZEROS
053013,000690: 27,3773 23,2513 TFF1/4 EQUALS HIDP1/4
053014,000691:
End of include-file TIME_OF_FREE_FALL.agc. Parent file is MAIN.agc