c subroutine to calculate the yosida-type functions for 3He-B c This calculation is 6 decimal correct at any temperature c input: c temp= temperature/T_c c iwcpb=parameter specifying if trivial strong coupling corrections c are included (1) or not (0) c dcpcn=specific heat jump in B phase =deltaC/Cnormal at T=T_c c this is only needed for the trivial strong coupling corrections c output: c gap= the B phase energy gap/T_c c g3d,g5d,g7d the yosida functions/gap**2 c glambd = lambda function of R.S. Fishman and J.A. Sauls, c Phys. Rev. B {\bf 33}, 6068 (1986), see notes there c for method of calculation see c http://boojum.hut.fi/research/theory/qc/bcsgap.html c subprograms: c bcsgap c wcp subroutine yosida(temp,gap,g3d,g5d,g7d,glambd,dcpcn,iwcpb) implicit none double precision temp,gap,g3d,g5d,g7d,dcpcn,glambd double precision pii2,x,xs,tm,sq integer ifreq,iwcpb,nsplit parameter(pii2=2.*3.141592654,nsplit=10) call bcsgap(temp,gap) if(iwcpb.eq.1)call wcp(temp,dcpcn,gap) tm=temp*float(nsplit) x=gap/pii2 xs=x**2 sq=sqrt(tm**2+xs) g3d=1./(sq*(tm+sq)) x- tm*temp**2/( 8.*sq**5) g5d=(tm+2.*sq)/(3.*sq**3*(tm+sq)**2) x-5.*tm*temp**2/(24.*sq**7) g7d=(11.*tm**2+9.*tm*sq+8.*xs)/(15.*sq**5*(tm+sq)**3) x-7.*tm*temp**2/(24.*sq**9) glambd=1-tm/(x+sq)-tm*temp**2*x*(x+2*sq)/(24*sq**3*(x+sq)**2) do 100 ifreq=1,nsplit sq=sqrt((temp*(float(ifreq)-0.5))**2+xs) g3d=g3d+temp/sq**3 g5d=g5d+temp/sq**5 g7d=g7d+temp/sq**7 glambd=glambd+temp*x/(sq*(sq+x)) 100 continue g3d=g3d/pii2**2 g5d=xs*g5d/pii2**2 g7d=xs**2*g7d/pii2**2 return end