* 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
This commit is contained in:
		
				
					committed by
					
						 James Harris
						James Harris
					
				
			
			
				
	
			
			
			
						parent
						
							68c072a49e
						
					
				
				
					commit
					5de7ff6517
				
			| @@ -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 | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user