home *** CD-ROM | disk | FTP | other *** search
- REM
- REM THIS IS PROGRAM HOLECALC.BAS. IT CALCULATES THE PROPERTIES OF
- REM A NEWTONIAN BLACK HOLE (MASS DENSITY OR RADIUS) GIVEN ONE OF
- REM THOSE PROPERTIES.***THIS IS VERSION # 2***
- REM IT CAN BE SHOWN THAT IF K = 3*C^2/(4*Pi*G) = 3.22 * TEN(27) GM/CC
- REM THAT R^2*D = K, WHERE C IS THE VELOCITY OF LIGHT, G IS
- REM NEWTON'S GRAVITATIONAL CONSTANT, PI = 3.1415926, R IS THE
- REM IS THE CRITICAL RADIUS AND D IS THE CRITICAL DENSITY AT THAT
- REM RADIUS.
- REM PREVIOUS ESTIMATES WERE BASED ON A MISTAKE BY THE REV MR
- REM MICHELL IN PROCEDINGS OF ROYAL ACADEMY (LONDON), WHO ASSUMED
- REM THAT IF THE ESCAPE VELOCITY WAS C, BODIES WOULD BE UNABLE TO
- REM LEAVE THE BLACK HOLE. IT IS PATENTLY OBVIOUS FROM CELESTIAL
- REM MECHANICS THAT SUBLUMINIAL VELOCITY OBJECTS WOULD BE ABLE TO
- REM ORBIT UNTIL THE ESCAPE VELOCITY REACHED 2^.5 * C, AT WHICH
- REM NOT EVEN LIGHT WOULD BE ABLE TO ORBIT.
- REM THIS PROGRAM WAS WRITTEN BY MIKE FINERTY, 11/25/84 IN S-BASIC
- REM 200 YEARS AFTER MR MICHELL'S MISTAKE. REVISED 4/23/85.
- REM *************************************************************
- REM
- 10 VAR K,G,RLOG,DLOG,MLOG,QUANT,SOLS,L = REAL
- VAR ANS, RESPONSE = STRING:10
- LET L = 2.302585
- LET K = 3.22E+27
- REM
- PRINT "PROGRAM RETURNS CRITICAL VALUE OF R,D&M IN CGS SYSTEM"
- PRINT "PLEASE SELECT INPUT"
- PRINT
- PRINT "R ....... RADIUS IN CM"
- PRINT
- PRINT "D ....... DENISTY IN GRAMS/CC"
- PRINT
- PRINT "M ....... MASS IN GRAMS"
- PRINT
- PRINT "MLOG .... LOGARITHM OF MASS IN GRAMS"
- PRINT
- REM
- INPUT "PLEASE INPUT LETTER OF CHOICE"; RESPONSE
- INPUT "PLEASE INPUT QUANTITY OF CHOICE"; QUANT
- IF ABS(LOG(QUANT)/L) > 34 THEN PRINT "OUT OF RANGE"
- IF ABS(LOG(QUANT)/L) > 34 THEN GOTO 20
- PRINT RESPONSE;" = ";QUANT
- REM
- CASE RESPONSE OF
- "R": BEGIN
- DLOG = LOG(K)/L - (2*LOG(QUANT)/L))
- MLOG = .6220886 + LOG(K)/L + LOG(QUANT)/L
- PRINT "DENSITY=";10^(DLOG-INT(DLOG));"TEN";INT(DLOG);" GMS/CC"
- PRINT "MASS = ";10^(MLOG-INT(MLOG));"TEN";INT(MLOG);" GMS"
- SOLS = MLOG - 33.29885
- PRINT "SOLAR MASSES = ";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
- END
- "D": BEGIN
- RLOG = 0.5*(LOG(K)/L - LOG(QUANT)/L)
- MLOG = .6220886 + 0.5*(3*LOG(K)/L-LOG(QUANT)/L)
- SOLS = MLOG - 33.29885
- PRINT "RADIUS =";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);" CM"
- PRINT "MASS =";10^(MLOG-INT(MLOG));"TEN";INT(MLOG);" GMS"
- PRINT "SOLAR MASSES = ";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
- END
- "M": BEGIN
- DLOG = 1.244177 + 3*LOG(K)/L -2*LOG(QUANT)/L
- RLOG = -.6220886 +LOG(QUANT)/L-LOG(K)/L
- SOLS = LOG(QUANT)/L - 33.29885
- PRINT "DENSITY = ";10^(DLOG-INT(DLOG));"TEN";INT(DLOG);" GMS/CC"
- PRINT "RADUIS = ";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);" CM"
- PRINT "SOLAR MASSES = ";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
- END
- "MLOG": BEGIN
- SOLS = QUANT - 33.2989
- DLOG = 1.24418 + 3*LOG(K)/L - 2*QUANT
- RLOG = -.622089 + QUANT - LOG(K)/L
- PRINT "SOLAR MASSES =";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
- PRINT "DENSITY =";10^(DLOG-INT(DLOG));"TEN";INT(DLOG);" GMS/CC"
- PRINT "RADIUS =";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);" CM"
- END
- END
- 20 PRINT "DO YOU WISH TO TRY ANOTHER VARIABLE OR VALUE? Y/N?"
- INPUT ANS
- IF ANS = "Y" OR ANS = "y" THEN GOTO 10
- INT(RLOG);" CM"
- PRINT "MASS =";10^(MLOG-INT(MLOG));