DECLARE SUB Pager () REM one zone method for integration of REM equations 14.24 to get r,v and P for a shell of gass in a REM cepheid like variable REM cgs units PRINT CHR$(12); PRINT "Adiabatic Radial Oscillation Model of a Cepheid" G = 6.67259E-08 M = 1E+34 dt = 10000! ms = 1E+29 gamma = 5! / 3! GM = G * M Pie = 4! * ATN(1!) con = (4! * Pie) / ms v0 = 0 tf = 1500000! REM DIM Press(200), radial(200), vel(200), time(200), Lumin(200) Vi = 0! Pi = 560000! Ri = 1.7E+12 PRINT "Initial Conditions:" PRINT "Velocity of shell = "; Vi; " cm/s" PRINT "Radius of shell = "; Ri; " cm" PRINT "Pressure in shell = "; Pi; " dynes/cm^2" PRINT "Mass of shell = "; ms; "gm" PRINT "Mass of star = "; M; "gm" PRINT "Gamma of the gas equation pV^(gamma) ="; gamma CALL Pager ncount = 0 FOR t = 0 TO tf STEP dt ncount = ncount + 1 time(ncount) = t Vf = Vi + ((con * Ri ^ 2 * Pi) - GM / Ri ^ 2) * dt REM Rf = Ri + Vf * dt vel(ncount) = Vf radial(ncount) = Rf Pf = Pi * (Ri / Rf) ^ (5) Press(ncount) = Pf Lumin(ncount) = 4! * Rf ^ 2 * Pie Pi = Pf Vi = Vf Ri = Rf NEXT t ip = 7 ix = 0 PRINT "time s radial cm Velocity cm/s Press dyne/cm^2 Lum erg/s" FOR i = 1 TO ncount IF ix = ip THEN PRINT USING " ##.####^^^^^"; time(i); radial(i); vel(i); Press(i); Lumin(i) ix = 0 ELSE ix = ix + 1 END IF NEXT i CALL Pager PRINT "Normalizing data" REM normalize all data to one REM max = -1E+23 FOR i = 1 TO ncount IF radial(i) > max THEN max = radial(i) ELSE END IF NEXT i FOR i = 1 TO ncount radial(i) = radial(i) / max NEXT i REM now do Vel max = -1E+23 FOR i = 1 TO ncount IF vel(i) > max THEN max = vel(i) ELSE END IF NEXT i FOR i = 1 TO ncount vel(i) = vel(i) / max NEXT i REM Now do pressure max = -1E+23 FOR i = 1 TO ncount IF Press(i) > max THEN max = Press(i) ELSE END IF NEXT i FOR i = 1 TO ncount Press(i) = Press(i) / max NEXT i REM Now do luminosity max = -1E+23 FOR i = 1 TO ncount IF Lumin(i) > max THEN max = Lumin(i) ELSE END IF NEXT i FOR i = 1 TO ncount Lumin(i) = Lumin(i) / max NEXT i OPEN "PLTTEK.DAT" FOR OUTPUT AS #2 PRINT #2, 1 PRINT #2, 4 PRINT #2, ncount PRINT #2, "Normalized valuesm" PRINT #2, "time in sec" PRINT #2, "One-zone Cepheid Pulsation" PRINT #2, "Radius, Velocity, Pressure, Luminosity" FOR i = 1 TO ncount PRINT #2, time(i), radial(i) NEXT i FOR i = 1 TO ncount PRINT #2, time(i), vel(i) NEXT i FOR i = 1 TO ncount PRINT #2, time(i), Press(i) NEXT i FOR i = 1 TO ncount PRINT #2, time(i), Lumin(i) NEXT i CLOSE #2 CHAIN "Tek2wplt.bas" END SUB Pager PRINT "Push RETURN to continue"; INPUT dum$ PRINT CHR$(12); END SUB