From f7f8dbc625f8c4be5b06f37c4acd77a7f538c18b Mon Sep 17 00:00:00 2001 From: Thomas Danner Date: Fri, 28 Dec 2018 12:33:22 -0600 Subject: [PATCH] Proof CONIC_SUBROUTINES --- Comanche055/CONIC_SUBROUTINES.agc | 90 +++++++++++++++---------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/Comanche055/CONIC_SUBROUTINES.agc b/Comanche055/CONIC_SUBROUTINES.agc index 7e7ce68..5b8670c 100644 --- a/Comanche055/CONIC_SUBROUTINES.agc +++ b/Comanche055/CONIC_SUBROUTINES.agc @@ -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