C---------------------------------------------------------------------------- C------------------------------------------------------------------- C------- ALPHA QCD ------------------------------------- c Program to calculate alfa strong with nf flavours, c as a function of lambda with 5 flavors. c The value of alfa is matched at the thresholds q = mq. c When invoked with nf < 0 it chooses nf as the number of c flavors with mass less then q. c function alfas(q2,xlam,inf) implicit none real * 8 alfas,q2,xlam integer inf real * 8 pi parameter (pi=3.141592653589793d0) real * 8 olam,b5,bp5,b4,bp4,b3,bp3,xlc,xlb,xllc,xllb,c45,c35, # xmc,xmb real * 8 q,xlq,xllq integer nf data olam/0.d0/ data xmb/5.d0/,xmc/1.5d0/ save olam,b5,bp5,b4,bp4,b3,bp3,xlc,xlb,xllc,xllb,c45,c35 if(xlam.ne.olam) then olam = xlam b5 = (33-2*5)/pi/12 bp5 = (153 - 19*5) / pi / 2 / (33 - 2*5) b4 = (33-2*4)/pi/12 bp4 = (153 - 19*4) / pi / 2 / (33 - 2*4) b3 = (33-2*3)/pi/12 bp3 = (153 - 19*3) / pi / 2 / (33 - 2*3) xlc = 2 * log(xmc/xlam) xlb = 2 * log(xmb/xlam) xllc = log(xlc) xllb = log(xlb) c45 = 1/( 1/(b5 * xlb) - xllb*bp5/(b5 * xlb)**2 ) # - 1/( 1/(b4 * xlb) - xllb*bp4/(b4 * xlb)**2 ) c35 = 1/( 1/(b4 * xlc) - xllc*bp4/(b4 * xlc)**2 ) # - 1/( 1/(b3 * xlc) - xllc*bp3/(b3 * xlc)**2 ) + c45 endif q = sqrt(q2) xlq = 2 * log( q/xlam ) xllq = log( xlq ) nf = inf if( nf .lt. 0) then if( q .gt. xmb ) then nf = 5 elseif( q .gt. xmc ) then nf = 4 else nf = 3 endif endif if ( nf .eq. 5 ) then alfas = 1/(b5 * xlq) - bp5/(b5 * xlq)**2 * xllq elseif( nf .eq. 4 ) then alfas = 1/( 1/(1/(b4 * xlq) - bp4/(b4 * xlq)**2 * xllq) + c45 ) elseif( nf .eq. 3 ) then alfas = 1/( 1/(1/(b3 * xlq) - bp3/(b3 * xlq)**2 * xllq) + c35 ) else print *,'error in alfa: unimplemented # of light flavours',nf stop endif return end C---------------------------------------------------------------------------- C------------------------------------------------------------------- C------- ALPHA QCD ------------------------------------- c Program to calculate alfa strong with nf flavours, c as a function of lambda with 5 flavors. c The value of alfa is matched at the thresholds q = mq. c When invoked with nf < 0 it chooses nf as the number of c flavors with mass less then q. c function alfas0(q2,xlam,inf) implicit none real * 8 alfas0,q2,xlam integer inf real * 8 pi parameter (pi=3.141592653589793d0) real * 8 b0 b0=(33-2*inf)/(12*pi) alfas0=1/(b0*log(q2/xlam**2)) end