Переход:.....Назад.....Содержание.....Вперед

Программа моделирования вспышек новых и сверхновых звезд и результаты расчетов по ней

               По алгоритму, приведенному на рис. П2.2, разработана программа на языке Турбо-Паскаль-7. Эта программа приведена ниже.

{$N+}

Program Simulation; Label Lm38,Lm46,Lm54,Lm69,Lm72,Lm75;

Var Z1 : Array[1..15000] of LongInt; A, Accuracy, C1, C2, CosinusFA, CurrentLightSpeed, DeltaTay, D0, D_factor, Difference, DistToStar, DoublePeriod, Eccentr, FirstApprox, H1, H2, LightSpeed_0, LightSpeedMin, LightSpeedMax, LS_2, MeanAnomaly, Perem, Pin, PR3, PR4, PR5, PR6, PR7, PR8, PR9, RadiationPeriod, ReceptionCell, Rkps, S1, SecondApprox, SinusFA, StarPeriod, Tay, TayMax, TayMin, TNper, TR, Traspr, Uzero, Uzero_2, Umin_2, U2, Umax_2, W, R_star, Tsdvig, Tzend, T_init_1, T_init_2, T_izl_1, T_izl_2: Extended;

F1: Text; I, JR, K, Kz, MaximumValue, MV, Mz, N1, Nper, Nprob, IZ, INN, IKK, IRT, Mzw, Nav, Nsdvig, Nzend: LongInt;

Procedure Gistogram (Time: Extended);

Label Lm84,Lm90,Lm91; begin {83} If Time < TR then goto Lm91 else begin I:=1; Lm84: If I > Nper then goto Lm91 else begin {85} If Time < 0 then goto Lm90 else begin {86} If Time > StarPeriod then goto Lm91 else begin {87} W:=(Time/ReceptionCell)+1.0E0; {88} K:=Trunc(W); {89} Z1[K]:=Z1[K]+1; end; end; end; end; Lm90: Time:=Time + StarPeriod; I:=I+1; goto Lm84; Lm91: Exit; end;

begin {1} Pin :=3.1415926535897932385E0; {2} LightSpeed_0 := 2.99792458E8; {3} Accuracy:=2.0E-16; {4} Uzero:=4.0E-4; {5} Eccentr:=0.6E0; {6} StarPeriod:=360000.0E0; {7} D_factor:=2.0E0; {8} RadiationPeriod := 3.0E0; {9} ReceptionCell :=3.0E+2; {10} LS_2 := LightSpeed_0*LightSpeed_0; {11} Uzero_2:=Uzero*Uzero; {12} PR3:=1 + Eccentr; {13} PR4:=1 - Eccentr; {14} PR5:=6*PR3; {15} PR6:=PR3*PR4; {16} PR7:=4*Eccentr*Uzero_2; {17} PR8:=PR4/PR3; {18} PR9:=PR3/PR4; {19} D0:=StarPeriod*LightSpeed_0*PR6/PR7; {20} Nzend:=Trunc(StarPeriod/ReceptionCell+0.5E0); {21} Tzend:=Nzend*ReceptionCell; {22} Nav:=round(ReceptionCell/RadiationPeriod); {23} DistToStar:=D_factor*D0; {24} Umin_2:=Uzero_2*PR8; {25} Umax_2:=Uzero_2*PR9; {26} LightSpeedMin:=LightSpeed_0*Sqrt(1+Umin_2); {27} LightSpeedMax:=LightSpeed_0*Sqrt(1+Umax_2); {28} TayMax:=DistToStar/LightSpeedMin; {29} TayMin:=DistToStar/LightSpeedMax; {30} Nper:= 2 + Trunc(D_factor); {31} TNper:=Nper*StarPeriod; {32} Tr := - TNper; {33} For K:=1 to Nzend do begin {34} Z1[K]:=0; end; {35} T_init_1:= StarPeriod/2; {36} T_init_2:=3*StarPeriod/2; {37} JR:=0; Lm38: JR:=JR+1; {39} Perem := JR*RadiationPeriod; {40} T_izl_1 := T_init_1 + Perem; {41} T_izl_2 := T_init_2 - Perem; {42} MeanAnomaly:=2*Pin*T_izl_1/StarPeriod; {43} H1:=(MeanAnomaly - Pin)/PR3; {44} H2:=H1*H1*H1; {45} FirstApprox := Pin + H1 + Eccentr*H2/PR5; Lm46: SinusFA:=Sin(FirstApprox); {47} CosinusFA:=Cos(FirstApprox); {48} S1:=Eccentr*SinusFA; {49} C1:=Eccentr*CosinusFA; {50} SecondApprox:=FirstApprox-(FirstApprox-S1-MeanAnomaly)/(1-C1); {51} Difference := abs(FirstApprox - SecondApprox); {52} If Difference < Accuracy then goto Lm54 else begin {53} FirstApprox := SecondApprox; end; goto Lm46; Lm54: U2:= Uzero_2*(1+C1)/(1-C1); {55} CurrentLightSpeed:= LightSpeed_0*Sqrt(1+U2); {56} Traspr:=DistToStar/CurrentLightSpeed; {57} Tay := T_izl_1 + Traspr - TayMax - StarPeriod/2; {58} Gistogram (Tay); {59} Tay := T_izl_2 + Traspr - TayMax - StarPeriod/2; {60} Gistogram (Tay); {61} If T_izl_1 < StarPeriod then goto Lm38 else begin {62} Mzw:=0; {63} For K:=1 to Nzend do begin {64} Mzw:=Mzw + Z1[K]; end; {65} Rkps:=3.0E+19; {66} R_star:=DistToStar/Rkps; {67} MaximumValue:=1; {68} I:=1; Lm69: If I > Nzend then goto Lm75 else begin {70} If Z1[I] > MaximumValue then goto Lm72 else begin {71} I:=I+1; goto Lm69; end; Lm72: IZ:=I; {73} MaximumValue:=Z1[I]; {74} I:=I+1; goto Lm69; Lm75: MV:=MaximumValue; {76} IKK:=IZ+1; {77} INN:=IKK-18; end; {78} For I:=INN to IKK do begin {79} Nprob:=Round(60.0*Z1[I]/MV); {80} Writeln ('*': Nprob,Z1[I]); end; {81} Writeln ('MV=',MV,' IZ=',IZ,' D_factor=',D_factor,' e=',Eccentr); Writeln ('To=',StarPeriod,' Rstar=',R_star,'kps',' Nper=',Nper); Writeln('Nzend=',Nzend,' Nav=',Nav,' Mzw=',Mzw,' Uzero=',Uzero); Writeln('RadPer=',RadiationPeriod,' RecCell=',receptionCell); end;

{82} {$I-} assign (F1,'result'); Rewrite (F1); For I:=1 to Nzend do begin WriteLn (F1,Z1[I]); end; Close(F1); end.

Примечание:

       В операторе 30 величина Nper – это количество периодов, свет от которых приходит к наблюдателю в течение промежутка времени, равного одному периоду обращения двойной звезды

Рис. П2.3. Распространение света на астрономические расстояния [1 - скорость света максимальная (источник света находится в перистре Р, двигаясь с максимальной скоростью); 2 - скорость света минимальная (источник света находится в апоастре А, двигаясь с минимальной скоростью); 3 - окно анализа, равное периоду обращения]

           На рис. П2.3 Nper = 4, т.е. в течение промежутка времени, равного длительности окна анализа Tw = To, к наблюдатель приходят кванты света, излученные в 4-х различных периодах обращения звезды.

А – апоастр; П – периастр

           Приведенные ниже на рис. П2.4 – П2.35 гистограммы рассчитаны при То=3,6Ч 105 = 4 суткам, эксцентриситете эллиптической орбиты е = 0,6, средней скорости движения звезды по орбите, отнесенной к скорости света Uzero = 4Ч 10-4; D t = 60 c; D t  = 6000 c; Nzend = 60; Nav = 100.

341a.gif (4604 bytes)

341b.gif (4994 bytes)

341c.gif (5024 bytes)

341d.gif (4903 bytes)

341e.gif (5452 bytes)

342a.gif (4130 bytes)

342b.gif (4230 bytes)

342c.gif (4627 bytes)

342d.gif (4543 bytes)

342e.gif (4536 bytes)

343a.gif (4766 bytes)

343b.gif (4601 bytes)

343c.gif (4224 bytes)

343d.gif (4601 bytes)

343e.gif (4166 bytes)

344a.gif (3984 bytes)

344b.gif (4154 bytes)

344c.gif (4097 bytes)

344d.gif (4246 bytes)

344e.gif (4302 bytes)

345a.gif (4212 bytes)

345b.gif (4169 bytes)

345c.gif (4149 bytes)

345d.gif (4066 bytes)

345e.gif (4131 bytes)

346a.gif (4201 bytes)

346b.gif (4406 bytes)

346c.gif (4683 bytes)

346d.gif (3958 bytes)

346e.gif (4061 bytes)

347a.gif (4137 bytes)

347b.gif (4543 bytes)

На Рис. П2.4 – П2.35 показан характер изменения яркости звезды, перемещающейся по эллиптической траектории с эксцентриситетом е = 0,6 при различных расстояниях до этой звезды. Вдоль оси абсцисс откладывалось время. Каждое деление соответствует промежутку времени 6000 с (100 минут). Вдоль оси ординат откладывалось количество импульсов, пришедших к наблюдателю в течение каждого из этих промежутков времени продолжительностью в 100 мин, если звезда излучает в каждый из 100 минутных интервалов по 100 импульсов.

Из рис. П2.4 видно, что начиная с некоторого момента времени звезда плавно увеличивает свой блеск, затем блеск звезды уменьшается, падая на некоторое время ниже стационарного уровня блеска, и снова блеск звезды плавно возрастает до своего стационарного значения.

Из рис. П2.5 – П2.7 видно, что при увеличении расстояния до звезды всплеск яркости звезды увеличивается (если при R/До =0,1 было Nmax = 177, то при R/До = 0,2 имеем Nmax = 342, при R/До = 0,3 имеем Nmax = 468, при R/До = 0,4 имеем Nmax = 577).

Из рис. П2.8 видно, что при R/До = 0,5 на всплеске яркости звезды появляется два максимума. Первый максимум меньше второго (Nmax1 = 512 и Nmax2 = 290).

При дальнейшем увеличении расстояния до звезды блеск звезды в этих двух максимумах изменяется, причем временной интервал между максимумами яркости звезды постепенно увеличивается. По мере увеличения временного расстояния между двумя всплесками яркости звезды блеск звезды при меньшем максимуме постепенно уменьшается (при R/До = 2,8 меньший всплеск исчезает, но при R/До =3,0 он снова появляется).

Переход:.....Назад.....Содержание.....Вперед