c ###################################################################### c # c # COPPER PROPERTIES PACKAGE c # ------------------------- c # c # Contains functions for the calculation of the thermo-physical c # properties of pure Copper (Cu) c # c ###################################################################### c ###################################################################### real function dCu(T) c ###################################################################### c # c # Density of Copper c # c # Range: 0 <= T <= inf K c # c # References c # ---------- c # http://en.wikipedia.org/wiki/Copper c # c # variable I/O meaning units c # -------------------------------------------------------------------- c # T x absolute temperature K c # dCu x density Kg/m**3 c # c # c # Author : L.Bottura at Cryosoft c # Version: 1.0 October 2012 c # c ###################################################################### implicit none c * external variables real T c * fit variables c * local variables c * dCu = 8960.0 c * return end c ###################################################################### real function cCu(T) c ###################################################################### c # c # Specific heat of Copper c # c # Range: 1 <= T <= 1300 K c # c # References c # ---------- c # CryoComp version 3.0 c # Handbook on Materials for S.C. Machinery, NBS Boulder (yellow c # book), 1977 c # G.K. White, S.J. Collocott, Heat Capacity of Reference Materials: c # Cu and W, J. Phys. Chem. Ref. Data, 13, 4, 1984 c # c # variable I/O meaning units c # -------------------------------------------------------------------- c # T x absolute temperature K c # cCu x specific heat J/Kg K c # c # Author : L.Bottura & C. Rosso at Cryosoft c # Version: 3.6 December 2020 c # c ###################################################################### implicit none c * external variables real T c * fit variables real T0,T1 real Tmin,Tmax real a1,a2,a3 real b0,b1,b2,b3,b4 real AA,CC,DD,a,c,d,na,nc,nd data T0 / 10.4529369 / , T1 / 48.21501393 / data a1 / 0.01188007 / , a2 / -0.00050323 / , & a3 / 0.00075762 / data b0 / -5.03283229 / , b1 / 1.27426834 / , & b2 / -0.11610718 / , b3 / 0.00522402 / , & b4 / -5.2996E-05 / data AA / -75.22191237 / , & CC / 671.2284102 / , DD / 0.716497459 / data a / 10.0628125 / , & c / 17.21489919 / , d / -0.000101295 / data na / 0.518553624 / , & nc / 2.855560719 / , nd / 2.983928329 / data Tmin / 1.0/, Tmax / 1300.0/ save c * local variables real TT c * TT=T TT=max(TT,Tmin) TT=min(TT,Tmax) if (TT.le.t0) then cCu = a1*TT + a2*TT**2 + a3*TT**3 elseif (TT.gt.t0 .and. TT.le.t1) then cCu = b0 + b1*TT+ b2*TT**2 + b3*TT**3 + b4*TT**4 elseif(TT.gt.t1) then cCu = AA*TT /(a+TT)**na + & CC*TT**3/(c+TT)**nc + DD*TT**4/(d+TT)**nd endif c * return end c ###################################################################### real function kCu(T,B,RRR) c ###################################################################### c # c # Thermal conductivity of Copper c # c # Range: 0.1 <= T <= 1000 K, 0 <= B <= 30 T, 1.01 <= RRR <= 3000 c # c # References c # ---------- c # CryoComp version 3.0 c # c # variable I/O meaning units c # -------------------------------------------------------------------- c # T x absolute temperature K c # B x magnetic field T c # RRR x residual resistivity ratio - c # kCu x thermal conductivity W/m K c # c # Author : L.Bottura & C. Rosso at CryoSoft c # Version: 3.5 October 2012 c # c ###################################################################### implicit none c * external variables real T,B,RRR c * fit variables real Tmin,Tmax parameter(Tmin = 0.1, Tmax = 1000.0) real Bmin,Bmax parameter(Bmin = 0.0, Bmax = 30.0) real RRRmin,RRRmax parameter(RRRmin = 1.01, RRRmax = 3000.0) real rho273 parameter(rho273=1.54e-8) real L0 parameter(L0=2.443e-8) real p1,p2,p3,p4,p5,p6 parameter(p1=1.754e-8, p2=2.763, p3=1102., & p4=-0.165 , p5=70.0 , p6=1.765) c * local variables real TT,BB,R real rhozero,beta,p7,arga,argb,argc,argd real wt,wi0,wi,w0,wc,magr real magrCu c * TT=T TT=max(TT,Tmin) TT=min(TT,Tmax) BB=B BB=max(BB,Bmin) BB=min(BB,Bmax) R =RRR R =max(R,RRRmin) R =min(R,RRRmax) c * rhozero = rho273/(R-1.) beta = rhozero/L0 p7 = 0.838/(beta/0.0003)**0.1661 arga = min((log(TT/470.0)/0.70)**2,30.0) argb = min((log(TT/ 87.0)/0.45)**2,30.0) argc = min((log(TT/ 21.0)/0.50)**2,30.0) argd = min((p5/TT)**p6,30.0) wc = -0.00012*log(TT/420.0)*exp(-arga) - & 0.00016*log(TT/ 73.0)*exp(-argb) - & 0.00002*log(TT/ 18.0)*exp(-argc) w0 = beta/TT wi = p1*TT**p2/(1.+p1*p3*TT**(p2+p4)*exp(-argd))+wc wi0 = p7*wi*w0/(wi+w0) wt = w0+wi+wi0 magr = magrCu(TT,BB,R) c * kCu = 1.0/(wt*magr) c * return end c ###################################################################### real function rCu(T,B,RRR) c ###################################################################### c # c # Electrical resistivity of Copper c # c # Range: 0.1 <= T <= 1000 K, 0 <= B <= 30 T, 1.5 <= RRR <= 3000 c # c # References c # ---------- c # CryoComp version 3.0 c # c # variable I/O meaning units c # -------------------------------------------------------------------- c # T x absolute temperature K c # B x magnetic field T c # RRR x residual resistivity ratio - c # rCu x resistivity Ohm m c # c # Author : L.Bottura & C. Rosso at CryoSoft c # Version: 3.5 October 2012 c # c ###################################################################### implicit none c * external variables real T,B,RRR c * fit variables real Tmin,Tmax parameter(Tmin = 0.1, Tmax = 1000.0) real Bmin,Bmax parameter(Bmin = 0.0, Bmax = 30.0) real RRRmin,RRRmax parameter(RRRmin = 1.5, RRRmax = 3000.0) real rho273 parameter(rho273=1.54e-8) real p1,p2,p3,p4,p5,p6,p7 parameter(p1=0.1171e-16, p2=4.49, p3=3.841e10, & p4=-1.14, p5=50.0, p6=6.428, p7=0.4531) c * local variables real TT,BB,R,rhozero,arg,rhoi,rhoi0,rho0,magr real magrCu c * TT=T TT=max(TT,Tmin) TT=min(TT,Tmax) BB=B BB=max(BB,Bmin) BB=min(BB,Bmax) R =RRR R =max(R,RRRmin) R =min(R,RRRmax) c * resistivity at absolute zero rhozero = rho273/(R-1.0) c * resistivity at the temperature t arg = min((p5/TT)**p6,30.0) rhoi = p1*TT**p2/(1.+p1*p3*TT**(p2+p4)*exp(-arg)) rhoi0 = p7*rhoi*rhozero/(rhoi+rhozero) rho0 = rhozero+rhoi+rhoi0 c * transverse magneto-resistance factor magr = magrCu(TT,BB,R) c * resistivity rCu = magr * rho0 c * return end c ###################################################################### c # c # Auxiliary functions and calculations c # c ###################################################################### c ###################################################################### real function rhoiCu(T) c ###################################################################### c # c # Intrinsic electrical resistivity of Copper c # c # Range: 0.1 <= T <= 1000 K c # c # References c # ---------- c # CryoComp version 3.0 c # c # variable I/O meaning units c # -------------------------------------------------------------------- c # T x absolute temperature K c # rCu x resistivity Ohm m c # c # Author : L.Bottura at CryoSoft c # Version: 1.0 May 2020 c # c ###################################################################### implicit none c * external variables real T c * fit variables real Tmin,Tmax parameter(Tmin = 0.1, Tmax = 1000.0) real p1,p2,p3,p4,p5,p6 parameter(p1=0.1171e-16, p2=4.49, p3=3.841e10, & p4=-1.14, p5=50.0, p6=6.428) c * local variables real TT,arg,rhoi c * TT=T TT=max(TT,Tmin) TT=min(TT,Tmax) c * intrinsic resistivity at the temperature T arg = min((p5/TT)**p6,30.0) rhoiCu = p1*TT**p2/(1.+p1*p3*TT**(p2+p4)*exp(-arg)) c * return end c ###################################################################### real function magrCu(T,B,RRR) c ###################################################################### c # c # Magneto-resistivity factor of Copper, given as the ratio between c # resistivity in transverse magnetic field B to resistivity at zero c # field c # c # Range: 0.1 <= T <= 1000 K, 0 <= B <= 30 T, 1.5 <= RRR <= 3000 c # c # References c # ---------- c # CryoComp version 3.0 c # c # variable I/O meaning units c # -------------------------------------------------------------------- c # T x absolute temperature K c # B x magnetic field T c # RRR x residual resistivity ratio - c # magrCu x magneto-resistivity factor - c # c # Author : L.Bottura and C. Rosso at Cryosoft c # Version: 1.1 October 2012 c # c ###################################################################### implicit none c * external variables real T,B,RRR c * fit variables real Tmin,Tmax parameter(Tmin = 0.1, Tmax = 1000.0) real RRRmin,RRRmax parameter(RRRmin = 1.5, RRRmax = 3000.0) real Bmin,Bmax parameter(Bmin = 0.0, Bmax = 30.0) real brrmin,brrmax parameter(brrmin = 0.0, brrmax = 40.0e3) real rho273,rhorrr parameter(rho273=1.54e-8,rhorrr=2.37e-8) real p1,p2,p3,p4,p5,p6,p7 parameter(p1=0.1171e-16, p2=4.49, p3=3.841e10, & p4=-1.14, p5=50.0, p6=6.428, p7=0.4531) real a1,a2,a3,a4 parameter(a1=0.382806e-03, a2=0.132407e+01, a3=0.167634e-02, & a4=0.789953e+00) c * local variables real TT,BB,R,rhozero,rhoice,arg,rhoi,rhoi0,rho0,brr,magr c * TT=T TT=max(TT,Tmin) TT=min(TT,Tmax) BB=B BB=max(BB,Bmin) BB=min(BB,Bmax) R =RRR R =max(R,RRRmin) R =min(R,RRRmax) c * resistivity at absolute zero rhozero = rho273/(R-1.0) c * fit for the resistivity at the ice temperature rhoice = rho273 + rhorrr/R c * resistivity at the temperature t arg = min((p5/TT)**p6,30.0) rhoi = p1*TT**p2/(1.+p1*p3*TT**(p2+p4)*exp(-arg)) rhoi0 = p7*rhoi*rhozero/(rhoi+rhozero) rho0 = rhozero+rhoi+rhoi0 c * product of field and residual resistivity ratio brr = BB*rhoice/rho0 brr = max(brr,brrmin) brr = min(brr,brrmax) c * fit for the transverse magneto-resistance increase if(brr .gt. 1.) then magr = a1*brr**a2/(1.0+a3*brr**a4) else magr = 0.0 endif c * transverse magneto-resistance factor magrCu = magr+1.0 c * return end