home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / basic / math.ark / HOLECALC.BAS < prev    next >
Encoding:
BASIC Source File  |  1986-12-21  |  3.4 KB  |  82 lines

  1. REM
  2. REM THIS IS PROGRAM HOLECALC.BAS. IT CALCULATES THE PROPERTIES OF
  3. REM A NEWTONIAN BLACK HOLE (MASS DENSITY OR RADIUS) GIVEN ONE OF 
  4. REM THOSE PROPERTIES.***THIS IS VERSION # 2***
  5. REM IT CAN BE SHOWN THAT IF K = 3*C^2/(4*Pi*G) = 3.22 * TEN(27) GM/CC
  6. REM THAT R^2*D = K, WHERE C IS THE VELOCITY OF LIGHT, G IS
  7. REM NEWTON'S GRAVITATIONAL CONSTANT, PI = 3.1415926, R IS THE
  8. REM IS THE CRITICAL RADIUS AND D IS THE CRITICAL DENSITY AT THAT
  9. REM RADIUS.
  10. REM PREVIOUS ESTIMATES WERE BASED ON A MISTAKE BY THE REV MR
  11. REM MICHELL IN PROCEDINGS OF ROYAL ACADEMY (LONDON), WHO ASSUMED
  12. REM THAT IF THE ESCAPE VELOCITY WAS C, BODIES WOULD BE UNABLE TO
  13. REM LEAVE THE BLACK HOLE. IT IS PATENTLY OBVIOUS FROM CELESTIAL 
  14. REM MECHANICS THAT SUBLUMINIAL VELOCITY OBJECTS WOULD BE ABLE TO 
  15. REM ORBIT UNTIL THE ESCAPE VELOCITY REACHED 2^.5 * C, AT WHICH
  16. REM NOT EVEN LIGHT WOULD BE ABLE TO ORBIT.
  17. REM THIS PROGRAM WAS WRITTEN BY MIKE FINERTY, 11/25/84 IN S-BASIC
  18. REM 200 YEARS AFTER MR MICHELL'S MISTAKE. REVISED 4/23/85.
  19. REM *************************************************************
  20. REM
  21. 10 VAR K,G,RLOG,DLOG,MLOG,QUANT,SOLS,L = REAL
  22. VAR ANS, RESPONSE = STRING:10 
  23.     LET L = 2.302585
  24.     LET K = 3.22E+27
  25. REM
  26.      PRINT "PROGRAM RETURNS CRITICAL VALUE OF R,D&M IN CGS SYSTEM"
  27.      PRINT "PLEASE SELECT INPUT"
  28.      PRINT
  29.      PRINT "R ....... RADIUS IN CM"
  30.      PRINT 
  31.      PRINT "D ....... DENISTY IN GRAMS/CC"
  32.      PRINT
  33.      PRINT "M ....... MASS IN GRAMS"
  34.      PRINT
  35.      PRINT "MLOG .... LOGARITHM OF MASS IN GRAMS"
  36.      PRINT
  37. REM
  38.     INPUT "PLEASE INPUT LETTER OF CHOICE"; RESPONSE
  39.     INPUT "PLEASE INPUT QUANTITY OF CHOICE"; QUANT
  40.     IF ABS(LOG(QUANT)/L) > 34 THEN PRINT "OUT OF RANGE"
  41.     IF ABS(LOG(QUANT)/L) > 34 THEN GOTO 20
  42.     PRINT RESPONSE;" = ";QUANT  
  43. REM
  44.      CASE RESPONSE OF
  45. "R": BEGIN
  46.      DLOG =  LOG(K)/L - (2*LOG(QUANT)/L))
  47.      MLOG = .6220886 + LOG(K)/L + LOG(QUANT)/L
  48.      PRINT "DENSITY=";10^(DLOG-INT(DLOG));"TEN";INT(DLOG);" GMS/CC"
  49.      PRINT "MASS = ";10^(MLOG-INT(MLOG));"TEN";INT(MLOG);" GMS"
  50.      SOLS = MLOG - 33.29885     
  51.      PRINT "SOLAR MASSES = ";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
  52.      END
  53. "D": BEGIN
  54.      RLOG =  0.5*(LOG(K)/L - LOG(QUANT)/L)    
  55.      MLOG = .6220886  + 0.5*(3*LOG(K)/L-LOG(QUANT)/L)
  56.      SOLS = MLOG - 33.29885
  57.      PRINT "RADIUS =";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);" CM"
  58.      PRINT "MASS =";10^(MLOG-INT(MLOG));"TEN";INT(MLOG);" GMS"
  59.      PRINT "SOLAR MASSES = ";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
  60.      END
  61. "M": BEGIN
  62.      DLOG = 1.244177 + 3*LOG(K)/L -2*LOG(QUANT)/L
  63.      RLOG = -.6220886 +LOG(QUANT)/L-LOG(K)/L
  64.      SOLS = LOG(QUANT)/L - 33.29885
  65.      PRINT "DENSITY = ";10^(DLOG-INT(DLOG));"TEN";INT(DLOG);" GMS/CC"
  66.      PRINT "RADUIS = ";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);" CM"
  67.      PRINT "SOLAR MASSES = ";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
  68.      END
  69. "MLOG": BEGIN
  70.         SOLS = QUANT - 33.2989
  71.         DLOG = 1.24418 + 3*LOG(K)/L - 2*QUANT
  72.         RLOG = -.622089 + QUANT - LOG(K)/L
  73.         PRINT "SOLAR MASSES =";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
  74.         PRINT "DENSITY =";10^(DLOG-INT(DLOG));"TEN";INT(DLOG);" GMS/CC"
  75.         PRINT "RADIUS =";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);" CM"
  76.         END    
  77. END
  78. 20 PRINT "DO YOU WISH TO TRY ANOTHER VARIABLE OR VALUE? Y/N?"
  79. INPUT ANS
  80. IF ANS = "Y" OR ANS = "y" THEN GOTO 10
  81. INT(RLOG);" CM"
  82.      PRINT "MASS =";10^(MLOG-INT(MLOG));