c subroutine to calculate the Ginzburg-Landau coefficients in c the homogeneous scattering model of 3He c units of energy density N(0)/3, energy k_BT_c0, length xi_0 c input c scatt= xi_0/mean free path c sigmat=0 (born limit) =1 (unitary limit) c output: all other quantities subroutine hsmgl(scatt,sigmat,tc,alphp,beta,betb,grad,grap, xgapsa,gapsb,sgapa,sgapb,srholl,srhopd,srhob) implicit none integer nsplit,ie double precision scatt,sigmat,temp,tc double precision pii,pii2,zeta37,vbeta,vbetb,y0 double precision alphp,beta,betb,grad,grap double precision gapsb,gapsa,sgapa,sgapb,srholl,srhopd,srhob parameter(pii=3.1415926535897932,nsplit=10,zeta37=7.*1.2020569) call tcimp(scatt,tc) temp=tc y0=scatt/2. pii2=2.*pii vbeta=0.1/pii2**2 vbetb=y0*(sigmat-0.5)/(6.*pii2**2) c tex notes: alphp=1./(temp+y0/float(nsplit)) x+temp*y0/(12.*(temp*float(nsplit)+y0)**3) beta=vbeta/(2.*(temp*float(nsplit)+y0)**2) betb=vbetb/(3.*(temp*float(nsplit)+y0)**3) grad=1./(20.*2.*(temp*float(nsplit)+y0)**2) grap=3./(20.*2.*(temp*float(nsplit)+y0)**2) if(y0.ne.0.)then grap=grap+1./12.*(log(1.+y0/(temp*float(nsplit)))/y0**2 x -1./(y0*(temp*float(nsplit)+y0))-0.5/(temp*float(nsplit)+y0)**2) end if do 100 ie=1,nsplit alphp=alphp-y0/(temp*(float(ie)-0.5)+y0)**2 beta=beta+vbeta*temp/(temp*(float(ie)-0.5)+y0)**3 betb=betb+vbetb*temp/(temp*(float(ie)-0.5)+y0)**4 grad=grad+temp/(20.*(temp*(float(ie)-0.5)+y0)**3) grap=grap+3.*temp/(20.*(temp*(float(ie)-0.5)+y0)**3) x +y0/(12.*(float(ie)-0.5)*(temp*(float(ie)-0.5)+y0)**3) 100 continue gapsb=alphp/(5.*beta+6.*betb) gapsa=alphp/(4.*(beta+betb)) sgapb=temp*gapsb/(8.*pii**2/zeta37) sgapa=0.8*temp*gapsa/(8.*pii**2/zeta37) srhob=(2.*grad+grap)/(5.*zeta37/20.)*sgapb srholl=grad/(zeta37/20.)*sgapa srhopd=(grad+grap)/(4.*zeta37/20.)*sgapa return end