DECLARE FUNCTION f! (A!, V!, M!, k!, t!) 10 PRINT CHR$(12); 20 PRINT "MAXWELL'S SPEED DISTRIBUTION FUNCTION" 30 PRINT "f(v)=A*v*v*EXP(-M*v*v/(2.*k*T)) " REM REM GE Copeland REM dept of Physics REM Old Dominion University REM Norfolk VA REM 3/2001 REM 600 DIM Vel(500), n(500) 800 pi = 4! * ATN(1!) 900 M = 9.109558E-31 u = 1.6605402D-27 PRINT "Select the mass of the species" PRINT "1. Hydrogen atom" PRINT "2. Helium atom" PRINT "3. Oxygen Atom" PRINT "4. An electron" PRINT "5. You input a mass - in Kg" PRINT "Input 1,2,3,4, or 5"; INPUT askm IF askm = 1 OR askm = 2 OR askm = 3 OR askm = 4 OR askm = 5 THEN GOTO 911 ELSE GOTO 900 END IF 911 REM IF askm = 1 THEN M = 1.008 * u IF askm = 2 THEN M = 4.003 * u IF askm = 3 THEN M = 15.999 * u IF askm = 4 THEN M = 9.10393897D-31 IF askm = 5 THEN PRINT "Input the atomic mass of the species"; INPUT M M = M * u END IF 1000 k = 1.380622E-23 1100 C = 299792500# 1103 PRINT " THE MASS OF THE PARTICLE IS "; M; " KG" 1107 PRINT "THE TEMPERATURE WILL BE varied from 300 to 10000 IN STEPS OF 500K" 1200 H = 0 PRINT "Temp(K) V mp V avg V rms all m/s" 1300 FOR t = 300 TO 10000 STEP 500 1400 1500 V1 = SQR(2! * k * t / M) vmp = SQR(2! * k * t / M) vavg = SQR(8! * k * t / (pi * M)) Vrms = SQR(3 * k * t / M) PRINT t, vmp, vavg, Vrms tsave = t NEXT t PRINT "Do you want to input a Temperature for a distribution plot? " INPUT Task$ IF LEFT$(Task$, 1) = "N" OR LEFT$(Task$, 1) = "n" THEN PRINT " Will use the Last temperature "; tsave ELSE PRINT "Input the Temperature"; INPUT tsave Vrms = SQR(3 * k * tsave / M) END IF 1900 FOR X = 1 TO 299 A = 4! * pi * (M / (2 * pi * k * tsave)) ^ (3 / 2) 2000 H = H + 1 2100 V = X * Vrms / 100! 2200 E = .5 * M * V * V 2300 n(H) = f(A, V, M, k, tsave) 2500 Vel(H) = V 2700 NEXT X 2800 REM 3000 OPEN "PLTTEK.DAT" FOR OUTPUT AS #2 3100 PRINT "OUTPUT WILL BE TO PLTTEK DATA FOR TEKTRONIX PLOTTING" 3200 PRINT #2, 1 3300 PRINT #2, 1 3400 PRINT #2, INT(H) 3500 PRINT #2, "PROBABILITY" 3600 PRINT #2, "VELOCITY (M/S)" 3700 PRINT #2, "MAXWELL's Speed Distribution" 3800 PRINT #2, "Temperature ="; tsave; " K species ="; M / u; " AMU" 3900 FOR J = 1 TO H 4000 PRINT #2, Vel(J), n(J) 4100 NEXT J CLOSE #2 CHAIN "Tek2wplt.bas" 4200 END FUNCTION f (A, V, M, k, t) f = A * V * V * EXP(-M * V * V / (2! * k * t)) END FUNCTION