Proof CONIC_SUBROUTINES

This commit is contained in:
Thomas Danner 2018-12-28 12:33:22 -06:00
parent 2e30258105
commit f7f8dbc625

View File

@ -41,7 +41,7 @@
# RATHER THAN OPTIMIZING EACH FOR A PARTICULAR USE. THEREFORE, MULTIPLE USAGE CAN BE MADE OF THE SUBROUTINES
# INVOLVING ANY REALISTIC SET OF CONSTRAINTS. IT SHOULD BE NOTED THAT ONLY ONE SET OF CODING IS USED, WHETHER THE
# EARTH, MOON, OR ANY OTHER CELESTIAL BODY IS SPECIFIED AS THE CENTRAL BODY OF THE PROBLEM, PROVIDED ONE OBSERVES
# THE INHERENT SCALE CHANGE REQUIRED IN POSITION, VELOCITY, MU, AND TIME, AS OUTLINES IN MISSION PROGRAMMING
# THE INHERENT SCALE CHANGE REQUIRED IN POSITION, VELOCITY, MU, AND TIME, AS OUTLINED IN MISSION PROGRAMMING
# DEFINITION MEMO NO. 10. THIS CAN BE ACCOMPLISHED BY SIMPLY ADDING TO THE MUTABLE AND INITIALIZING THE SUBROUTINES
# APPROPRIATELY.
#
@ -77,8 +77,8 @@
# IF A NEGATIVE TIME-OF-FLIGHT IS INPUT, THE PROGRAM WILL SOLVE FOR THE STATE WHICH WOULD BE PRODUCED BY
# EXTRAPOLATING THE POSITION BACKWARD IN TIME.
#
# IF THE ABSOLUTE VALUE DESIRED TRANSFER TIME EXCEEDS THE ORBITAL PERIOD, THE SUBROUTINE, THROUGH A
# MODULAR TECHNIQUE, WILL COMPUTE THE STATE CORRESPONDING TO THE DESIRED TIME AS USUAL.
# IF THE ABSOLUTE VALUE OF THE DESIRED TRANSFER TIME EXCEEDS THE ORBITAL PERIOD, THE SUBROUTINE, THROUGH A
# MODULAR TECHNIQUE, WILL COMPUTE THE STATE CORRESPONDING TO THE DESIRED TIME (WHETHER POSITIVE OR NEGATIVE).
#
# THE RESTRICTIONS ARE --
# 1. (PREVIOUS RESTRICTION ON THE NEGATIVE DESIRED TRANSFER TIME IS NOW DELETED.)
@ -86,7 +86,7 @@
# ANY OF THESE LIMITS ARE EXCEEDED, THE RESULTING SOLUTION WILL BE MEANINGLESS.
#
# THE NUMBER OF ITERATIONS AND, THEREFORE, THE COMPUTATION SPEED IS DEPENDENT ON THE ACCURACY OF THE
# GUESS, XKFPNEW. THE AGC COMPUTATION TIME IS APPROXIMATELY .061 SECONDS FOR INITIALIZATION, .065 SECONDS FOR THE
# GUESS, XKEPNEW. THE AGC COMPUTATION TIME IS APPROXIMATELY .061 SECONDS FOR INITIALIZATION, .065 SECONDS FOR THE
# FINAL COMPUTATIONS, PLUS .083 SECONDS FOR EACH ITERATION.
#
# REFERENCES --
@ -126,7 +126,7 @@
# THE INTERRUPTED JOB. THEREFORE THE USER MUST CALL CSMCONIC OR LEMCONIC WHICH GUARANTEES NO INTERRUPTS AND WHICH
# ALSO CALLS KEPPREP TO COMPUTE A GUESS OF XKEPNEW.
#
# ABORT EXIT MODE --
# ABORT EXIT MODES --
# NONE
#
# OUTPUT --
@ -151,13 +151,13 @@
# URRECT +1 DP UNIT VECTOR OF INITIAL POSITION
# R1 +29 FOR EARTH DP MAGNITUDE OF INITIAL POSITION IN METERS
# +27 FOR MOON
# ALPHA -22 FOR EARTH DP INVERSE OF SEMI-MAJOR AXIS IN 1/METERS
# ALPHA -22 FOR EARTH DP INVERSE OF SEMIMAJOR AXIS IN 1/METERS
# -20 FOR MOON
# TMODULO +28 DP INTEGRAL NUMBER OF PERIODS IN CENTISECS, WHICH WAS SUBTRACTED FROM TAU. TO PRODUCE A
# TAU. OF LESS THAN ONE PERIOD.
#
# PARAMETERS OF NO USE --
# DP PARAMETERS -- FPSILENT, DELX, DELT, RCNORM, XMODULO, PLUS PUSHLIST REGISTERS 0 THROUGH 39D.
# DP PARAMETERS -- EPSILONT, DELX, DELT, RCNORM, XMODULO, PLUS PUSHLIST REGISTERS 0 THROUGH 39D.
# Page 1266
# PROGRAM DESCRIPTION -- LAMBERT SUBROUTINE DATE -- 1 SEPTEMBER 1967
@ -181,7 +181,7 @@
# 5. THE PARAMETERS IN THE PROBLEM MUST NOT EXCEED THEIR SCALING LIMITS SPECIFIED IN THE GSOP. IF THE
# LIMITS ARE EXCEEDED, THE RESULTING SOLUTION WILL BE MEANINGLESS.
#
# THE NUMBER OF ITERATIONS AND, THEREFORE, THE COMPUTATION'S SPEED IS DEPENDENT ON THE ACCURACY OF THE FIRST
# THE NUMBER OF ITERATIONS AND, THEREFORE, THE COMPUTATIONS SPEED IS DEPENDENT ON THE ACCURACY OF THE FIRST
# GUESS OF THE INDEPENDENT VARIABLE, COGA. THE AGC COMPUTATION TIME IS APPROXIMATELY
# .105 SECONDS FOR INITIALIZATION, .069 SECONDS FOR FINAL COMPUTATIONS, PLUS .205 SECONDS FOR EACH ITERATION.
#
@ -204,13 +204,13 @@
# GUESSW NONE AN INTERPRETER SWITCH TO BE SET IF NO GUESS OF COGA IS AVAILABLE, CLEAR IF A GUESS OF
# Page 1267
# COGA IS TO BE USED BY LAMBERT
# COGA +5 DP GUESS OF COTANGENT OF FLIGHT PATH ANGLE (MEASURED FROM VERTICAL). THIS WILL BE
# COGA +5 DP GUESS OF COTANGNT OF FLIGHT PATH ANGLE (MEASURED FROM VERTICAL). THIS WILL BE
# IGNORED IF GUESSW IS SET.
# NORMSW NONE AN INTERPRETER SWITCH TO BE SET IF UN IS TO BE AN INPUT TO THE SUBROUTINE, CLEAR IF
# LAMBERT IS TO COMPUTE ITS OWN NORMAL (UN).
# UN +1 DP UNIT NORMAL TO THE DESIRED ORBIT PLANE IN THE DIRECTION OF THE RESULTING ANGULAR
# MOMENTUM VECTOR. THIS WILL BE IGNORED IF NORMSW IS CLEAR.
# VTARGTAG NONE A S.P. TAG TO BE SET TO ZERO IF LAMBERT IS TO COMPUTE THE VELOCITY OF R2VEC AS WELL AS
# VTARGTAG NONE A S.P. TAG TO BE SET TO ZERO IF LAMBERT IS TO COMPUTE THE VELOCITY AT R2VEC AS WELL AS
# AT R1VEC.
#
# SUBROUTINES CALLED --
@ -224,16 +224,16 @@
# L+3 SOLNSW
# L+4 LAMABORT
#
# IF A LAMBER RESULT IS TO BE A FIRST GUESS FOR THE NEXT LAMBERT CALCULATION, COGA MUST BE PRESERVED AND
# IF A LAMBERT RESULT IS TO BE A FIRST GUESS FOR THE NEXT LAMBERT CALCULATION, COGA MUST BE PRESERVED AND
# GUESSW MUST BE CLEAR FOR EACH SUCCEEDING LAMBERT CALL.
#
# ABORT EXIT MODES --
# IF SOLNSW WAS SET UPON EXITING, EITHER LAMBERT WAS ASKED TO COMPUTE A TRANSFER TOO NEAR 0 OR 360 DEG, OR T
# WAS TOO SMALL TO PRODUCE A REALISTIC TRANSFER BETWEEN R1VEC AND R2FEC. IN EITHER CASE THE FIX MUST BE MADE
# WAS TOO SMALL TO PRODUCE A REALISTIC TRANSFER BETWEEN R1VEC AND R2VEC. IN EITHER CASE THE FIX MUST BE MADE
# ACCORDING TO THE NEEDS OF THE PARTICULAR USER. THE ABORT EXIT MODE MAY BE CODED AS ...
# LAMBERT DLOAD ABS # A MEASURE OF THE PROXIMITY TO 0 OR
# 1-CHTH # 360 DEGREES.
# DSU BWM
# 1-CSTH # 360 DEGREES.
# DSU BMN
# ONEBIT
# CHANGER2 # CHANGE R2VEC DIRECTION SLIGHTLY.
# DLOAD DAD
@ -266,7 +266,7 @@
# 1-CSTH +2 DP 1-CSTH
# COGA +5 DP COTAN OF INITIAL REQUIRED FLIGHT PATH ANGLE MEASURED FROM VERTICAL
# P +4 DP RATIO OF SEMILATUS RECTUM TO INITIAL RADIUS
# R1A +6 DP RATIO OF INITIAL RADIUS TO SEMI-MAJOR AXIS
# R1A +6 DP RATIO OF INITIAL RADIUS TO SEMIMAJOR AXIS
# R1 (32D) +29 FOR EARTH DP INITIAL RADIUS IN METERS
# +27 FOR MOON
# UR1 +1 DP UNIT VECTOR OF R1VEC
@ -292,7 +292,7 @@
# THE RESTRICTIONS ARE --
# 1. THE ANGLE BETWEEN ANY POSITION VECTOR AND ITS VELOCITY VECTOR MUST BE GREATER THAN 1 DEGREE 47.5 MINUTES
# AND LESS THAN 178 DEGREES 12.5 MINUTES.
# 2. THE PARAMETERS IN THE PROBLEM MUST NOT EXCEED THEIR SCALING LIMITS SPECIFIED IN THE GSCP. IF THE LIMITS
# 2. THE PARAMETERS IN THE PROBLEM MUST NOT EXCEED THEIR SCALING LIMITS SPECIFIED IN THE GSOP. IF THE LIMITS
# ARE EXCEEDED, THE RESULTING SOLUTION WILL BE MEANINGLESS.
#
# THE AGC COMPUTATION TIME IS APPROXIMATELY .292 SECONDS.
@ -308,7 +308,7 @@
# +27 FOR MOON
# VVEC +7 FOR EARTH DP INITIAL VELOCITY VECTOR IN METERS/CENTISECOND
# +5 FOR MOON
# SNTH +1 ` DP SINE OF THE TRUE-ANOMALY-DIFFERENCE THROUGH WHICH THE STATE IS TO BE UPDATED
# SNTH +1 DP SINE OF TRUE-ANOMALY-DIFFERENCE THROUGH WHICH THE STATE IS TO BE UPDATED
# CSTH +1 DP COSINE OF THE ANGLE
# RVSW NONE AN INTERPRETIVE SWITCH TO BE SET IF ONLY TIME IS TO BE AN OUTPUT, CLEAR IF THE NEW STATE
# IS TO BE COMPUTED ALSO.
@ -333,7 +333,7 @@
# # THE INITIAL VELOCITY VECTOR IN MPAC.
# L+3 STOVL NEWVVEC
# L+4 STADR
# L+5 STORE NEWRVEC # NEWVVEC AND NEWRVEC ARE SYMBOLIC REPRESENTATIONS OF THE USER'S LOCATIONS.
# L+5 STORE NEWRVEC # NEWVVEC AND NEWRVEC ARE SYMBOLIC REPRESENTATIONS OF THE USERS LOCATIONS.
# L+6 ... # CONTINUE.
#
# ABORT EXIT MODES --
@ -344,7 +344,7 @@
# SCALE FACTOR
# VARIABLE IN POWERS OF 2 DESCRIPTION AND REMARKS
# -------- -------------- -----------------------
# T(30D) +28 DP TRANSFER TIME IN CENTISECONDS
# T (30D) +28 DP TRANSFER TIME IN CENTISECONDS
# INFINFLG NONE AN INTERPRETIVE SWITCH WHICH IS SET IF THE TRANSFER ANGLE REQUIRES CLOSURE THROUGH
# INFINITY (NO SOLUTION), CLEAR IF A PHYSICAL SOLUTION IS POSSIBLE.
# COGAFLAG NONE AN INTERPRETIVE SWITCH WHICH IS SET IF RESTRICTION 1 HAS BEEN VIOLATED (NO SOLUTION),
@ -366,7 +366,7 @@
# -------- -------------- -----------------------
# R1 (32D) +29 FOR EARTH DP MAGNITUDE OF INITIAL POSITION VECTOR, RVEC, IN METERS
# +27 FOR MOON
# R1A +6 DP RATIO OF R1 TO SEMI-MAJOR AXIS (NEG. FOR HYPERBOLIC TRAJECTORIES)
# R1A +6 DP RATIO OF R1 TO SEMIMAJOR AXIS (NEG. FOR HYPERBOLIC TRAJECTORIES)
# P +4 DP RATIO OF SEMILATUS RECTUM TO R1
# COGA +5 DP COTAN OF ANGLE BETWEEN RVEC AND VVEC
# UR1 +1 DP UNIT VECTOR OF RVEC
@ -443,7 +443,7 @@
# # THE INITIAL VELOCITY VECTOR IN MPAC.
# L+3 STOVL NEWVVEC
# L+4 STADR
# L+5 STORE NEWRVEC # NEWVVEC AND NEWRVEC ARE SYMBOLIC REPRESENTATIONS OF THE USER'S LOCATIONS.
# L+5 STORE NEWRVEC # NEWVVEC AND NEWRVEC ARE SYMBOLIC REPRESENTATIONS OF THE USERS LOCATIONS.
# L+6 ... # CONTINUE
#
# ABORT EXIT MODES --
@ -483,7 +483,7 @@
# -------- -------------- -----------------------
# R1 (32D) +29 FOR EARTH DP MAGNITUDE OF INITIAL POSITION VECTOR, RVEC, IN METERS
# +27 FOR MOON
# R1A +6 DP RATIO OF R1 TO SEMI-MAJOR AXIS (NEG. FOR HYPERBOLIC TRAJECTORIES)
# R1A +6 DP RATIO OF R1 TO SEMIMAJOR AXIS (NEG. FOR HYPERBOLIC TRAJECTORIES)
# P +4 DP RATIO OF SEMILATUS RECTUM TO R1
# COGA +5 DP COTAN OF ANGLE BETWEEN RVEC AND VVEC
# UR1 +1 DP UNIT VECTOR OF RVEC
@ -493,7 +493,7 @@
# SNTH +1 DP SINE OF TRUE ANOMALY DIFFERENCE.
#
# PARAMETERS OF NO USE --
# SP PARAMETERS -- RTNTT, GEOMSGN, RTNPRM, MAGVEC2*R2 (DP), PLUS PUSHLIST LOCATIONS 0-11D, 14D-21D, 24D-39D, 41D
# SP PARAMETERS -- RTNTT, GEOMSGN, RTNPRM, MAGVEC2=R2 (DP), PLUS PUSHLIST LOCATIONS 0-11D, 14D-21D, 24D-39D, 41D
# ADDITIONAL INTERPRETIVE SWITCHES USED -- NORMSW, 360SW
#
@ -541,7 +541,7 @@
# L+1 APSIDES # RETURNS WITH PL AT 0, RADIUS OF APOCENTER IN MPAC AND RADIUS OF PERICENTER IN 0D
# L+2 STODL APOAPSE
# L+3 0D
# L+4 STORE PERIAPSE # APOAPSE AND PERIAPSE ARE SYMBOLIC REPRESENTATIONS OF THE USER'S LOCATIONS
# L+4 STORE PERIAPSE # APOAPSE AND PERIAPSE ARE SYMBOLIC REPRESENTATIONS OF THE USERS LOCATIONS
# L+5 ... # CONTINUE
#
# OUTPUT --
@ -563,7 +563,7 @@
# -------- -------------- -----------------------
# R1 (32D) +29 FOR EARTH DP MAGNITUDE OF INITIAL POSITION VECTOR, RVEC, IN METERS
# +27 FOR MOON
# R1A +6 DP RATIO OF R1 TO SEMI-MAJOR AXIS (NEG. FOR HYPERBOLIC TRAJECTORIES)
# R1A +6 DP RATIO OF R1 TO SEMIMAJOR AXIS (NEG. FOR HYPERBOLIC TRAJECTORIES)
# P +4 DP RATIO OF SEMILATUS RECTUM TO R1
# COGA +5 DP COTAN OF ANGLE BETWEEN RVEC AND VVEC
# UR1 +1 DP UNIT VECTOR OF RVEC
@ -810,7 +810,7 @@ KEPCONVG DLOAD SR4R
T
SL1 VXSC
VRECT
VSL1 VAD
VSL1 VAD # PL AT 0
VSL4
STORE RCV # RCV (+29 OR +27)
@ -975,7 +975,7 @@ MODNGDEL DLOAD DSU # TRIAL DELINDEP WOULD EXCEED MIN BOUND
FIRSTIME DLOAD DMP
MIN
TWEEKIT # DLOAD TWEEKIT(40D) SENSITIVE TO CHANGE.
PDDL DMP # S2(41D) SHOULDN'T CONTAIN HI ORDER ONES
PDDL DMP # S2(41D) SHOULDNT CONTAIN HI ORDER ONES
# Page 1286
MAX
TWEEKIT
@ -1060,8 +1060,8 @@ LAMENTER NORM
R2
BDSU
D1/256
VXSC VAD
VVEC # PL AT 6
VXSC VAD # PL AT 6
VVEC
VSL8 RVQ
# Page 1288
@ -1118,8 +1118,8 @@ TIMETHET STQ SETPD # PL AT 0
VVEC
CALL
PARAM
BOV CALL
COGAOVFL # PL AT 0
BOV CALL # PL AT 0
COGAOVFL
GETX
COMMNOUT DLOAD BON
XI
@ -1349,15 +1349,15 @@ INVRSEQN DLOAD SQRT
R1A
DMP SR4
34D
TAD
BMN SQRT # PL AT 4
TAD # PL AT 4
BMN SQRT
INFINITY
DAD # PL AT 2
TIX,2 NORM
1/WLOOP
X1
BDDV
SLR* GOTO # PL AT 0
BDDV # PL AT 0
SLR* GOTO
0 -7,1
POLYCOEF
@ -1549,8 +1549,8 @@ LOENERGY SETPD DLOAD # LOW ENERGY TRAJECTORY RESULTED
SUFFCHEK DLOAD ABS
TERRLAMB
PDDL DMP
TDESIRED # PL AT 2D
PDDL DMP # PL AT 2D
TDESIRED
D1/4
DAD DSU # PL AT 0D
ONEBIT
@ -1598,8 +1598,8 @@ INITV DLOAD NORM
PDDL # XCH WITH 0D PL AT 0,6
VXSC VSL1
UN
VXV VAD
UR1 # PL AT 0
VXV VAD # PL AT 0
UR1
VSL1 CLEAR
SOLNSW
STORE VVEC
@ -1626,8 +1626,8 @@ TIMERAD STQ SETPD # PL AT 0
VVEC
CALL
PARAM
BOV DLOAD
COGAOVFL # PL AT 0
BOV DLOAD # PL AT 0
COGAOVFL
D1/32
DSU DMP
R1A
@ -1645,7 +1645,7 @@ TIMERAD STQ SETPD # PL AT 0
BOV
CIRCULAR
PDDL NORM # 0D=UNIT(ECC) (+3) PL AT 6
RDESIRED # 35D=ECC (+3)
RDESIRED # 36D=ECC (+3)
X1
PDDL DMP # PL AT 8
R1
@ -1826,7 +1826,7 @@ KEPC2 EQUALS 36D
# TDESIRED ERASE +1
# GEOMSGN ERASE +0
# GUESSW # 0 IF COGA GUESS AVAILABLE, 1 IF NOT
# COGA ERASE +1 # INPUT ONLY IF GUESS IS ZERO.
# COGA ERASE +1 # INPUT ONLY IF GUESSW IS ZERO.
# NORMSW # 0 IF UN TO BE COMPUTED, 1 IF UN INPUT
# UN ERASE +5 # ONLY USED IF NORMSW IS 1
# VTARGTAG ERASE +0
@ -1865,7 +1865,7 @@ DCOGA EQUALS 12D
# T EQUALS 30D
# KEPC1 EQUALS 34D
# KEPC2 EQUALS 36D
# SLOPSW
# SLOPESW
# SOLNSW
# OTHERS --
@ -1885,7 +1885,7 @@ DCOGA EQUALS 12D
COSF EQUALS 24D
# RTNPRM ERASE +0
# SCNRDOT ERASE +0
# SGNRDOT ERASE +0
# RDESIRED ERASE +1