Proof TVCMASSPROP (#269) (#326)

* Proof FIXED_FIXED_CONSTANT_POOL (#207)

* Proof TVCMASSPROP (#269)

* Revert the leading and trailing line breaks of the page comment "# Page ppp" as they were (#269)

* Fix typo: AMMNDMENT -> AMENDMENT [p952]
pull/337/head
Glenn Dwiyatcita 2018-05-01 16:54:58 +02:00 committed by oldmud0
parent a6693fd688
commit ffcfaf5d51
1 changed files with 57 additions and 51 deletions

View File

@ -31,95 +31,100 @@
# PROGRAM NAME....MASSPROP
# LOG SECTION....TVCMASSPROP PROGRAMMER...MELANSON (ENGEL, SCHLUNDT)
#
#
# FUNCTIONAL DESCRIPTION:
#
# MASSPROP OPERATES IN TWO MODES: (1) IF LEM MASS OR CONFIGURATION ARE UPDATED (MASSPROP DOES NOT TEST
# FOR THIS) THE ENTIRE PROGRAM MUST BE RUN THROUGH, BREAKPOINT VALUES AND DERIVATIVES OF THE OUTPUTS WITH
# RESPECT TO CSM MASS BEING CALCULATED PRIOR TO CALCULATION OF THE OUTPUTS. (2) OTHERWISE, THE OUTPUTS CAN BE
# CALCULATED USING PREVIOUSLY COMPUTED BREAKPOINT VALUES AND DERIVATIVES.
# MASSPROP OPERATES IN TWO MODES:(1)IF LEM MASS OR CONFIGURATION ARE UPDATED (MASSPROP DOES NOT TEST
# FOR THIS) THE ENTIRE PROGRAM MUST BE RUN THROUGH, BREAKPOINT VALUES AND DERIVATIVES OF THE OUTPUTS WITH
# RESPECT TO CSM MASS BEING CALCULATED PRIOR TO CALCULATION OF THE OUTPUTS. (2)OTHERWISE, THE OUTPUTS CAN BE
# CALCULATED USING PREVIOUSLY COMPUTED BREAKPOINT VALUES AND DERIVATIVES.
#
# CALLING SEQUENCES
#
# IF LEM MASS OR CONFIGURATION HAS BEEN UPDATED, TRANSFER TO MASSPROP, OTHERWISE TRANSFER TO FIXCW.
# L TC BANKCALL or IBNKCALL
# L TC BANKCALL OR IBNKCALL
# L+1 CADR MASSPROP
# OR
# L+1 CADR FIXCW
#
# L+2 RETURNS VIA Q
#
# CALLED: IN PARTICULAR BY DONOUN47 (JOB) AND TVCEXECUTIVE (TASK)
# CALLED IN PARTICULAR BY DONOUN47 (JOB) AND TVCEXECUTIVE (TASK)
#
# JOBS OR TASKS INITIATED: NONE
# JOBS OR TASKS INITIATED - NONE
#
# SUBROUTINES CALLED: NONE
# SUBROUTINES CALLED - NONE
#
# ERASABLE INITIALIZATION REQUIRED
#
# LEMMASS MUST CONTAIN LEM MASS SCALED AT B+16 KILOGRAMS
# CSMMASS MUST CONTAIN CSM MASS SCALED AT B+16 KILOGRAMS
#
# DAPDATR1 MUST BE SET TO INDICATE VEHICLE CONFIGURATION.
# BITS (15,14,13) = ( 0 , 0 , 1 ) LEM OFF
# ( 0 , 1 , 0 ) LEM ON (ASCNT,DSCNT)
# ( 1 , 1 , 0 ) LEM ON (ASCNT ONLY)
#
# ALARMS: NONE
#
# EXIT: TC Q
# ALARMS - NONE
#
# EXIT - TC Q
#
# OUTPUTS:
#
# (1) IXX, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ.
# (2) IAVG, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ.
# (3) IAVG/TLX, SINGLE PRECISION, SCALED AT B+2 SEC-SQD
#
# (1)IXX, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ.
# (2)IAVG, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ.
# (3)IAVG/TLX, SINGLE PRECISION, SCALED AT B+2 SEC-SQD
# THEY ARE STORED IN CONSECUTIVE REGISTERS IXX0, IXX1, IXX2
# CONVERSION FACTOR: (SLUG-FTSQ) = 0.737562 (KG-MSQ)
#
# CONVERSION FACTOR : (SLUG-FTSQ) = 0.737562 (KG-MSQ)
# Page 952
#
# OUTPUTS ARE CALCULATED AS FOLLOWS:
#
# (1) IF LEM DOCKED, LEMMASS IS FIRST ELIMINATED AS A PARAMETER
# (1) IF LEM DOCKED, LEMMASS IS FIRST ELIMINATED AS A PARAMETER
#
# VARST0 = INTVALUE0 + LEMMASS(SLOPEVAL0) IXX BREAKPOINT VALUE
# VARST1 = INTVALUE1 + LEMMASS(SLOPEVAL1) IAVG BREAKPOINT VALUE
# VARST2 = INTVALUE2 + LEMMASS(SLOPEVAL2) IAVG/TLX BREAKPOINT VALUE
# VARST0 = INTVALUE0 + LEMMASS(SLOPEVAL0) IXX BREAKPOINT VALUE
# VARST1 = INTVALUE1 + LEMMASS(SLOPEVAL1) IAVG BREAKPOINT VALUE
# VARST2 = INTVALUE2 + LEMMASS(SLOPEVAL2) IAVG/TLX BREAKPOINT VALUE
#
# VARST3 = INTVALUE3 + LEMMASS(SLOPEVAL3) IAVG/TLX SLOPE FOR CSMMASS > 33956 LBS (SPS > 10000 LBS)
# VARST4 = INTVALUE4 + LEMMASS(SLOPEVAL4) IAVG SLOPE FOR CSMMASS > 33956 LBS (SPS > 10000 LBS)
# VARST3 = INTVALUE3 + LEMMASS(SLOPEVAL3) IAVG/TLX SLOPE FOR CSMMASS > 33956 LBS ( SPS > 10000 LBS)
# VARST4 = INTVALUE4 + LEMMASS(SLOPEVAL4) IAVG SLOPE FOR CSMMASS > 33956 LBS ( SPS > 10000 LBS)
#
# VARST5 = INTVALUE5 + LEMMASS(SLOPEVAL5) IXX SLOPE FOR ALL VALUES OF CSMMASS
# VARST5 = INTVALUE5 + LEMMASS(SLOPEVAL5) IXX SLOPE FOR ALL VALUES OF CSMMASS
#
# VARST6 = INTVALUE6 + LEMMASS(SLOPEVAL6) IAVG SLOPE FOR CSMMASS < 33956 LBS (SPS < 10000 LBS)
# VARST7 = INTVALUE7 + LEMMASS(SLOPEVAL7) IAVG/TLX SLOPE FOR CSMMASS < 33956 LBS (SPS < 10000 LBS)
# VARST6 = INTVALUE6 + LEMMASS(SLOPEVAL6) IAVG SLOPE FOR CSMMASS < 33956 LBS ( SPS < 10000 LBS)
# VARST7 = INTVALUE7 + LEMMASS(SLOPEVAL7) IAVG/TLX SLOPE FOR CSMMASS < 33956 LBS ( SPS < 10000 LBS)
#
# VARST8 = INTVALUE8 + LEMMASS(SLOPEVAL8) IAVG DECREMENT TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF
# VARST9 = INTVALUE9 + LEMMASS(SLOPEVAL9) IAVG/TLX DECREMENT TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF
# VARST8 = INTVALUE8 + LEMMASS(SLOPEVAL8) IAVG DECREMENT TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF
# VARST9 = INTVALUE9 + LEMMASS(SLOPEVAL9) IAVG/TLX DECREMENT TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF
#
# (2) IF LEM NOT DOCKED
# (2) IF LEM NOT DOCKED
#
# VARST0 = NOLEMVAL0 WHERE THE MEANING AND SCALING OF VARST0
# . TO VARST9 ARE THE SAME AS GIVEN ABOVE
# .
# . NOTE... FOR THIS CASE, VARST8,9 HAVE NO
# VARST9 = NOLEMVAL9 MEANING (THEY ARE COMPUTED BUT NOT USED)
# VARST0 = NOLEMVAL0 WHERE THE MEANING AND SCALING OF VARST0
# . . TO VARST9 ARE THE SAME AS GIVEN ABOVE
# . .
# . . NOTE... FOR THIS CASE, VARST8,9 HAVE NO
# VARST9 = NOLEMVAL9 MEANING (THEY ARE COMPUTED BUT NOT USED)
#
# (3) THE FINAL OUTPUT CALCULATIONS ARE THEN DONE
# (3) THE FINAL OUTPUT CALCULATIONS ARE THEN DONE
#
# IXX0 = VARST0 + (CSMMASS + NEGBPW)VARST5 IXX
# IXX0 = VARST0 + (CSMMASS + NEGBPW)VARST5 IXX
#
# IXX1 = VARST1 + (CSMMASS + NEGBPW)VARST(4 OR 6) IAVG
# IXX1 = VARST1 + (CSMMASS + NEGBPW)VARST(4 OR 6) IAVG
#
# IXX2 = VARST2 + (CSMMASS + NEGBPW)VARST(3 OR 7) IAVG/TLX
# IXX2 = VARST2 + (CSMMASS + NEGBPW)VARST(3 OR 7) IAVG/TLX
#
# THE DATA USED CAME FROM THE CSM/LM SPACECRAFT OPERATIONAL DATA BOOK
# VOL. 3, NASA DOCUMENT SNA-8-D-027 (MARCH 1968)
#
# PERTINENT MASS DATA: CSM WEIGHT (FULL) 64100 LBS.
# (EMPTY) 23956 LBS.
# LEM WEIGHT (FULL) 32000 LBS.
# (EMPTY) 14116 LBS.
# THE DATA USED CAME FROM CSM/LM SPACECRAFT OPERATIONAL DATA BOOK.
# VOL. 3, NASA DOCUMENT SNA-8-D-027 (MARCH 1968)
#
# (WEIGHTS ARE FROM AMMENDMENT #1 (APRIL 24, 1968) TO ABOVE DATA BOOK)
# PERTINENT MASS DATA : CSM WEIGHT (FULL) 64100 LBS.
# (EMPTY) 23956 LBS.
# LEM WEIGHT (FULL) 32000 LBS.
# (EMPTY) 14116 LBS.
#
# (WEIGHTS ARE FROM AMENDMENT #1 (APRIL 24,1968) TO ABOVE DATA BOOK)
# Page 953
BANK 25
@ -128,6 +133,7 @@
EBANK= BZERO
COUNT* $$/MASP
MASSPROP CAF NINE # MASSPROP USES TVC/RCS INTERRUPT TEMPS
TS PHI333 # SET UP TEN PASSES
@ -152,7 +158,7 @@ LEMYES CAE LEMMASS # LEM IS ATTACHED
STOINST INDEX PHI333 # STORAGE INST BEGIN HERE
TS VARST0
CCS PHI333 # ARE ALL TEN PASSES COMPLETED
TCF MASSPROP +1 # NO: GO DECREMENT PHI333
TCF MASSPROP +1 # NO - GO DECREMENT PHI333
DXTEST CCS DAPDATR1 # IF NEG, BIT15 IS 1, LEM DSCNT STAGE OFF
TCF FIXCW
@ -162,11 +168,11 @@ DXTEST CCS DAPDATR1 # IF NEG, BIT15 IS 1, LEM DSCNT STAGE OFF
CA DXITFIX
ADS VARST0 +7
FIXCW CAF BIT2 # COMPUTATION PHASE BEGINS HERE. SET UP
FIXCW CAF BIT2 # COMPUTATION PHASE BEGINS HERE. SET UP
TS PHI333 # THREE PASSES
TS PSI333
CAE CSMMASS # GET DELTA CSM WEIGHT: SIGN DETERMINES
CAE CSMMASS # GET DELTA CSM WEIGHT - SIGN DETERMINES
AD NEGBPW # SLOPE LOCATIONS.
DOUBLE
TS TEMP333
@ -176,7 +182,7 @@ FIXCW CAF BIT2 # COMPUTATION PHASE BEGINS HERE. SET UP
CAF NEG2
TS PHI333
PEGGY INDEX PHI333 # ALL IS READY: CALCULATE OUTPUTS NOW
PEGGY INDEX PHI333 # ALL IS READY - CALCULATE OUTPUTS NOW
CAE VARST5 # GET SLOPE
EXTEND
MP TEMP333 # MULT BY DELTA CSM WEIGHT
@ -184,10 +190,11 @@ PEGGY INDEX PHI333 # ALL IS READY: CALCULATE OUTPUTS NOW
INDEX PSI333
AD VARST0 # ADD BREAKPOINT VALUE
INDEX PSI333
TS IXX # ***** OUTPUTS (IXX0, IXX1, IXX2) *****
TS IXX # ****** OUTPUTS (IXX0, IXX1, IXX2) ******
CCS PSI333 # BOOKKEEPING: MASSPROP FINISHED OR NOT
TCF BOKKEP2 # NO: GO TAKE CARE OF INDEXING REGISTERS
CCS PSI333 # BOOKKEEPING - MASSPROP FINISHED OR NOT
TCF BOKKEP2 # NO - GO TAKE CARE OF INDEXING REGISTERS
CAE DAPDATR1 # UPDATE WEIGHT/G
MASK BIT14
@ -236,4 +243,3 @@ SLOPEVAL DEC 1.96307 B-6
NEGBPW DEC -15402.17 B-16
DXITFIX DEC* -1.88275 E-5 B+12*