⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uvbybeta.pro

📁 basic median filter simulation
💻 PRO
📖 第 1 页 / 共 2 页
字号:
    if do_Eby then begin       Eub = ( 1.32*c1 - ub - 0.056) / ( 1.32 / (Rub/Rc1)-1 )       Eby[i] = Eub/Rub    endif    DEREDD, Eby[i], by, m1, c1, ub, by0, m0, c0, ub0; If beta is not given it is derived from a fit of the c0-beta; relation of Zhang (1983).    if ( flag1 EQ 1 ) then Hbeta = 0.066*c0+2.59    END 5: BEGIN; For group 5, the hydrogen Balmer lines are at maximum; hence two; new parameters, a0 = f{(b-y),(u-b)} and r = f{beta,[c1]} are defined; in order to calculate absolute magnitude and metallicity.    if do_eby then begin      m = m1 - Rm1*by      by0 = 4.2608*m^2 - 0.53921*m - 0.0235      REPEAT BEGIN         bycorr = by0         m0 = m1 - Rm1*(by-bycorr)         by0 = 14.0881*m0^2 - 3.36225*m0 + 0.175709      ENDREP UNTIL ( abs(bycorr - by0) LT 0.001)       Eby[i] = by - by0    endif    DEREDD, Eby[i], by, m1, c1, ub, by0, m0, c0, ub0    if flag1 eq 1 then Hbeta = 2.7905 - 0.6105*by + 0.5*m0 + 0.0355*c0    r = 0.35*(c1-Rc1*by) - (Hbeta-2.565)    a0 = by0+ 0.18*(ub0-1.36); MV is calculated according to Stroemgren (1966, ARA&A 4, 433); with corrections by Moon & Dworetsky (1984, Observatory 104, 273)    MV[i] = 1.5 + 6.0*a0 - 17.0*r    Te[i] =  5040. /(0.7536 *a0 +0.5282)    m0zams = -3.95105*by0^2 + 0.86888*by0 + 0.1598    delm0[i] = m0zams - m0   end 6: begin    if flag1 then begin        warn = ' Estimate of Hbeta only valid if star is unreddened'        Hbeta = 3.06 - 1.221*by - 0.104*c1    endif    m1zams = -2.158*Hbeta^2 +12.26*Hbeta-17.209    if ( Hbeta LE 2.74 ) then begin        c1zams = 3.0*Hbeta - 7.56        MVzams = 22.14 - 7*Hbeta   endif else if ( ( Hbeta GT 2.74 ) and ( Hbeta LE 2.82 ) ) then begin        c1zams = 2.0*Hbeta - 4.82        MVzams = 11.16-3*Hbeta   endif else begin        c1zams = 2.0*Hbeta-4.83        MVzams =-88.4*Hbeta^2+497.2*Hbeta-696.41   endelse           if do_eby then begin     delm1 = m1zams - m1     delc1 = c1-c1zams     if delm1 lt 0. then $          by0 = 2.946 - Hbeta - 0.1*delc1 - 0.25*delm1 else $          by0 = 2.946 - Hbeta - 0.1*delc1     Eby[i] = by - by0   endif    Deredd, eby[i], by, m1, c1, ub, by0, m0, c0, ub0   delm0[i] = m1zams - m0   delc0 = c0 - c1zams   MV[i] = MVzams -9.0*delc0   Te[i] = 5040 / (0.771453*by0 + 0.546544) end 7: begin;  For group 7 c1 is the luminosity indicator for a particular beta,;  while beta {or (b-y)0} indicates temperature.;  Where beta is not available iteration is necessary to evaluate;  a corrected (b-y) from which beta is then estimated.   if flag1 then begin         byinit = by        m1init = m1        for ii = 1,1000 do begin          m1by = 2.5*byinit^2 - 1.32*byinit + 0.345          bycorr = byinit + (m1by-m1init) / 2.0          if ( abs(bycorr-byinit) LE 0.0001 ) then goto,T71          byinit = bycorr          m1init = m1by        endfor        T71: Hbeta = 1.01425*bycorr^2 - 1.32861*bycorr + 2.96618     endif; m1(ZAMS) and MV(ZAMS) are calculated according to Crawford (1975);	with corrections suggested by Hilditch, Hill & Barnes (1983,;	MNRAS 204, 241) and Olson (1984, A&AS 57, 443).    m1zams = poly(Hbeta, [ 46.4167, -34.4538, 6.41701] )    MVzams = poly(Hbeta, [324.482, -188.748, 11.0494, 5.48012]);c1(ZAMS) calculated according to Crawford (1975)    if Hbeta le 2.65 then $        c1zams = 2*Hbeta - 4.91 else $        c1zams = 11.1555*Hbeta^2-56.9164*Hbeta+72.879     if do_eby then begin       delm1 = m1zams - m1       delc1 = c1 - c1zams       dbeta = 2.72 - Hbeta       by0 = 0.222+1.11*dbeta +2.7*dbeta^2-0.05*delc1-(0.1+3.6*dbeta)*delm1       Eby[i] = by - by0     endif     Deredd,Eby[i],by,m1,c1,ub,by0,m0,c0,ub0     delm0[i] = m1zams - m0     delc0 = c0 - c1zams     f = 9.0 + 20.0*dbeta     MV[i] = MVzams - f*delc0     Te[i] = 5040/(0.771453*by0 + 0.546544) end 8:   begin     if ( flag1 EQ 1 ) then flag1 = 2;  Dereddening is done using color-color relations derived from ;  Olson 1984, A&AS 57, 443)     if ( by LE 0.65 ) then $           Eby[i] = (5.8651*by - ub -0.8975) / (5.8651 - Rub) $     else if ( ( by GT 0.65 ) and ( by LT 0.79 ) ) then begin            Eby[i] = (-0.7875*by - c1 +0.6585)/(-0.7875 - Rc1)           by0 = by - Eby[i]        if ( by0 LT 0.65 ) then $           Eby[i] = (5.8651*by - ub -0.8975) / (5.8651-Rub)     endif else begin         Eby[i] = ( 0.5126*by - c1 - 0.3645 ) / (0.5126-Rc1)        by0 = by - Eby[i]        if ( by0 LT 0.79 ) then $                   Eby[i] = (-0.7875*by - c1 + 0.6585) / (-0.7875-Rc1)        by0  = by - Eby[i]        if ( by0 LT 0.65 ) then $                   Eby[i] = ( 5.8651*by - ub - 0.8975) / (5.8651-Rub)     endelse             DEREDD,Eby[i],by,m1,c1,ub,by0,m0,c0,ub0; m1(ZAMS), c1(ZAMS), and MV(ZAMS) are calculated according to Olson (1984)        m1zams = poly( by0, [7.18436, -49.43695, 122.1875, -122.466, 42.93678])          IF by0 lt 0.65 THEN BEGIN                c1zams = poly(by0, [3.78514, -21.278, 42.7486, -28.7056 ] )                MVzams =  $                  poly(by0, [-59.2095, 432.156, -1101.257, 1272.503, -552.48])        ENDIF ELSE IF (by0 GE 0.65) and (by0 lt 0.79) THEN BEGIN                c1zams = -0.631821*by0^2+0.116031*by0+0.33657                MVzams = 1.37632*by0^2 + 4.97911*by0+3.4305        ENDIF ELSE BEGIN                c1zams = -0.010028*by0^2 + 0.530426*by0 - 0.37237                MVzams =  1.18298*by0^2  + 3.92776*by0 + 4.37507        ENDELSE        delm0[i] = m1zams - m0        delc0 =c0 - c1zams; Teff and MV calibration of Olson (1984)        IF (by0 LE 0.505) THEN BEGIN                f = 10. - 80.*(by0-0.38)                Te[i] = 10^(-0.416*by0+3.924)        ENDIF ELSE BEGIN                f = 0.0                Te[i] = 10^(-0.341*by0+3.869)        ENDELSE        MV[i] = MVzams - f*delc0 + 3.2*delm0[i] - 0.07      END  ELSE: BEGIN      print,'A stellar group of',n,' is not available'      npar = npar<4      goto, READ_GROUP       end endcase if (n GE 2) and ( n LE 4 ) then begin; c0-beta relation for ZAMS stars according to Crawford (1978,; AJ 83, 48), modified by Hilditch, Hill & Barnes (1983, MNRAS 204, 241).     betaza = poly(c0, [2.62745, 0.228638, -0.099623, 0.277363, -0.160402 ] )     B = betaza - 2.5; MV(ZAMS) calculated according to Balona & Shobbrock (1984, MNRAS 211, 375)     MVzams =203.704*B^3 - 206.98*B^2 + 77.18*b - 9.563; MV is calculated from the d(beta)-d(MV) relation of Zhang (1983)     dbeta = betaza - Hbeta     dMV = -121.6*dbeta^2 +61.0*dbeta + 0.08     MV[i] = MVzams - dMV; Estimate of Teff by coupling the relations of Boehm-Vitense ; (1981, ARA&A 19, 295) and Zhang (1983)          Te[i] = 5040 / (0.35866*ub0 + 0.27346)     flag2 = 2endif; Transformation according to the FV-(b-y)0 relation of Moon ; (1984, MNRAS 211, 21P) if ( by0 LE 0.335 ) then $            FV = -6.759*by0^3 + 3.731*by0^2 - 1.092*by0 + 3.981 $       else FV = -0.534*by0 + 3.959 radius[i] = 10^(2.*(4.236-0.1*MV[i] - FV))  if do_print then begin if ( flag2 EQ 2 )then metal = 'no delta(m0)' else metal = 'delta(m0) = ' Hbeta = round(Hbeta*1000)/1000. Teff = long(round(Te[i]/10.)*10.) if !TEXTUNIT eq 0 then textopen,'uvbybeta',textout=textout init = 1                          ;First star has been done printf,!TEXTUNIT,'        Star is: ',strtrim(name[i],2), $        '                Processed in group ' + strtrim(n,2)  fmt = '(2x,A, f6.3,7x, A, f6.3, 10x,A, F6.3,A,F5.3)' if strlen(warn) GT 0 then printf, !TEXTUNIT, warn nohbeta = '      Hbeta is not used' case flag1 of     2: printf, !TEXTUNIT, 'b-y   = ',by, 'm1 = ', m1,'c1 = ',c1, f=fmt, $               nohbeta    1: printf, !TEXTUNIT, f = fmt, $       'b-y   = ',by, 'm1 = ', m1,'c1 = ',c1,' estimated Hbeta  = ', Hbeta     0: printf,!TEXTUNIT, f = fmt, $       'b-y   = ',by, 'm1 = ', m1,'c1 = ',c1,'         Hbeta  = ', Hbeta  endcase fmt = '(1x,A, F6.3,7X, A,F6.3,10X,A,F6.3, 8x, A, F6.3,/)'  printf,!TEXTUNIT,f=fmt, '(b-y)0 = ', by0, 'm0 = ',m0,'c0 = ', c0, $         'E(b-y) = ',Eby[i] printf,!TEXTUNIT,form="(1X,'Absolute Magnitude (Mv) = ',F6.2,5x," + $       "'Radius  (R/R[solar]) = ',F7.2)",MV[i],radius[i] fmt1 = "(1X,A12,25X,'Effective Temperature (Teff) = ',I5,1X,'K'//)" fmt2 = "(1X,A12,F6.3,20X,'Effective Temperature (Teff) = ',I5,1X,'K'//)" if ( flag2 EQ 2 ) then printf,!TEXTUNIT,form=fmt1,metal,Teff else  $                       printf,!TEXTUNIT,form=fmt2,metal,delm0[i],Teff endif endfor if keyword_set(PROMPT) then goto, READ_PAR  if do_print then textclose, textout = textout return end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -