Reentry 2.1 beta version rentry21.bas

Reentry Simulation Program

Downloading the hard way


This is a Reentry Simulation Program. It is listed here as preformated text. You can down load this file by clicking "save as" on your browser file menu, then using a text viewer to clean up the file and remove the extra carrage returns in the program lines.

You should also download the rentry program instruction file which explains how to use this program.

Rentry program instruction file

Return to Spaceflight

10 PRINT "TEXAS SPACELINES INC.   SPACE TRANSPORTATION FOR THE REST OF US!"
20 PRINT "WEB.WT.NET/~MARKGOLL/   MARKGOLL@WT.NET"
30 PRINT "REENTRY 2.1 BY MARK GOLL 2000, SEND IMPROVEMENTS TO 1210 651 6558"
40 INPUT "REDEFINE VEHICLE? (Y/N/)"; A$
50 IF A$ = "Y" THEN 70
60 IF A$ = "N" THEN 210 ELSE 40
70 INPUT "WEIGHT #"; PW
80 INPUT "AREA SQ FT"; AF
90 INPUT "PROCESSOR DELAY (486-33=1)"; DL
100 INPUT "HIGH ALTITUDE (H) OR BALLISTIC (B) REENTRY TYPE"; C$
110 IF C$ = "H" THEN 190 ELSE 120
120 IF C$ = "B" THEN 130 ELSE 100
130 INPUT "SHAPE FACTOR CD"; CD
140 INPUT "DROUGE CHUTE AREA SQ FT"; DF
150 INPUT "DROUGE CHUTE DEPLOY ALTITUDE FT"; DA
160 INPUT "MAIN CHUTE AREA SQ FT"; MF
170 INPUT "MAIN CHUTE DEPLOY ALTITUDE FT"; MA
180 GOTO 210
190 AN = 45
200 INPUT "DRAG DEVICE AREA SQ FT"; DDA
210 REM MODEL ATMOSPHERE DATA
220 DATA 2.381E-3,2.30E-3,2.25E-3,2.175E-3,2.125E-3,2.06E-3,2.0E-3,1.93E-3,1.88E-3,1.82E-
3
230 DATA 1.744E-3,1.25E-3,8.797E-4,6.021E-4,3.837E-4,2.364E-4,8.861E-5
240 DATA 5.353E-5,3.294E-5,2.062E-5,1.312E-5,8.472E-6,5.565E-6,3.781E-6
250 DATA 2.569E-6,1.747E-6,1.188E-6,8.795E-7,5.777E-7,3.999E-7,2.711E-7
260 DATA 1.797E-7,1.160E-7,7.273E-8,4.159E-8
270 DATA 2.312E-8,1.344E-8,8.189E-9,5.213E-9,3.456E-9,2.381E-9,1.679E-9
280 DATA 1.148E-9,7.938E-10,5.553E-10,3.926E-10,2.804E-10,2.022E-10
290 DATA 1.471E-10,1.079E-10,7.785E-11,5.953E-11,4.471E-11,3.381E-11
300 DATA 2.574E-11,1.972E-11,1.520E-11,1.179E-11,9.180E-12,8.000E-12
310 DATA 7.0E-12,6.0E-12,5.0E-12,4.0E-12,3.0E-12,2.0E-12,1.0E-12,5.0E-13,1.0E-14,0
320 REM DIMENSION ATMOSPHERE DATA
330 DIM A(10), B(60)
340 FOR X = 0 TO 9
350 READ A(X)
360 NEXT X
370 FOR X = 0 TO 59
380 READ B(X)
390 NEXT X
400 REM FREE SPACE!
410 REM MERCURY CAPSULE; WEIGHT 2460# AREA 30.17SQFT CD 0.8, DROUGE 28 @ 
21000 FT MAIN 3115 @ 9800 FT
420 TC = O: HV = 25610: VV = 0: VD = 0: HD = 0: DR = 0: AL = 600000!: VA = 0: HA = 0: HT = 
0: OV = 25610: RA = 0: HD = 0
430 REM STOP/CONT
440 CLS
450 PRINT "CHANGE VARIABLES OR CONT"
460 STOP
470 REM MAIN PROGRAM  *************************
480 REM GO TO DISPLAY TO SET UP SCREEN
490 GOSUB 790
500 INPUT "REENTER Y-N ?  A=ABORT S=S TURN"; B$
510 IF B$ = "Y" THEN 530
520 IF B$ = "N" THEN 460 ELSE 500
530 HV = HV - 500
540 REM GO TO ATMOSPHERE SUBROUTINE ******
550 GOSUB 1340
560 IF C$ = "H" THEN 570 ELSE 600
570 REM HIGH ALTITUDE DRAG AND LIFT *****
580 GOSUB 1560
590 GOTO 670
600 REM BALLISTIC DRAG ****
610 CH = AF * CD
620 CV = AF * CD
630 REM CHUTE DEPLOY***
640 IF AL < DA THEN GOSUB 1800
650 IF AL < MA THEN GOSUB 1840
660 GOSUB 1460
670 REM GO TO FORCES SUBROUTINE **********
680 GOSUB 1180
690 IF INKEY$ = "S" THEN 700 ELSE 710
700 VV = VV - 200
710 REM USE DISPLAY SUB TO INSERT NUMBERS*
720 GOSUB 790
730 REM TIME DELAY LOOP
740 FOR X = 0 TO DL
750 Y = 1 / 10
760 NEXT X
770 IF INKEY$ = "A" THEN 430 ELSE 540
780 END
790 REM DISPLAY SUBROUTINE ***************
800 SCREEN 2
810 DK = INT(SQR((DVH * DVH) + (DH * DH)))
820 TA = INT(SQR((VA * VA) + (HA * HA)))
830 VK = INT(SQR((VV * VV) + (HV * HV)))
840 LOCATE 8, 15: PRINT , TC
850 LOCATE 8, 1: PRINT , "TIME/10S"
860 LOCATE 9, 15: PRINT , INT(HD)
870 LOCATE 9, 1: PRINT , "RANGE MI"
880 LOCATE 10, 15: PRINT , INT(AL)
890 LOCATE 10, 1: PRINT , "ALTITUDE"
900 LOCATE 11, 15: PRINT , INT(VV)
910 LOCATE 11, 1: PRINT , "VERT VEL"
920 LOCATE 12, 15: PRINT , VK
930 LOCATE 12, 1: PRINT , "VELOCITY"
940 LOCATE 13, 15: PRINT , DK
950 LOCATE 13, 1: PRINT , "DRAG"
960 LOCATE 14, 15: PRINT , TA
970 LOCATE 14, 1: PRINT , "ACCEL"
980 LOCATE 15, 15: PRINT , INT(HT)
990 LOCATE 15, 1: PRINT , "HT?/SQFT"
1000 REM LINE DRAWING OF ANGLE OF ATTACK AND VELOCITY VECTOR
1010 LOCATE 20, 1
1020 PRINT "TOP DISPLAY IS ANGLE OF ATTACK, BOTTOM IS VELOCITY VECTOR"
1030 IF C$ = "B" THEN 1090
1040 XA = INT(100 * CO)
1050 YA = (INT(SQR(10000 - (XA * XA)))) * .33
1060 X = 500 - XA
1070 Y = 50 - YA
1080 LINE (500, 50)-(X, Y), 1
1090 IF VK <= 0 THEN 1160
1100 IF AL <= 0 THEN 1160
1110 XB = INT(100 * (INT(HV) / VK))
1120 YB = INT((SQR(10000 - (XB * XB))) * .43)* SGN(VV)
1130 X = 500 - XB
1140 Y = 120 - YB
1150 LINE (500, 120)-(X, Y), 2
1160 RETURN
1170 REM ORBIT = 25610 FT/SEC AT 600K FT ALTITUDE
1180 REM FORCES SUBROUTINE ******
1190 VA = ((-1 * DV)/ (PW / 32)) - 32
1200 HA = (-1 * DH) / (PW / 32)
1210 VV = VV + ((VA * .1) + ((HV / OV) * 3.2))
1220 HV = HV + (HA * .1)
1230 IF HV < 0 THEN HV = 0
1240 RA = RA + (HV * .1)
1250 HD = RA / 5280
1260 AL = AL + (VV *.1)
1270 TC = TC + 1
1280 REM VEHICLE TOUCHDOWN
1290 IF AL < 0 THEN 1300 ELSE 1330
1300 LOCATE 18, 1
1310 PRINT , "TOUCHDOWN"
1320 GOTO 460
1330 RETURN
1340 REM ATMOSPHERE SUBROUTINE *****
1350 AK = INT(AL / 1000)
1360 AT = INT(AL / 10000)
1370 IF AK < 10 THEN GOSUB 1400
1380 IF AT > 1 THEN GOSUB 1430
1390 RETURN
1400 REM LOW ALTITUDE BY 1 000 FT
1410 AD = A(AK)
1420 RETURN
1430 REM HIGH ALTITUDE BY 10 000 FT ***
1440 AD = B(AT)
1450 RETURN
1460 REM BALLISTIC DRAG SUBROUTINE ******
1470 IF AT < 10 THEN 1490
1480 IF AT < 42 THEN ECFB = ((AT - 10) * .0315) + .01
1490 DH = .5 * (AD * ((HV * ABS(HV)) * CH))
1500 DV = .5 * (AD * ((VV * ABS(VV)) * CV))
1510 HTH = .5 * HV * DH * ECFB / AF
1520 HTV = .5 * VV * DV * ECFB / AF
1530 HT = HTH + HTV
1540 DVH = DV
1550 RETURN
1560 REM HIGH ALTITUDE LIFT AND DRAG SUBROUTINE ******
1570 IF VV = 0 THEN 1650
1580 IF VV > 0 THEN 1600
1590 IF VV < 0 THEN 1630
1600 IF AN < 6 THEN 1650
1610 AN = AN - 1
1620 GOTO 1650
1630 IF AN = 45 THEN 1650
1640 IF AN < 45 THEN AN = AN + 1
1650 AR = AN / 57.32
1660 SI = SIN(AR)
1670 CO = COS(AR)
1680 CH = AF * SI
1690 DH = .5 * (AD * ((HV * ABS(HV)) * CH))
1700 DV = -1*((DH/SI)*CO)
1710 CH = (AF * SI) + (AF / 10) + DDA
1720 DH = .5 * (AD * ((HV * ABS(HV)) * CH))
1730 CV = AF * CO
1740 ECFH = .5
1750 HTH = .5 * HV * DH * ECFH / AF
1760 DVH = .5 * AD * VV * ABS(VV) * CV
1770 HTV = .5 * VV * DVH * ECFH / AF
1780 HT = HTH + HTV
1790 RETURN
1800 REM DROUGE CHUTE ***
1810 CH = (AF * CD) + DF
1820 CV = (AF * CD) + DF
1830 RETURN
1840 REM MAIN CHUTE ***
1850 CH = (AF * CD) + (MF * 1.2)
1860 CV = (AF * CD) + (MF * 1.2)
1870 RETURN

Return to Spaceflight