From 5de7ff6517c144c7995e93bbac915b4467643c9a Mon Sep 17 00:00:00 2001 From: Glenn Dwiyatcita Date: Wed, 11 Sep 2019 21:00:39 +0200 Subject: [PATCH] Proof TIME_OF_FREE_FALL #264 (#396) * Proof FIXED_FIXED_CONSTANT_POOL (#207) * wip(pp. 1373-1377): Proof TIME_OF_FREE_FALL #264 * wip(pp. 1373-1383): Proof TIME_OF_FREE_FALL #264 * done(pp. 1373-1388): Proof TIME_OF_FREE_FALL #264 --- Comanche055/TIME_OF_FREE_FALL.agc | 553 ++++++++++++++---------------- 1 file changed, 263 insertions(+), 290 deletions(-) diff --git a/Comanche055/TIME_OF_FREE_FALL.agc b/Comanche055/TIME_OF_FREE_FALL.agc index 3192fcd..5da946a 100644 --- a/Comanche055/TIME_OF_FREE_FALL.agc +++ b/Comanche055/TIME_OF_FREE_FALL.agc @@ -29,55 +29,54 @@ # Colossus 2A # Page 1373 -# THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES. THE TFF ROUTINES NEVER -# KNOW WHICH ORIGIN APPLIES. IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE, AND 1/SQRT(MU) AT THE +# THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES. THE TFF ROUTINES NEVER +# KNOW WHICH ORIGIN APPLIES. IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE AND 1/SQRT(MU) AT THE # APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY. -# + # EARTH ORIGIN POSITION -29 METERS # VELOCITY -7 METERS/CENTISECOND # 1/SQRT(MU) +17 SQRT(CS SQ/METERS CUBED) -# + # MOON ORIGIN POSITION -27 METERS # VELOCITY -5 METERS/CENTISECONDS # 1/SQRT(MU) +14 SQRT(CS SQ/METERS CUBED) -# + # ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE. IN ALL CASES, # THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28). PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND # LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN. -# -# THE USER MUST STORE THE STATE VECTOR IN RONE, VONE, AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU +# THE USER MUST STORE THE STATE VECTOR IN RONE, VONE AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU # AT THE PROPER SCALE BEFORE CALLING TFF/CONIC. SINCE RONE, VONE ARE IN THE EXTENDED VERB STORAGE AREA, # THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED. -# -# PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT +# PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT # RADIUS. THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY. # -# THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST. -# -# BELOW E: IS USED FOR EARTH ORIGIN SCALE -# M: IS USED FOR MOON ORIGIN SCALE +# THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST. # + +# BELOW E: IS USED FOR EARTH ORIGIN SCALE +# M: IS USED FOR MOON ORIGIN SCALE + #TFFSW = 119D # BIT1 0 = CALCTFF 1 = CALCTPER TFFDELQ = 10D # Q2-Q1 E: (-16) M: (-15) -RMAG1 = 12D # ABVAL(RN) M E: (-29) M: (-27) -#RPER = 14D # PERIGEE RADIUS M E: (-29) M: (-27) +RMAG1 = 12D # ABVAL(RN) M E: (-29) M: (-27) +#RPER = 14D # PERIGEE RADIUS M E: (-29) M: (-27) TFFQ1 = 14D # R.V / SQRT(MUE) E: (-16) M: (-15) #SDELF/2 # SIN(THETA) /2 CDELF/2 = 14D # COS(THETA) /2 -#RAPO = 16D # APOGEE RADIUS M E: (-29) M: (-27) -NRTERM = 16D # TERMINAL RADIUS M E: (-29+NR) - # M: (-27+NR) -RTERM = 18D # TERMINAL RADIUS M E: (-29) M: (-27) -TFFVSQ = 20D # -(V SQUARED/MU) 1/M E: (20) M: (18) +#RAPO = 16D # APOGEE RADIUS M E: (-29) M: (-27) +NRTERM = 16D # TERMINAL RADIUS M E: (-29+NR) + # M: (-27+NR) +RTERM = 18D # TERMINAL RADIUS M E: (-29) M: (-27) +TFFVSQ = 20D # -(V SQUARED/MU) 1/M E: (20) M: (18) TFF1/ALF = 22D # SEMI MAJ AXIS M E: (-22-2 NA) - # M: (-20-2 NA) -TFFRTALF = 24D # SQRT(ALFA) E:(10+NA) M: (9+NA) -TFFALFA = 26D # ALFA 1/M E:(26-NR) M: (24-NR) -TFFNP = 28D # SEMI LATUS RECTUM M E: (-38+2 NR) - # M: (-36+2 NR) + # M: (-20-2 NA) +TFFRTALF = 24D # SQRT(ALFA) E:(10+NA) M: (9+NA) +TFFALFA = 26D # ALFA 1/M E:(26-NR) M: (24-NR) +TFFNP = 28D # SEMI LATUS RECTUM M E: (-38+2 NR) + # M: (-36+2 NR) TFF/RTMU = 30D # 1/SQRT(MU) E: (17) M: (14) NRMAG = 32D # PRESENT RADIUS M E: (-29+NR) - # M: (-27+NR) + # M: (-27+NR) TFFX = 34D # TFFTEM = 36D # TEMPORARY # Page 1374 @@ -86,79 +85,70 @@ TFFTEM = 36D # TEMPORARY # LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT # SUBROUTINES. # -NR C(X1) = NORM COUNT OF RMAG -# -NA C(X2) = NORM COUNT OF SQRT(ABS(ALFA)) +# -NA C(X2)= NORM COUNT OF SQRT(ABS(ALFA)) # Page 1375 -# SUBROUTINE NAME: TFFCONIC DATE: 01.29.67 -# MOD NO: 0 LOG SECTION: TIME OF FREE FALL -# MOD BY: RR BAIRNSFATHER -# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 -# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD MOON MU. -# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES -# -# FUNCTIONAL DESCRIPTION: THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF +# SUBROUTINE NAME: TFFCONIC DATE: 01.29.67 +# MOD NO: 0 LOG SECTION: TIME OF FREE FALL +# MOD BY: RR BAIRNSFATHER +# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 +# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD MOON MU. +# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES +# FUNCTIONAL DESCRIPTION: THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF # SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA. THE PARAMETERS ARE LISTED UNDER OUTPUT. # THE EQUATIONS ARE: -# _ __ __ +# - - - # H = RN*VN ANGULAR MOMENTUM -# _ _ +# - - # LCP = H.H / MU SEMI LATUS RECTUM -# __ __ +# - - # ALFA = 2/RN - VN.VN / MU RECIPROCAL SEMI MAJ AXIS, SIGNED -# + # AND ALFA IS POS FOR ELLIPTIC ORBITS # 0 FOR PARABOLIC ORBITS # NEG FOR HYPERBOLIC ORBITS. # SUBROUTINE ALSO COMPUTES AND SAVES RMAG. -# # CALLING SEQUENCE: # TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM -# 1/SQRT(MU). THE PROGRAM WILL SAVE IN TFF/RTMU. THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON +# 1/SQRT(MU). THE PROGRAM WILL SAVE IN TFF/RTMU . THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON # ORIGIN IS USED. THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE, # VONE AT PROPER SCALE. THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE # TFF ROUTINES. -# # ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED. -# # TO SPECIFY MU: DLOAD CALL # IF MU ALREADY STORED: CALL -# YOURMU # 1/RTMU E:(17) M:(14) TFFCONMU +# YOURMU # 1/RTMU E:(17) M:(14) TFFCONMU # TFFCONIC # PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D -# -# SUBROUTINES CALLED: NONE -# -# NORMAL EXIT MODES: RVQ -# -# ALARMS: NONE -# + +# SUBROUTINES CALLED: NONE +# NORMAL EXIT MODES: RVQ +# ALARMS: NONE # OUTPUT: THE FOLLOWING ARE STORED IN THE PUSH LIST AREA. -# RMAG1 E:(-29) M:(-27) M RN, PRESENT RADIUS LENGTH. -# NRMAG E:(-29+NR) M RMAG, NORMALIZED -# M:(-27+NR) -# X1 -NR, NORM COUNT -# TFFNP E:(-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHTED BY NR. FOR VGAMCALC. -# M:(-36+2NR) -# TFF/RTMU E:(17) M:(14) 1/SQRT(MU) -# TFFVSQ E:(20) M:(18) 1/M -(V SQ/MU): PRESENT VELOCITY,NORMLIZED. FOR VGAMCALC -# TFFALFA E:(26-NR) 1/M ALFA, WEIGHTED BY NR -# M:(24-NR) -# TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED -# M:(9+NA) +# RMAG1 E:(-29) M:(-27) M RN, PRESENT RADIUS LENGTH. +# NRMAG E:(-29+NR) M RMAG, NORMALIZED +# M:(-27+NR) +# X1 -NR, NORM COUNT +# TFFNP E:(-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHTED BY NR. FOR VGAMCALC +# M:(-36+2NR) +# TFF/RTMU E:(17) M:(14) 1/SQRT(MU) +# TFFVSQ E:(20) M:(18) 1/M -(V SQ/MU): PRESENT VELOCITY,NORMLIZED. FOR VGAMCALC +# TFFALFA E:(26-NR) 1/M ALFA, WEIGHTED BY NR +# M:(24-NR) +# TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED +# M:(9+NA) # Page 1376 -# X2 -NA, NORM COUNT -# TFF1/ALF E:(-22-2NA) SIGNED SEMI MAJ AXIS, WEIGHTED BY NA -# M:(-20-2NA) +# X2 -NA, NORM COUNT +# TFF1/ALF E: (-22-2NA) SIGNED SEMI MAJ AXIS, WEIGHTED BY NA +# M: (-20-2NA) # PUSHLOC AT PDL+0 -# -# THE FOLLOWING IS STORED IN GENERAL ERASABLE -# VONE' E:(10) M:(9) V/RT(MU), NORMALIZED VELOCITY -# +# THE FOLLOWING IS STORED IN GENERAL ERASABLE +# VONE' E:(10) M:(9) V/RT(MU), NORMALIZED VELOCITY # ERASABLE INITIALIZATION REQUIRED: -# RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY CALLER -# VONE E:(-7) M:(-5) M/CS STATE VECTOR LEFT BY CALLER -# TFF/RTMU E:(17) M:(14) 1/RT(CS SQ/M CUBE) IF ENTER VIA TFFCONMU. +# RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY CALLER +# VONE E:(-7) M:(-5) M/CS STATE VECTOR LEFT BY CALLER +# TFF/RTMU E:(17) M:(14) 1/RT(CS SQ/M CUBE) IF ENTER VIA TFFCONMU. +# DEBRIS: QPRET. PDL+0 ... PDL+3 # -# DEBRIS: QPRET PDL+0 ... PDL+3 BANK 33 SETLOC TOF-FF @@ -166,34 +156,34 @@ TFFTEM = 36D # TEMPORARY COUNT* $$/TFF -TFFCONIC STORE TFF/RTMU # 1/SQRT(MU) E:(17) M:(14) +TFFCONIC STORE TFF/RTMU # 1/SQRT(MU) E: (17) M: (14) TFFCONMU VLOAD UNIT # COME HERE WITH TFFRTMU LOADED. - RONE # SAVED RN. M E:(-29) M:(-27) + RONE # SAVED RN. M E: (-29) M: (-27) PDDL # UR/2 TO PDL+0, +5 36D # MAGNITUDE - STORE RMAG1 # M E:(-29) M:(-27) + STORE RMAG1 # M E:(-29) M:(-27) NORM X1 # -NR - STOVL NRMAG # RMAG M E:(-29+NR) M:(-27+NR) - VONE # SAVED VN. M/CS E:(-7) M:(-5) + STOVL NRMAG # RMAG M E: (-29+NR) M: (-27+NR) + VONE # SAVED VN. M/CS E: (-7) M: (-5) VXSC TFF/RTMU # E:(17) M:(14) - STORE VONE' # VN/SQRT(MU) E:(10) M:(9) + STORE VONE' # VN/SQRT(MU) E: (10) M: (9) VXSC VXV - NRMAG # E:(-29+NR) M:(-27+NR) + NRMAG # E: (-29+NR) M: (-27+NR) # UR/2 FROM PDL VSL1 VSQ # BEFORE: E:(-19+NR) M:(-18+NR) - STODL TFFNP # LC P M E:(-38+2NR) M:(-36+2NR) + STODL TFFNP # LC P M E:(-38+2NR) M:(-36+2NR) # SAVE ALSO FOR VGAMCALC TFF1/4 - DDV PDVL # (2/RMAG) 1/M E:(26-NR) M:(24-NR) - NRMAG # RMAG M E:(-29+NR) M:(-27+NR) - VONE' # SAVED VN. E:(10) M:(9) + DDV PDVL # (2/RMAG) 1/M E:(26-NR) M:(24-NR) + NRMAG # RMAG M E:(-29+NR) M:(-27+NR) + VONE' # SAVED VN. E:(10) M:(9) VSQ DCOMP # KEEP MPAC+2 HONEST FOR SQRT. - STORE TFFVSQ # -(V SQ/MU) E:(20) M:(18) + STORE TFFVSQ # -(V SQ/MU) E:(20) M:(18) # SAVE FOR VGAMCALC SR* DAD # Page 1377 @@ -201,7 +191,7 @@ TFFCONMU VLOAD UNIT # COME HERE WITH TFFRTMU LOADED. STADR # 2/RMAG FROM PDL+2 STORE TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR) - SL* PUSH # TEMP SAVE ALFA E:(20) M:(18) + SL* PUSH # TEMP SAVE ALFA E:(20) M:(18) 0 -6,1 ABS SQRT # E:(10) M:(9) NORM @@ -212,55 +202,47 @@ TFFCONMU VLOAD UNIT # COME HERE WITH TFFRTMU LOADED. BZE BDDV # SET 1/ALFA =0, TO SHOW SMALL ALFA +2 TFF1/4 - +2 STORE TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA) + +2 STORE TFF1/ALF # 1/ALFA E:(-22-2 NA) M:(-20-2 NA) DUMPCNIC RVQ # 39 W # Page 1378 -# SUBROUTINE NAME: TFFRP/RA DATE: 01.17.67 -# MOD NO: 0 LOG SECTION: TIME OF FREE FALL -# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 -# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES -# ALSO IMPROVE ACCURACY OF RAPO. -# -# FUNCTIONAL DESCRIPTION: USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO +# SUBROUTINE NAME: TFFRP/RA DATE: 01.17.67 +# MOD NO: 0 LOG SECTION: TIME OF FREE FALL +# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 +# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES +# ALSO IMPROVE ACCURACY OF RAPO. +# FUNCTIONAL DESCRIPTION: USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO # APOGEE RADIUS FOR A GENERAL CONIC. # PROGRAM GIVES PERIGEE RADIUS AS APOGEE RADIUS IS GIVEN BY -# RP = P/(1+E) RA = (1+E) / ALFA +# RP = P /(1+E) RA = (1+E) / ALFA # WHERE 2 # E = 1 - P ALFA # IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE # 1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA # 2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA # 3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE. -# # THIS SUBROUTINE REQUIRED THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI LATUS RECTUM AS DATA. -# -# CALLING SEQUENCE: CALL -# TFFRP/RA +# CALLING SEQUENCE: CALL +# TFFRP/RA # PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D # C(MPAC) UNSPECIFIED -# + # SUBROUTINES CALLED: NONE -# # NORMAL EXIT MODE: RVQ -# IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT. -# OTHERWISE, RAPO = POSMAX. -# +# IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT. +# OTHERWISE, RAPO = POSMAX. # ALARMS: NONE -# -# OUTPUT: STORED IN PUSH LIST AREA. SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC. -# RPER E:(-29) M:(-27) M PERIGEE RADIUS DESTROYED BY CALCTFF/CALCTPER, TFFTRIG. -# RAPO E:(-29) M:(-27) M APOGEE RADIUS WILL BE DESTROYED BY CALCTFF/CALCTPER -# PUSHLOC AT PDL+0 -# +# OUTPUT: STORED IN PUSH LIST AREA. SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC. +# RPER E:(-29) M:(-27) M PERIGEE RADIUS DESTROYED BY CALCTFF/CALCTPER, TFFTRIG. +# RAPO E:(-29) M:(-27) M APOGEE RADIUS WILL BE DESTROYED BY CALCTFF/CALCTPER +# PUSHLOC AT PDL+0 # ERASABLE INITIALIZATION REQUIRED: -# TFFALFA E:(26-NR) M 1/SEMI MAJ AXIS LEFT BY TFFCONIC -# M:(24-NR) -# TFFNP E:(-38+2NR) M LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC -# M:(-36+2NR) -# X1 -NR, NORM COUNT OF RMAG LEFT BY TFFCONIC -# X2 -NA, NORM COUNT OF ALFA LEFT BY TFFCONIC -# +# TFFALFA E:(26-NR) M 1/SEMI MAJ AXIS LEFT BY TFFCONIC +# M:(24-NR) +# TFFNP E: (-38+2NR) M LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC +# M: (-36+2NR) +# X1 -NR, NORM COUNT OF RMAG LEFT BY TFFCONIC +# X2 -NA, NORM COUNT OF ALFA LEFT BY TFFCONIC # DEBRIS: QPRET, PDL+0 ... PDL+1 # Page 1379 @@ -269,16 +251,16 @@ RPER = 14D # PERIGEE RADIUS M E:(-29) M:(-27) TFFRP/RA DLOAD DMP TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR) - TFFNP # LC P M E:(-38+2NR) M:(-36+2NR) + TFFNP # LC P M E:(-38+2NR) M:(-36+2NR) SR* DCOMP # ALFA P (-12+NR) 0 -8D,1 # ALFA P (-4) DAD ABS # (DCOMP GIVES VALID TP RESULT FOR SQRT) # (ABS PROTECTS SQRT IF E IS VERY NEAR 0) DP2(-4) - SQRT DAD # E SQ = (1- P ALFA) (-4) + SQRT DAD # E SQ = (1- P ALFA) (-4) TFF1/4 PUSH BDDV # (1+E) (-2) TO PDL+0 - TFFNP # LCP M E:(-38+2NR) M:(-36+2NR) + TFFNP # LCP M E:(-38+2NR) M:(-36+2NR) SR* SR* # (DOES SR THEN SL TO AVOID OVFL) 0,1 # X1=-NR 0 -7,1 # (EFFECTIVE SL) @@ -288,7 +270,7 @@ TFFRP/RA DLOAD DMP TFF1/ALF # E:(-22-2NA) M:(-20-2NA) TCDANZIG # CLEAR OVFIND, IF ON. BZE SL* - MAXRA # SET POSMAX IF ALFA=0 + MAXRA # SET POSMAX, IF ALFA=0 0 -5,2 # -5+NA SL* BOV 0,2 @@ -297,104 +279,105 @@ TFFRP/RA DLOAD DMP +3 MAXRA DLOAD # RAPO CALC IS NOT VALID. SET RAPO = NEARONE # POSMAX AS A TAG. - +3 STORE RAPO # APOGEE RADIUS M E:(-29) M:(-27) + +3 STORE RAPO # APOGEE RADIUS M E:(-29) M:(-27) DUMPRPRA RVQ + # 30 W # Page 1380 -# SUBROUTINE NAME: CALCTPER / CALCTFF DATE: 01.29.67 -# MOD NO: 0 LOG SECTION: TIME OF FREE FALL -# MOD BY: RR BAIRNSFATHER -# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67 -# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67 -# MOD BY: 3 MOD BY: RR BAIRNSFATHER DATE: 8 JUL 67 NEAR EARTH MUE AND NEG TFF (GONEPAST) -# MOD BY: 4 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD VARIABLE MU. -# MOD BY: 5 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES -# -# FUNCTIONAL DESCRIPTION: PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND -# VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM, SUPPLIED BY THE USER. THE POSITION VECTOR +# SUBROUTINE NAME: CALCTPER / CALCTFF DATE: 01.29.67 +# MOD NO: 0 LOG SECTION: TIME OF FREE FALL +# MOD BY: RR BAIRNSFATHER +# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67 +# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67 +# MOD BY: 3 MOD BY: RR BAIRNSFATHER DATE: 8 JUL 67 NEAR EARTH MUE AND NEG TFF (GONEPAST) +# MOD BY: 4 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD VARIABLE MU. +# MOD BY: 5 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES +# FUNCTIONAL DESCRIPTION: PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND +# VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM , SUPPLIED BY THE USER. THE POSITION VECTOR # RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE. -# THE EQUATIONS ARE: -# -# Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP) (INBOUND SIDE) LEQ +- LCE/SQRT(ALFA) -# __ __ +# THE EQUATIONS ARE + +# Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP) (INBOUND SIDE)) LEQ +- LCE/SQRT(ALFA) +# - - # Q1 = RN.VN / SQRT(MU) LEQ +- LCE/SQRT(ALFA) -# + # Z = NUM / DEN LEQ +- 1/SQRT(ALFA) -# + # WHERE, IF INBOUND # NUM = RTERM -RN LEQ +- 2 LCE/ALFA # DEN = Q2+Q1 LEQ +- 2 LCE/SQRT(ALFA) -# + # AND, IF OUTBOUND # NUM = Q2-Q1 LEQ +- 2 LCE/SQRT(ALFA) -# DEN = 2 - ALFA (RTERM + RN). LEQ +- 2 LCE -# +# DEN = 2 - ALFA (RTERM + RN) . LEQ +- 2 LCE + # IF ALFA ZZ < 1.0 (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG) + # THEN X = ALFA Z Z # AND TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU) + # EXCEPT IF ALFA PNZ, AND IF TFF NEG, # THEN TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF -# OR IF ALFA ZZ GEQ 1.0 (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG) + +# OR IF ALFA ZZ GEQ 1.0 (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG) + # THEN X = 1/ALFA Z Z # AND TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU) + # WHERE T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES -# 2 3 2 -# 1/3 - X/5 + X /7 - X /8 ... (X < 1.0) -# +# 2 3 2 +# 1/3 -X/5 +X /7 -X /9... (X < 1.0) + # CALLING SEQUENCE: TIME TO RTERM TIME TO PERIGEE # CALL CALL # CALCTFF CALCTPER # C(MPAC) = TERMNL RAD M C(MPAC) = PERIGEE RAD M -# FOR EITHER, E:(-29) M:(-27) -# FOR EITHER, PUSHLOC = PDL+0, ARBITRARY IF LEQ 8D. +# FOR EITHER, E: (-29) M: (-27) +# FOR EITHER, PUSHLOC = PDL+0 , ARBITRARY IF LEQ 8D. # Page 1381 # # SUBROUTINES CALLED: T(X), VIA RTB -# -# NORMAL EXIT MODE: RVQ -# HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC. USER MUST STORE. -# A. TFF = FLIGHT TIME. NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD. -# B. (THIS OPTION IS NO LONGER USED.) -# C. TFF = POSMAX. THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO -# THE SPECIFIED ALTITUDE. ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA. -# +# NORMAL EXIT MODE: RVQ +# HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC. USER MUST STORE. +# A. TFF = FLIGHT TIME. NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD. +# B. (THIS OPTION IS NO LONGER USED.) +# C. TFF = POSMAX. THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO +# THE SPECIFIED ALTITUDE. ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA. # OUTPUT: C(MPAC) (-28) CS TIME OF FLIGHT, OR TIME TO PERIGEE # TFFX (0) X, LEFT FOR ENTRY DISPLAY TFF ROUTINES -# NRTERM E:(-29+NR) M RTERM, WEIGHTED BY NR LEFT FOR ENTRY DISPLAY TFF ROUTINES -# M:(-27+NR) -# TFFTEM E:(-59+2NR) LCP Z Z SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES -# M:(-55+2NR) LCP /ALFA SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES +# NRTERM E: (-29+NR) M RTERM, WEIGHTED BY NR LEFT FOR ENTRY DISPLAY TFF ROUTINES +# M: (-27+NR) +# TFFTEM E: (-59+2NR) LCP Z Z SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES +# M: (-55+2NR) LCP /ALFA SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES # NOTE: TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:. -# RMAG1 E:(-29) M:(-27) PDL 12 NOT TOUCHED. -# TFFQ1 E:(-16) M:(-15) PDL 14D -# TFFDELQ E:(-16) M:(-15) PDL 10D -# PUSHLOC AT PDL+0 -# +# RMAG1 E:(-29) M:(-27) PDL 12 NOT TOUCHED. +# TFFQ1 E:(-16) M:(-15) PDL 14D +# TFFDELQ E:(-16) M:(-15) PDL 10D +# PUSHLOC AT PDL+0 # ERASABLE INITIALIZATION REQUIRED: -# RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY USER -# VONE' E:(+10) M:(+9) VN/SQRT(NU) LEFT BY TFF/CONIC -# RMAG1 E:(-29) M:(-27) PRESENT RADIUS, M LEFT BY TFFCONIC -# C(MPAC) E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M LEFT BY USER +# RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY USER +# VONE' E:(+10) M:(+9) VN/SQRT(NU) LEFT BY TFF/CONIC +# RMAG1 E:(-29) M:(-27) PRESENT RADIUS, M LEFT BY TFFCONIC +# C(MPAC) E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M LEFT BY USER # # THE FOLLOWING ARE STORED IN THE PUSH LIST AREA. # TFF/RTMU E:(17) M:(14) 1/SQRT(MU) LEFT BY TFFCONIC. -# NRMAG E:(-29+NR) M RMAG, NORMALIZED LEFT BY TFFCONIC -# M:(-27+NR) -# X1 -NR, NORM COUNT LEFT BY TFFCONIC -# TFFNP E:(-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC -# M:(-36+2N4) -# TFFALFA E:(26-NR) 1/M ALFA, WEIGHT NR LEFT BY TFFCONIC -# M:(24-NR) -# TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED LEFT BY TFFCONIC -# M:(9+NA) -# X2 -NA, NORM COUNT LEFT BY TFFCONIC +# NRMAG E: (-29+NR) M RMAG, NORMALIZED LEFT BY TFFCONIC +# M: (-27+NR) +# X1 -NR, NORM COUNT LEFT BY TFFCONIC +# TFFNP E: (-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC +# M: (-36+2NR) +# TFFALFA E: (26-NR) 1/M ALFA, WEIGHT NR LEFT BY TFFCONIC +# M: (24-NR) +# TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED LEFT BY TFFCONIC +# M:(9+NA) +# X2 -NA, NORM COUNT LEFT BY TFFCONIC # TFF1/ALF E:(-22-2NA) SIGNED SEMIMAJ AXIS, WEIGHTED BY NA LEFT BY TFFCONIC # M:(-20-2NA) -# # DEBRIS: QPRET, PDL+0 ... PDL+3 -# RTERM E:(-29) M(-27) RTERM, TERMINAL RADIUS LENGTH -# RAPO E:(-29) M(-27) PDL 16D (=NRTERM) -# RPER E:(-29) M(-27) PDL 14D (=TFFQ1) +# RTERM E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH +# RAPO E:(-29) M:(-27) PDL 16D (=NRTERM) +# RPER E:(-29) M:(-27) PDL 14D (=TFFQ1) # Page 1382 CALCTPER SETGO # ENTER WITH RPER IN MPAC @@ -402,54 +385,55 @@ CALCTPER SETGO # ENTER WITH RPER IN MPAC +3 CALCTFF CLEAR # ENTER WITH RTERM IN MPAC TFFSW - +3 STORE RTERM # E:(-29) M:(-27) + +3 STORE RTERM # E: (-29) M: (-27) SL* 0,1 # X1=-NR - STORE NRTERM # RTERM E:(-29+NR) M:(-27+NR) + STORE NRTERM # RTERM E: (-29+NR) M: (-27+NR) DMP BDSU TFFALFA # ALFA E:(26-NR) M:(24-NR) TFF1/4 PUSH DMP # (2-ALFA RTERM) (-3) TO PDL+0 - NRTERM # E:(-29+NR) M:(-27+NR) + NRTERM # E: (-29+NR) M: (-27+NR) PDDL SR* # RTERM(2-ALFA RTERM) TO PDL+2 - # E:(-32+NR) M:(-30+NR) + # E: (-32+NR) M: (-30+NR) TFFNP # LC P E:(-38+2NR) M:(-36+2NR) 0 -6,1 # X1 = -NR DCOMP DAD # DUE TO SHIFTS, KEEP PRECISION FOR SQRT - # RTERM(2-ALFA RTERM) FROM PDL +2 - # E:(-32+NR) M:(-30+NR) - SR* # LEAVE E:(-32) M:(-30) + # RTERM(2-ALFA RTERM) FROM PDL+2 + # E: (-32+NR) M: (-30+NR) + SR* # LEAVE E: (-32) M: (-30) 0,1 # X1 = -NR - BOFF DLOAD # CHECK TFF /TPER SWITCH + BOFF DLOAD # CHECK TFF / TPER SWITCH TFFSW +2 # IF TFF, CONTINUE TFFZEROS # IF TPER, SET Q2 = 0 - +2 BMN SQRT # E:(-16) M:(-15) + +2 BMN SQRT # E: (-16) M: (-15) + MAXTFF1 # NO FREE FALL CONIC TO RTERM FROM HERE # RESET PDL, SET TFF=POSMAX, AND EXIT. DCOMP BOVB # RT IS ON INBOUND SIDE. ASSURE OVFIND=0 TCDANZIG # ANY PORT IN A STORM. - STOVL TFFTEM # Q2 E:(-16) M:(-15) - VONE' # VN/SQRT(MU) E:(10) M:(9) + STOVL TFFTEM # Q2 E: (-16) M: (-15) + VONE' # VN/SQRT(MU) E: (10) M: (9) DOT SL3 - RONE # SAVED RN. E:(-29) M:(-27) + RONE # SAVED RN. E: (-29) M: (-27) STORE TFFQ1 # Q1, SAVE FOR GONEPAST TEST. - # E:(-16) M:(-15) + # E: (-16) M: (-15) BMN BDSU INBOUND # USE ALTERNATE Z - TFFTEM # Q2 E:(-16) M:(-15) + TFFTEM # Q2 E: (-16) M: (-15) # OUTBOUND Z CALC CONTINUES HERE - STODL TFFX # NUM=Q2-Q1 E:(-16) M:(-15) - TFFALFA # ALFA E:(26-NR) M:(24-NR) + STODL TFFX # NUM=Q2-Q1 E: (-16) M: (-15) + TFFALFA # ALFA E: (26-NR) M: (24-NR) DMP BDSU # Page 1383 - NRMAG # RMAG E:(-29+NR) M:(-27+NR) + NRMAG # RMAG E: (-29+NR) M: (-27+NR) # (2-RTERM ALFA) (-3) FROM PDL+0 -SAVEDEN PUSH ABS # DEN TO PDL+0 E:(-3) OR (-16) - # M:(-3) OR (-15) +SAVEDEN PUSH ABS # DEN TO PDL+0 E: (-3) OR (-16) + # M: (-3) OR (-15) DAD BOV # INDETERMINANCY TEST LIM(-22) # =1.0-B(-22) TFFXTEST # GO IF DEN >/= B(-22) @@ -457,7 +441,7 @@ SAVEDEN PUSH ABS # DEN TO PDL+0 E:(-3) OR (-16) TFFZEROS # XCH ZERO WITH PDL+0 DLOAD DCOMP - TFFALFA # ALFA E:(26-NR) M:(24-NR) + TFFALFA # ALFA E: (26-NR) M:( 24-NR) BMN DLOAD # FOR TPER: Z INDET AT DELE/2=0 AND 90. TFFEL1 # ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N @@ -465,21 +449,20 @@ SAVEDEN PUSH ABS # DEN TO PDL+0 E:(-3) OR (-16) DUMPTFF1 RVQ # RETURN TFF =0 # INBOUND Z CALC CONTINUES HERE - INBOUND DLOAD # RESET PDL+0 DLOAD DSU # ALTERNATE Z CALC - RTERM # E:(-29) M:(-27) - RMAG1 # E:(-29) M:(-27) - STODL TFFX # NUM=RTERM-RN E:(-29) M:(-27) - TFFTEM # Q2 E:(-16) M:(-15) + RTERM # E: (-29) M: (-27) + RMAG1 # E: (-29) M: (-27) + STODL TFFX # NUM=RTERM-RN E: (-29) M: (-27) + TFFTEM # Q2 E: (-16) M: (-15) DAD GOTO - TFFQ1 # Q1 E:(-16) M:(-15) - SAVEDEN # DEN = Q2+Q1 E:(-16) M:(-15) + TFFQ1 # Q1 E: (-16) M: (-15) + SAVEDEN # DEN = Q2+Q1 E: (-16) M: (-15) -TFFXTEST DAD PDDL # (ABS(DEN) TO PDL+2) E:(-3) OR (-16) - # M:(-3) OR (-15) +TFFXTEST DAD PDDL # (ABS(DEN) TO PDL+2)) E: (-3) OR (-16) + # M: (-3) OR (-15) DP(-22) # RESTORE ABS(DEN) TO MPAC - TFFX # NUM E:(-16) OR (-29) M:(-15) OR (-27) + TFFX # NUM E:(-16) OR (-29) M:(-15) OR (-27) DMP SR* TFFRTALF # SQRT(ALFA) E:(10+NA) M:(9+NA) 0 -3,2 # X2=-NA @@ -488,46 +471,46 @@ TFFXTEST DAD PDDL # (ABS(DEN) TO PDL+2) E:(-3) OR (-16) # ABS(DEN) FROM PDL+2 E:(-3) OR (-16) # M:(-3) OR (-15) DLOAD BOV # (THE DLOAD IS SHARED WITH TFFELL) - TFFX # NUM E:(-16) OR (-29) M:(-15) OR (-27) + TFFX # NUM E: (-16) OR (-29) M:(-15) OR (-27) TFFELL # USE EQN FOR DELE GEQ 90, LEQ -90 # OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN DDV STADR - # DEN FROM PDL+0 E:(-3) OR (-16) - # M:(-3) OR (-15) + # DEN FROM PDL+0 E: (-3) OR (-16) + # M: (-3) OR (-15) STORE TFFTEM # Z SAVE FOR SIGN OF SDELF. # Page 1384 - # E:(-13) M:(-12) + # E: (-13) M: (-12) PUSH DSQ # Z TO PDL+0 - PUSH DMP # Z SQ TO PDL+2 E:(-26) M:(-24) - TFFNP # LC P E:(-38+2NR) M:(-36+NR) + PUSH DMP # Z SQ TO PDL+2 E: (-26) M: (-24) + TFFNP # LC P E: (-38+2NR) M: (-36+2NR) SL SIGN 5 TFFTEM # AFFIX SIGN FOR SDELF (ENTRY DISPLAY) - STODL TFFTEM # P ZSQ E:(-59+2NR) M:(-55+2NR) + STODL TFFTEM # P ZSQ E: (-59+2NR) M: (-55+2NR) # (ARG IS USED IN TFF/TRIG) - # ZSQ FROM PDL+2 E:(-26) M:(-24) + # ZSQ FROM PDL+2 E: (-26) M: (-24) PUSH DMP # RESTORE PUSH LOC - TFFALFA # ALFA E:(26-NR) M:(24-NR) + TFFALFA # ALFA E: (26-NR) M: (24-NR) SL* 0,1 # X1=-NR STORE TFFX # X RTB DMP T(X) # POLY - # ZSQ FROM PDL+2 E:(-26) M:(-24) - SR2 BDSU # 2 ZSQ T(X) E:(-29) M:(-27) - RTERM # RTERM E:(-29) M:(-27) + # ZSQ FROM PDL+2 E: (-26) M: (-24) + SR2 BDSU # 2 ZSQ T(X) E: (-29) M: (-27) + RTERM # RTERM E: (-29) M: (-27) DAD DMP - RMAG1 # E:(-29) M:(-27) - # Z FROM PDL+0 E:(-13) M:(-12) - SR3 BPL # TFF SQRT(MU) E:(-45) M:(-42) + RMAG1 # E: (-29) M: (-27) + # Z FROM PDL+0 E: (-13) M: (-12) + SR3 BPL # TFF SQRT(MU) E: (-45) M: (-42) ENDTFF # (NO PUSH UP) PUSH SIGN # TFF SQRT(MU) TO PDL+0 TFFQ1 # Q1 FOR GONEPAST TEST BPL DLOAD # GONE PAST ? - NEGTFF # YES. TFF < 0. - TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA) + NEGTFF # YES. TFF < 0 . + TFF1/ALF # 1/ALFA E: (-22-2NA) M: (-20-2NA) DCOMP BPL # ALFA > 0 ? NEGTFF # NO. TFF IS NEGATIVE. @@ -536,7 +519,7 @@ TFFXTEST DAD PDDL # (ABS(DEN) TO PDL+2) E:(-3) OR (-16) DCOMP # YES. CORRECT FOR ORB PERIOD. DMP DDV PI/16 # 2 PI (-5) - TFFRTALF # SQRT(ALFA) E:(10+NA) M:(9+NA) + TFFRTALF # SQRT(ALFA) E: (10+NA) M: (9+NA) SL* SL* 0 -4,2 # X2=-NA 0 -4,2 @@ -544,10 +527,10 @@ TFFXTEST DAD PDDL # (ABS(DEN) TO PDL+2) E:(-3) OR (-16) 0,2 # TFF SQRT(MU) FROM PDL+0 E:(-45) M:(-42) ENDTFF DMP BOV # TFF SQRT(MU) IN MPAC E:(-45) M:(-42) - TFF/RTMU # E:(17) M:(14) + TFF/RTMU # E: (17) M: (14) MAXTFF # SET POSMAX IN OVFL. -DUMPTFF2 RVQ # RETURN TFF (-28) CS IN MPAC. +DUMPTFF2 RVQ # RETURN TFF (-28) CS IN MPAC. # Page 1385 NEGTFF DLOAD @@ -561,24 +544,24 @@ MAXTFF DLOAD RVQ # TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90. - # NUM FROM TFFX. E:(-16) OR (-29) - # M:(-15) OR (-27) -TFFELL SL2 # NUM E:(-14) OR (-27) M:(-13) OR (-25) + # NUM FROM TFFX. E: (-16) OR (-29) + # M: (-15) OR (-27) +TFFELL SL2 # NUM E:(-14) OR (-27) M:(-13) OR (-25) BDDV PUSH # TEMP SAVE D/N IN PDL+0 - # DEN FROM PDL+0 E:(-3)/(-16) M:(-3)/(-15) - # N/D TO PDL+0 E:(11) M:(10) + # DEN FROM PDL+0 E:(-3)/( 16) M:(-3)/(-15) + # N/D TO PDL+0 E: (11) M: (10) TFFEL1 DLOAD DSU # (ENTER WITH D/N=0 IN PDL+0) - TFFTEM # Q2 E:(-16) M:(-15) - TFFQ1 # Q1 E:(-16) M:(-15) - STODL TFFDELQ # Q2-Q1 E:(-16) M:(-15) + TFFTEM # Q2 E: (-16) M: (-15) + TFFQ1 # Q1 E: (-16) M: (-15) + STODL TFFDELQ # Q2-Q1 E: (-16) M: (-15) # D/N FROM PDL+0 STADR - STORE TFFTEM # D/N E:(11) M:(10) + STORE TFFTEM # D/N E: (11) M: (10) DMP SL* - TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA) - 0,2 # 1/ALFA Z E:(-11-NA) M:(-10-NA) + TFF1/ALF # 1/ALFA E: (-22-2NA) M: (-20-2NA) + 0,2 # 1/ALFA Z E: (-11-NA) M: (-10-NA) PUSH DMP # TO PDL+0 - TFFTEM # 1/Z E:(11) M:(10) + TFFTEM # 1/Z E: (11) M: (10) SL* BOVB 0,2 # X2= -NA SIGNMPAC # IN CASE X= 1.0, CONTINUE @@ -593,12 +576,12 @@ TFFEL1 DLOAD DSU # (ENTER WITH D/N=0 IN PDL+0) # 1/ALFA Z FROM PDL+0 E:(-11-NA) # M:(-10-NA) DLOAD DMP # GET SIGN FOR SDELF - TFFTEM # 1/Z E:(11) M:(10) - RMAG1 # E:(-29) M:(-27) + TFFTEM # 1/Z E: (11) M: (10) + RMAG1 # E: (-29) M: (-27) SL2 DAD - TFFQ1 # Q1 E:(-16) M:(-15) - STODL TFFTEM # (Q1+R 1/Z) =SGN OF SDELF E:(-16) M:(-15) - TFFNP # LC P E:(-38+2NR) M:(-36+2NR) + TFFQ1 # Q1 E: (-16) M: (-15) + STODL TFFTEM # (Q1+R 1/Z) =SGN OF SDELF E:(-16) M:(-15 + TFFNP # LC P E: (-38+2NR) M: (-36+2NR) DMP SL* # CALC FOR ARG FOR TFF/TRIG. # Page 1386 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA) @@ -606,9 +589,9 @@ TFFEL1 DLOAD DSU # (ENTER WITH D/N=0 IN PDL+0) SIGN SL* TFFTEM # AFFIX SIGN FOR SDELF 0,2 - STODL TFFTEM # P/ALFA E:(-59+2NR) M:(-55+2NR) + STODL TFFTEM # P/ALFA E:(-59+2NR) M:(-55+2NR) # (ARG FOR USE IN TFF/TRIG) - TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA) + TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA) SQRT DMP PI/16 # PI (-4) DAD @@ -616,51 +599,43 @@ TFFEL1 DLOAD DSU # (ENTER WITH D/N=0 IN PDL+0) # M:(-14-NA) SL* DSU 0 -1,2 - TFFDELQ # Q2-Q1 E:(-16) M:(-15) + TFFDELQ # Q2-Q1 E: (-16) M: (-15) DMP SL* TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA) 0 -3,2 SL* GOTO 0 -4,2 - ENDTFF # TFF SQRT(MU) IN MPAC E:(-145) M:(-42) + ENDTFF # TFF SQRT(MU) IN MPAC E:(-45) M:(-42) # Page 1387 -# PROGRAM NAME: T(X) DATE: 01.17.67 -# MOD NO: 0 LOG SECTION: TIME OF FREE FALL -# MOD BY: RR BAIRNSFATHER -# -# FUNCTIONAL DESCRIPTION: THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND +# PROGRAM NAME: T(X) DATE: 01.17.67 +# MOD NO: 0 LOG SECTION: TIME OF FREE FALL +# MOD BY: RR BAIRNSFATHER +# FUNCTIONAL DESCRIPTION: THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND # CALCTPER TO APPROXIMATE THE SERIES -# 2 3 +# 2 3 # 1/3 -X/5 +X /7 -X /9 ... -# -# WHERE X = ALFA Z Z IF ALFA Z Z LEQ 1 -# X = 1/(ALFA Z Z) IF ALFA Z Z G 1 -# + +# WHERE X = ALFA Z Z IF ALFA Z Z LEQ 1 +# X = 1/(ALFA Z Z ) IF ALFA Z Z G 1 + # ALSO X IS NEG FOR HYPERBOLIC ORBITS # X = 0 FOR PARABOLIC ORBITS # X IS POSITIVE FOR ELLIPTIC ORBITS -# # FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM -# DEVIATION FROM THE SERIES OF 2 E-5. (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING -# MAC PROGRAM AUTCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1).) -# +# DEVIATION FROM THE SERIES OF 2 E-5 (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING +# MAC PROGRAM AUTCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1). ) # CALLING SEQUENCE: RTB # T(X) -# C(MPAC) = X -# -# SUBROUTINE CALLED: NONE -# -# NORMAL EXIT MODE: TC DANZIG -# -# ALARMS: NONE -# -# OUTPUT: C(MPAC) = T(X) -# +# C(MPAC) = X + +# SUBROUTINE CALLED: NONE +# NORMAL EXIT MODE: TC DANZIG +# ALARMS: NONE +# OUTPUT: C(MPAC) = T(X) # ERASABLE INITIALIZATION REQUIRED: -# C(MPAC) = X -# -# DEBRIS: NONE +# C(MPAC) = X +# DEBRIS: NONE T(X) TC POLY DEC 4 # N-1 @@ -677,20 +652,22 @@ TCDANZIG = ENDT(X) # Page 1388 # TFF CONSTANTS - BANK 32 SETLOC TOF-FF1 BANK # # NOTE _ NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ. -#MUE = 3.990815471 E10 # M CUBE/CS SQ + +#MUE = 3.990 815 471 E10 # M CUBE/CS SQ #RTMUE = 1.997702549 E5 B-18* # MODIFIED EARTH MU 1/RTMU 2DEC* .5005750271 E-5 B17* # MODIFIED EARTH MU # # NOTE _ NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ. -#MUM = 4.902778 E8 # M CUBE/CS SQ + +#MUM = 4.902 778 E8 # M CUBE /CS SQ + #RTMUM 2DEC* 2.21422176 E4 B-18* PI/16 2DEC 3.141592653 B-4 LIM(-22) 2OCT 3777737700 # 1.0 -B(-22) @@ -698,13 +675,9 @@ DP(-22) 2OCT 0000000100 # B(-22) DP2(-3) 2DEC 1 B-3 DP2(-4) 2DEC 1 B-4 # 1/16 -# RPAD1 2DEC 6373338 B-29 # M (-29) = 20909901.57 FT +# RPAD1 2DEC 6373338 B-29 # M (-29) =20 909 901.57 FT RPAD1 = RPAD - R300K 2DEC 6464778 B-29 # (-29) M NEARONE 2DEC .999999999 TFFZEROS EQUALS HI6ZEROS TFF1/4 EQUALS HIDP1/4 - - -