He$^3$ library



About the library

This library provides constant and functions for various $^3$He properties. Code can be found in https://github.com/slazav/he3lib

Old documentation (last updated 2016): http://slazav.github.io/he3lib/index_2016.html

Supported interfaces

The library can be used with different programming languages and via a command-line interface. Example programs and scripts can be found in the examples/ folder.

Complex functions

There are a few functions in the library with complex return value (he3_lancwire_*, math_stokes). This interface is experimental, you can always use separate functions for real/imag component, in this case you will call the code twice. Support for complex functions in the library:

Example with command line interface:


$ he3 he3_lancwire_n 0.011 0 16.5 124 1700
1.687029e+03 2.546024e+01
$ he3 he3_lancwire_n_f 0.011 0 16.5 124 1700
1.687029e+03
$ he3 he3_lancwire_n_w 0.011 0 16.5 124 1700
2.546024e+01

Acknowledgements

This library have been done in collaboration with my colleagues in Low temperature laboratory (Aalto University, Finland): P.Heikkinen, S.Autti, V.Eltsov, M.Krusius and G.Volovik. Other $^3$He programs and libraries have been used in the work: programs by V.Dmitriev (Kapitza institute, Moscow), S.Autti, $^3$He-B texture library by J.Kopu, programs by E.Thuneberg, Lancaster programs for vibrating wire calibrations.

Constants [he3_const.f]

Mathematical constants

const_e = 2.7182818284590452 -- e

const_pi = 3.1415926535897932 -- pi

const_2pi = 6.2831853071795864 -- 2*pi

const_euler = 0.5772156649015329 -- Euler's constant

const_z2 = 1.6449340668482264 -- zeta(2)

const_z3 = 1.2020569031595943 -- zeta(3)

const_z4 = 1.0823232337111382 -- zeta(4)

const_z5 = 1.0369277551433699 -- zeta(5)

Physical constants

const_na = 6.02214129e+23 -- Avogadro constant, [1/mole]

const_kb = 1.3806488e-16 -- Boltzmann constant, [erg/K]

const_r = 8.314472e+7 -- R-gas constant, kb*na, [erg/K/mol]

const_h = 6.62606957e-27 -- Planck constant, [g*cm2/s]

const_hbar = 1.054571726e-27 -- reduced Planck constant, [g*cm2/s]

const_mu0 = 1.2566370614 -- vacuum permeability [G*cm/A]

const_ev = 1.602176634e-12 -- electronvolt [erg]

h1_gyro = 26752.218744 -- H1 g-factor, [rad/s/G]

h2_gyro = 4106.5 -- H2 g-factor, [rad/s/G]

h_amass = 1.67355755e-24 -- H molar mass, [g/mol]

h_mmass = 1.00784 -- H molar mass, [g/mol]

he3_gyro = 20378.9 -- He3 g-factor, [rad/s/G]

he3_amass = 5.00789994e-24 -- He3 atom mass, [g]

he3_mmass = 3.0158281 -- He3 molar mass, [g/mol]

he4_amass = 6.64647641e-24 -- He4 atom mass, [g]

he4_mmass = 4.002602 -- He4 molar mass, [g/mol]


He3 phase diagram [he3_phase.f]

Helium-3 phase diagram constants

he3_pcr = 1.16317 -- He3 critical pressure [bar]

he3_tcr = 3.324 -- He3 critical temperature [K]

he3_pm = 29.3113 -- He3 Melting curve minimum [bar] (PLTS2000)

he3_tm = 0.31524 -- He3 Melting curve minimum [K] (PLTS2000)

Superfluid helium-3 phase diagram constants (Greywall-86 temperature scale)

he3_pa = 34.3380 -- He3 A-N-Solid crit.pt [bar] (Greywall-86)

he3_ta = 2.491 -- He3 A-N-Solid crit.pt [mK] (Greywall-86)

he3_pb = 34.3580 -- He3 A-B-Solid crit.pt [bar] (Greywall-86)

he3_tb = 1.932 -- He3 A-B-Solid crit.pt [mK] (Greywall-86)

he3_ps = 34.3905 -- Solid He3 AFM transition at melting curve [bar] (Greywall-86)

he3_ts = 0.9291 -- Solid He3 AFM transition at melting curve [mK] (Greywall-86)

he3_pabn = 21.22 -- He3 A-B-N crit.pt. [bar] (Greywall-86)

he3_tabn = 2.273 -- He3 A-B-N crit.pt. [mK] (Greywall-86)

[Greywall-86]

Superfluid helium-3 phase diagram constants (PLTS2000 temperature scale)

he3_pa_plts = 34.3407 -- He3 A-N-Solid crit.pt [bar] (PLTS2000)

he3_ta_plts = 2.444 -- He3 A-N-Solid crit.pt [mK] (PLTS2000)

he3_pb_plts = 34.3609 -- He3 A-B-Solid crit.pt [bar] (PLTS2000)

he3_tb_plts = 1.896 -- He3 A-B-Solid crit.pt [mK] (PLTS2000)

he3_ps_plts = 34.3934 -- Solid He3 AFM transition at melting curve [bar] (PLTS2000)

he3_ts_plts = 0.902 -- Solid He3 AFM transition at melting curve [mK] (PLTS2000)

he3_pabn_plts = 21.222 -- He3 A-B-N crit.pt. [bar] (PLTS2000, converted from Greywall scale)

he3_tabn_plts = 2.2315 -- He3 A-B-N crit.pt. [mK] (PLTS2000, converted from Greywall scale)

[PLTS-2000]

Helium-3 vapor pressure

he3_pvap(T) -- Vapor pressure [bar] vs T [K] (1962 temperature scale)
[Sherman-1964]

Helium-3 melting pressure

he3_pmelt_greywall_org(T) -- Melting pressure [bar] vs T [K], Greywall-1986, T = 0.0009 - 0.25 K
Greywall. PRB33 7520 (1986) f.A1

he3_pmelt_plts_org(T) -- Melting pressure [bars] vs T [K], PLTS-2000, T = 0.0009 - 1 K

he3_pmelt_osborne_org(T) -- Melting pressure [bars] vs T [K], Osborne-1952, 0.5-1.5 K
Osborne, Abraham, Weinstock, 1951, 1952

he3_pmelt_mills_org(T) -- Melting pressure [bars] vs T [K], Mills-1955, 2-31K
Mills, Grilly, Phys. Rev. 99, 480486 (1955)

he3_pmelt(T) -- He3 melting pressure [bar] vs T[K], T = 0 .. 31 K, Greywall-86 scale

he3_pmelt_plts(T) -- He3 melting pressure [bar] vs T[K],T = 0 .. 31 K, PLTS-2000 scale

Superfluid transition temperatures T_c, T_ab [mK] vs P [bar]

he3_tc(P) -- T_c [mK] vs P [bar], Greywall-86 scale
Greywall. PRB33 (1986) f.5. Alvesalo scale should be multiplied by 0.893 to convert temperature.

he3_tab(P) -- T_ab [mK] vs P [bar], Greywall-86 scale
Greywall. PRB33 (1986) f.15

he3_tc_plts(P) -- T_c [mK] vs P [bar], PLTS-2000 scale

he3_tab_plts(P) -- T_ab [mK] vs P [bar], PLTS-2000 scale

Names of functions and constants on the plot:


Helium-3 as a normal fermi-liquid [he3_fermi.f]

See Wheatley, Rev.Mod.Phys. 47, 415(1975), tables at p.467

Molar volume and specific heat

he3_vm(P) -- He3 molar volume [cm^3/mole] vs P [bar] (exp data, Greywall-86)

he3_gammaf(P) -- He3 specific heat Cv/RT [1/K] vs P [bar], (exp data, Greywall-86)
see also Alvesalo PRL44 1076 (1980) - they have different values!

derived values

he3_c_n(T,P) -- He3 heat capacity [C/R] vs T [K] and P [bar]

he3_rho(P) -- He3 density [g/cm^3] vs P [bar]

he3_2n0(P) -- 2N0 [1/erg/cm^3] vs P [bar]

he3_pf(P) -- He3 Fermi momentum [g cm/s] vs P [bar]

he3_vf(P) -- He3 Fermi velocity [cm/s] vs P [bar]

he3_meff(P) -- He3 effective mass [g] vs P [bar]

he3_mm(P) -- He3 effective mass ratio, m_eff/m_3 vs P [bar]

he3_f1s(P) -- He3 F1s fermi-liquid parameter vs P [bar]

he3_a(P) -- He3 average atomic spacing [Å] vs P [bar]

he3_gdk(P) -- He3 average dipolar coupling energy [K] vs P [bar]

he3_tfeff(P) -- He3 effective Fermi temperature [K] vs P [bar]

Sound velocity and F0s parameter

he3_c1(P) -- He3 first sound velocity c1 [m/s] vs P [bar] (exp data, Wheatley-75)

he3_f0s(P) -- He3 F0s fermi-liquid parameter vs P [bar]

Susceptibility and F0a parameter

he3_f0a(P) -- He3 F0a fermi-liquid parameter (same as Z0/4) vs P [bar] (Hensley-1993)
Hensley, JLTP89 501 (1992), JLTP90 149 (1993) See also: Wheatley-75; Ramm, JLTP 2 539 (1970);

he3_chi_n(P) -- Susceptibility [sgs] vs P [bar]
see Einzel-1991 f.10

Other fermi-liquid parameters

he3_f1a(P) -- He3 F1a fermi-liquid parameter vs P [bar] (Zavjalov-2015, from spin-wave velocities);
Zavjalov-2015 -- Spin-wave velocity in 3He-B;
See also:
Corruccini PRL27 650 (1971) -- Leggett-Rice effect in 3He-N, not accurate;
Osheroff PhB90 20 (1977) -- Spin-wave velocity in 3He-B, not accurate;
Greywall-1983 -- high temperature Cv;
theory, spin waves: Dorfle PRB23 3267 (1981) + F3s;
theory, spin waves: Cross JLTP 21 525 (1975);

he3_f2a(P) -- He3 F2a fermi-liquid parameter vs P [bar] (zero at the moment)
Halperin???

he3_f2s(P) -- He3 F2s fermi-liquid parameter vs P [bar] (zero at the moment)
See also:
Engel, Ihas, Phys. Rev. Lett. 55, 955958 (1985);
Hamot, Lee, ... Halperin, JLTP 99 p651 (1995);
Mastumoto et al. JLTP 102 p227 (1996);


BCS gap + strong coupling corrections for He3-B [he3_gap.f]

he3_bcsgap(ttc) -- BCS energy gap, $\Delta/k_BT_c$ vs $T/T_c$
Newton iteration based on a note by E.Thuneberg and R.Hanninen.
Taken from ROTA texture library. See: [1] [2]

he3_bcsgap_fast(ttc) -- BCS energy gap, $\Delta/k_BT_c$ vs $T/T_c$, Einzel approximation
D.Einzel JLTP 84 (1991) f.68. <0.5% accuracy in the whole temperature range, 70 times faster then he3_bcsgap

he3_bcsdgap2(ttc) -- Derivative of BCS energy gap, $d\Delta^2/d(T/Tc)$ vs $T/T_c$
Same method as in he3_bcsgap calculation, V.Zavjalov, 2020

he3_dcbcn(p) -- Heat capacity jump for He3-B, $\Delta C_b/C_n$ vs P [bar], (exp.data, Greywall-1986)
Greywall-1986, Fig.19

he3_dcacn(p) -- Heat capacity jump for He3-A, $Delta C_a/C_n$ vs P [bar], (exp.data, Greywall-1986)
Greywall-1986, Fig.19

he3_trivgap(ttc,p) -- Trivial strong-coupling correction (WCP) to the BCS energy gap. $\Delta/k_BT_c$ vs $T/T_c$, P[bar]
Approximation of Serene,Rainer-1983 corrections (Phys.Rep. 101, 221), table 4. Note that derivative of the $\Delta^2$ in $T_c$ is not strictly proportional to the heat capacity jump. This shows that exact heat capacity calculation requires WCP energy terms, not just BCS calculations with modified gap...

he3_trivdgap2(ttc,p) -- Derivative of the trivial strong-coupling (WCP) gap: d(Delta^2)/d(T/Tc)

he3_todogap(ttc,p) -- Gap corrected to Todoschenko's value 1.99 at T=0,P=Pmelt, delta/Tc vs T/Tc, P[bar]
Linear interpolation in density between BCS value at zero bar and Todoschenko's value 1.99 at melting pressure

he3_gap(ttc,p) -- Wrapper function which should be used everywhere in the lib, same as he3_trivgap

he3_egap(ttc,p) -- he3_gap expressed in energy units [erg] rather then $T_c$

he3_yosida(ttc,gap,n) -- Yosida function of order n vs T/Tc, gap
See D.Einzel JLTP 84
$Y_n = 2\int_0^\infty \left(\frac{\xi}{E}\right)^n\left(-\frac{\partial f^0}{\partial E}\right)$
At T -> 0:
$Y_n = 2\Gamma\left(\frac{n+1}{2}\right)\left(\frac{2k_BT}{\Delta}\right)^{(n-1)/2} \exp\left(-\frac{\Delta}{k_BT}\right)$

he3_yosida_s(ttc,gap) -- Entropy Yosida function vs T/Tc, gap, see Einzel-2004

he3_yosida_c(ttc,gap,dgap2) -- Heat Capacity Yosida function vs T/Tc, gap, dgap2, see D.Einzel-2003

he3_yosida_par(ttc,gap) -- $Y_\parallel = 2/5 Y_0 + 3/5 Y_2$, see Eizel-1991 f.90

he3_yosida_perp(ttc,gap) -- $Y_\perp = 4/5 Y_0 + 1/5 Y_2$, see Eizel-1991 f.90

Z3,Z5,Z7, and lambda functions

Code from http://ltl.tkk.fi/research/theory/qc/bcsgap.html Original nsplit=10 is too small for (z3 - 0.9*z5 + 0.9*z5.^2./z3 - 1.5*z7) combination in he3_text_lhv

he3_z3(ttc,gap) -- Z3 function

he3_z5(ttc,gap) -- Z5 function

he3_z7(ttc,gap) -- Z7 function

he3_lambda(ttc,gap) -- Lambda function

B-phase normal component density, susceptibility, and heat capacity

he3_rho_nb(ttc,p) -- B-phase Normal component density \rho_n^B/\rho_0
VW book f.3.92

he3_chi_b(ttc,p) -- He3-B susceptibility chi_b/chi_0
see VW book ch.10 p.449, ch2 p.90; see Wheatley-75 f 3.7; There is also additional term to 3*chi0: + 2/5 F2a (1-Y0)^2

he3_chi_bp(ttc,p) -- He3-B Cooper pair susceptibility ratio chi_bp/chi_b
see Leggett-Takagi 1975, f.12

he3_c_b(ttc,P) -- He3-B heat capacity (C/R)

Some gap-related functions on the plot:


He3 Dipole energy and Leggett frequency [he3_dipole.f]

he3_gd(p) -- Dipole coefficient $g_D$, [1/(erg cm^3)] vs P [bar]
restored from experimental data by E.Thuneberg. From ROTA texture library.

he3_ld(ttc,p) -- Dipole coefficient lambda_d [erg/cm^3] vs T/Tc, P [bar]
See Thuneberg-2001 f.5 and f.24.

he3_nu_b(ttc,p) -- B-phase Leggett frequency [Hz] vs T/Tc, P[bar]
See Thuneberg-2001 f.47.

he3_nu_b1(ttc,p) -- B-phase Leggett freq, Hz (less accurate formula without use of g_d)


He3 gradient energy and spin wave velocities [he3_grad.f]

he3_grad_k0(ttc,p) -- K1=K2=K3 in a simple approximation, see VW 7.23m

he3_grad_c(ttc,p) -- gradient energy c parameter, see VW 7.25

he3_grad_delta(ttc,p) -- gradient energy delta parameter, see VW 7.25

he3_grad_k12(ttc,p) -- K1=K2 with Fermi-liquid corrections

he3_grad_k3(ttc,p) -- K3 with Fermi-liquid corrections

he3_grad_k(ttc,p) -- K = 2K1+K2+K3

he3_grad_kp(ttc,p) -- K' = K2+K3

he3_grad_lg1(ttc,p) -- lambda_G1 = Delta^2/2 (K2+K3)

he3_grad_lg2(ttc,p) -- lambda_G2 = Delta^2/2 K1

he3_grad_lsgb(ttc,p) -- lambda_SG^b = Delta^2 K2

he3_cpar(ttc,p) -- Fomin's spin wave velocity c_par (Fomin-1980 f.51)

he3_cperp(ttc,p) -- Fomin's spin wave velocity c_perp (Fomin-1980 f.51)

he3_clpar(ttc,p) -- Leggett's spin wave velocity c_par (Leggett-1975 XII.B)

he3_clperp(ttc,p) -- Leggett's spin wave velocity c_perp (Leggett-1975 XII.B)

he3_dorfle_rl(ttc,p,f1a,f3a) -- Test function Rl for F1a+F3a gradient energy parameters Dorfle, PRB23 3267 (1981)
K1 = K2 = rho_s/40m* Rl K3 = rho_s/40m* (4Rt-3Rl)

he3_dorfle_rt(ttc,p,f1a,f3a) -- Test function Rt for F1a+F3a gradient energy parameters Dorfle, PRB23 3267 (1981)
K1 = K2 = rho_s/40m* Rl K3 = rho_s/40m* (4Rt-3Rl)


He3b other textural parameters [he3_text.f]

he3_text_a(ttc,p) -- Textural parameter a, erg/cm^3 1/G^2
See Thuneberg-2001 f.25 and f.6

he3_text_ldv(ttc,p) -- Textural parameter lambda_{DV}, erg/cm^3 1/(cm/s)^2
See Thuneberg-2001 f.26 and f.7

he3_text_lhv(ttc,p) -- Textural parameter lambda_{HV}, g/(cm^3 Gauss^2)
See Thuneberg-2001 f.27 and f.8

he3_text_d(ttc,p) -- Surface energy coefficient d, erg/(cm^2 Gauss^2)
Came from ROTA texture library. Some G-L extrapolation is used

he3_text_llh(ttc,p,omega) -- Vortex energy coefficient \lambda_{LH}
Came from ROTA texture library. (difference: 5/2a) See Thuneberg-2001 f.30 and Kopu-2007 f.5 Some G-L extrapolation is used

he3_text_lo(ttc,p,omega) -- lambda/omega value used in texture library

he3_text_xih(ttc,p,h) -- Magnetic length, cm
see Thuneberg-2001, p.662

he3_text_xid(ttc,p) -- Dipole length, cm
see Thuneberg-2001, p.662

he3_text_vd(ttc,p) -- Dipole velocity vd in cm/s


Normal He3 transport properties [he3_transp_n.f]

Crossections

he3_crsect_w(P) -- Scattering crossection , Einzel & Wolfle JLTP32 (1978) f.82

he3_crsect_wi(P) -- Scattering crossection , Einzel & Wolfle JLTP32 (1978) f.82

he3_crsect_wd(P) -- Scattering crossection , Einzel & Wolfle JLTP32 (1978) f.82

Scattering parameters $\lambda_n^+$ ($\lambda_n$, $\lambda_n^s$), $\lambda_n^-$ ($\lambda_n^a$), $\delta_n^+$, $\delta_n^-$, $\gamma_n^+$, $\gamma_n^-$,
$\lambda_0^+ = \lambda_1^+ = 1$, $\lambda_0^- = 3$, $\delta_0^+ = \delta_1^+ = \delta_0^-/3 = \delta_0$
See Sykes-1970 f.26-29, Einzel-1978 f66,67,71,74, Einzel-1984 f.24

he3_scatt_l1a(P) -- Scattering parameter $\lambda_1^-$ ($\lambda_1^a$)
l1a = 1 + 2 <W*cos(th)>/<W>

he3_scatt_l2(P) -- Scattering parameter $\lambda_2$ ($\lambda_2^+$)
l2 = 1 - 3 <W*sin^4(th/2)sin^2(phi)>/<W>

he3_scatt_g0(P) -- Scattering parameter $\gamma_0$,

he3_scatt_d0(P) -- Scattering parameter $\delta_0$,


he3_sykes_c(l) -- Normal phase viscosity correction c(\lambda), (Sykes-1970)

he3n_visc(p) -- Normal phase viscosity * T^2 (Sykes-1970)

he3_sykes_h(l) -- Normal phase thermal conductivity correction H(\lambda), (Sykes-1970)

Quasiparticle lifetimes

he3_tau_n0(ttc,p) -- Normal state quasiparticle lifetime at the Fermi level $\tau_N(0,T)$, s
Einzel JLTP32 (1978) p.28,34
Einzel JLTP84 (1991) f.4
In VW2.38. tau_n0 is different by pi/4 factor!

he3_tau_n_av(ttc,p) -- Thermal average of normal state quasiparticle lifetime $3/4\tau_N(0,T)$, s
Einzel JLTP84 (1991) f.5

he3_tau_nd(ttc,p) -- Thermal average of normal state spin diffusion transport time, s
Einzel JLTP84 (1991) p.328

he3_tau_nv(ttc,p) -- Thermal average ot normal state viscous transport time, s
See Einzel JLTP84 (1990) p.41

he3_diffn_hydr(ttc,p) -- Hydrodynamic spin diffusion in normal liquid, cm2/s
Einzel JLTP84 (1991) f.23
1/3 * vf^2 * tau_n0 * (1+f0a) * 3/4 1/(1-L1) # Einzel-1991
1/3 * vf^2 * tau_n0 * (1+f0a) * f_e(L1) # VW 2.40 + 2.71
Result is same if tau_n0 is different by pi/4 factor

he3_diffn_perp(ttc,p,nu0) -- Frequency-dependent spin diffusion D_perp in normal liquid, cm2/s
Einzel JLTP84 (1991) f.22, Bunkov PRL65


He3-B transport properties [he3_transp_b.f]

Collision integral for Bogoliubov quasiparticles

he3_coll_int(xi,ttc,gap,g0,d0) -- Collision integral in Einzel approximation
Einzel, Wolfle, Hirschfeld, JLTP80 (1990), Appendix, p.66 + my small fixes

he3_coll_int_lt(xi,ttc,gap,g0,d0) -- Collision integral for low temp (good for < 0.7Tc)
Einzel, JLTP84 (1991), p.345

he3_coll_int_ht(xi,ttc,gap,g0,d0) -- Collision integral for high temp (good above 0.95 Tc)
Einzel, JLTP84 (1991), p.345 Einzel, JLTP32 (1978), f.80 - first (gap/ttc)^2 term

Quasiparticle lifetime, mean free path

he3_tau0lt(ttc,p) -- He3-B quasiparticle lifetime, low temp limit (no Ek dep)

Einzel-1978 f.79
Einzel-1984 f.60,60a

he3_tau0(ttc,p) -- He3-B quasiparticle lifetime at Fermi level
Einzel JLTP84 (1991) p.344

he3_tau_av(ttc,p) -- Averaged quasiparticle lifetime
Einzel JLTP84 (1991) p.345

he3_fpath(ttc,p) -- Mean free path of Bogoliubov quasiparticles [cm]
Einzel JLTP32 (1978) f.84

he3_rmsv(ttc,p) -- RMS group velocity of Bogoliubov quasiparticles [cm/s]
Einzel JLTP32 (1990) f.28 and below

Viscosity

he3_visc_fpath(ttc,p) -- Viscous free path of Bogoliubov quasiparticles [cm]
Einzel 1990 Eq.26

he3_hvisc(ttc,p) -- Hydrodinamic (freq=0) viscosity of Bogoliubov quasiparticles [g/cm/s]
Einzel 1990 Eq.28

he3b_slip_length(ttc,p) -- Slip length to mean free path ratio
"improved lower bound" for diffuse scattering, [Hojgaard-1980]
$ \frac{\zeta}{l} = \frac12\left(\frac{8}{15}\sqrt{\frac{Y_2 Y_0}{Y_1^2}} + \frac{5}{8}\sqrt{\frac{Y_3^2 Y_0}{Y_2^3}}\right)$
TODO: in Einzel-1983 exact calculation is done (no big difference). There is also a calculation for arbitrary diffusive-specular scattering and Andreev scattering. In Einzel-1990 effect of surface curvature and roughness is calculated. Good review Einzel-Parpia-1997!

Spin diffusion

he3_tau_dperp(ttc,p) -- Spin diffusion perpendicular transport time, s
Einzel JLTP84 (1991) f.90,96

he3_tau_dpar(ttc,p) -- Spin diffusion parallel transport time, s
Einzel JLTP84 (1991) f.90,96

he3_diff_hperp_zz(ttc,p) -- Hydrodynamic spin diffusion D_perp, cm2/s
Einzel JLTP84 (1991) f.102

he3_diff_hpar_zz(ttc,p) -- Hydrodynamic spin diffusion D_par, cm2/s
Einzel JLTP84 (1991) f.102

he3_diff_perp_xx(ttc,p,nu0) -- Spin diffusion coefficient D_perp_xx [cm2/s]

he3_diff_perp_xx_im(ttc,p,nu0) -- Spin diffusion coefficient D_perp_xx_im [cm2/s]

he3_diff_perp_zz(ttc,p,nu0) -- Spin diffusion coefficient D_perp_zz [cm2/s]

he3_diff_perp_zz_im(ttc,p,nu0) -- Spin diffusion coefficient D_perp_zz_im [cm2/s]

he3_diff_par_xx(ttc,p,nu0) -- Spin diffusion coefficient D_par_xx [cm2/s]

he3_diff_par_zz(ttc,p,nu0) -- Spin diffusion coefficient D_perp_zz [cm2/s]


B phase in strong magnetic field (B2 phase). [he3_b2.f]

he3_b2hcr(ttc,P) -- critical field B_ab [mk] vs ttc, P [bar]
Inseob Hahn PhD thesis, p79 see also https://doi.org/10.1016/0921-4526(94)90737-4 see also code at http://spindry.phys.northwestern.edu/he3.htm

he3_b2tab(P,H) -- inverse function: find Tab [mK] with known P [bar], H [G]

Calculation of B-phase gap distortion and spin polarization.

Based on Ashida and Nagai paper (Progr.Theor.Phys. 74 949 (1985)).

he3_b2gap1(ttc,p,H) -- gap distortion

he3_b2gap2(ttc,p,H) -- gap distortion

he3_b2heff(ttc,p,H) -- effective field

he3_b2mag(ttc,p,H) -- magnetization

he3_b2rho_npar(ttc,p,H) -- He3-B normal fluid density vs T/Tc, p, H

he3_b2rho_nper(ttc,p,H) -- He3-B normal fluid density vs T/Tc, p, H

he3_b2rhoab_npar(ttc,p) -- He3-B normal fluid density at the A-B boundary vs T/Tc, p

he3_b2rhoab_nper(ttc,p) -- He3-B normal fluid density at the A-B boundary vs T/Tc, p

he3_b2magab(ttc,p) -- magnetization at the A-B boundary


Misc. functions for superfluid He3-B [he3_other.f]

he3_xigl(ttc,p) -- Extrapolated GL coherence length, cm
see Thuneberg-2001, p.667 No strong coupling corrections are needed!

he3_vneq(ttc,p,omega,r) -- Equilibrium vortex number

he3_tau_r(ttc) -- Leggett-Takagi tau_r [s] vs T/Tc, 20bar
Ref: WV pic.10.5 20bar

he3_tau_f(ttc) -- Leggett-Takagi tau_f [s] vs T/Tc, 20bar


Normal 3He liquid parameters beyond zero-temperature limit [he3_normal.f]

he3_cv_n(t,v) -- Heat capacity, Cv/R vs T [K], Vm [cm^3/mol]
Original formula from Greywall-1983. Note that Cv = Cp up to terms (T/Tf)^3.

he3_tcond_n(t,p) -- He3-n thermal conductivity, K [erg/s cm K] vs T [K] and P [bar].
Dyugaev-1985. Measurements from Greywall-1984 (7mK-1K) and Kerrisk,Keller-1969 (1.5K-Tcr) are used to obtain some semi-theoretical model for thermal conductivity and viscosity (see below).

he3_emery_factor(ttc,p) -- Emery factor vs T/Tc and P [bar].

In normal He3 transport properties (viscosity, spin diffusion, thermal conductivity?) are suppressed just above Tc because of some fluctuation effects (Emery-1976). This is clearly seen at viscosity measurements (Parpia-1978, Carless-1983, Nakagawa-1996). The factor has form 1 - $G(1 - \theta/\alpha\mbox{atan}(\alpha/\theta))$, where $\theta = \sqrt{T/T_c - 1}$.

Values of $G$ (pressure independent) and $\alpha$ were obtained by fitting viscosity data from Carless-1983 and Nakagawa-1996 in assumption that at high temperatures they should follow Dyugaev-1985 model.

Note that in Carless-1983 temperature scale Alvesalo-80 is used. To convert it to Greywall-86 scale one should multiply temperature by $k=0.893$.

he3_visc_n0(t,p) -- He3-n viscosity, eta [poise] vs T [K] and P [bar].
Pure Dyugaev-1985 model without Emery effect. See function he3_visc_n below.

he3_visc_n(t,p) -- He3-n viscosity, eta [poise] vs T [K] and P [bar].
Model from Dyugaev-1985, it uses thermal conductivity experimental data to get viscosity. At low temperature Emery effect, reduction of viscosity close to $T_c$ due to fluctuation effects, is taken into account. Very good agreement with Betts-1963,1965 at high temperatures, and with Carless-1983, Nakagawa-1996 at low tempeatures (temperature scale correction for Carless-1983 is needed).

There is also a complete viscosity model in Huang-2012, but for me it does not look as good as this one.


A phase [he3_a.f]

he3_nu_a(ttc,p) -- Legget frequency nu_a [Hz] vs P, ttc
Interpolation formula by A.Yudin based on Halperin and ROTA data There is no check that t > t_ab


He3 Polar phase [he3_polar.f]

he3p_chi_par(ttc,p) -- susceptibility component along d vector chi_par / chi_n
chi_perp/chi_0 = 1 see Leggett-1975, VIIID f.7.53 and f.7.54

he3p_xid_perp(ttc,p) -- dipolar length perpendicular to the l vector, 4g_d/K1

he3p_xid_par(ttc,p) -- dipolar length parallel to the l vector, 4g_d/(K1+K2+K3)

he3p_xih_perp(ttc,p,h) -- magnetic length perpendicular to the l vector (4g_d/K1)

he3p_xih_par(ttc,p,h) -- magnetic length parallel to the l vector (4g_d/(K1+K2+K3))


ROTA-specific functions [he3_rota.f]

ROTA-specific constants

rota_rcell = 0.2925 -- ROTA: cell radius (2011-2014)

rota_nmra = 96.69139692 -- ROTA: field/current in nmrA solenoid [G/A] (normal phase measurements 2014-10-10: f0=832803.65Hz I0=2655.663813mA)

rota_nmrb = 136.6058277 -- ROTA: field/current in nmrB solenoid [G/A] (normal phase measurements 2014-10-29, 2014-11-03: f0=1176586.91Hz I0=1907.345mA)

rota_hmina_r = 1.032 -- ROTA: effective radius of the HminA coil [cm]

rota_hmina_n = 4 -- ROTA: number of turns of the HminA coil

rota_hmina = 2.2305 -- ROTA: field/current in the center of HminA coil [G/A]

rota_hmina_mr = 1.652 -- ROTA: quadratic radial term of the HminA field, [G/A/cm^2]

rota_hmina_i0i = -0.02918 -- ROTA: effectve HminA coil current divided by NMR current

rota_hmina_i0f = -9.3050e-08 -- ROTA: effectve HminA coil current divided by NMR frequency, rota_hmina_i0i = rota_hmina_i0f * he3_gyro/2/pi * rota_nmra

rota_rrda = 1.01e-4 -- ROTA: radiation damping constant for the nmrA spectrometer

rota_c_ns(t,i) -- Nuclear stage heat capacity [J/K] vs T[K] and I[A]

rota_fork_cal(w,p,n) -- Calibration of fork N, T/Tc, vs width (Hz) and P (bar)

rota_nmra_q(f0) -- Q value of the nmrA spectrometer vs frequency (measured)

rota_nmra_f(n) -- ROTA: frequencies of nmrA spectrometer,kHz for n=1..8 (use real*8 n!)

rota_bza(I,Imin,r,z) -- ROTA: Bz field profile of the A spectrometer

rota_nspeca(f0,I,Imin) -- ROTA: normal phase spectrum

Q-balls in the zero temperature limit

rota_qball_dbetan(p,f0) -- ROTA: Derivative of the textural angle beta_N in the center of the cell (rota-specific, measured), [rad/cm]

rota_qball_fz0(p,f0,imin) -- ROTA: nu_z (1/2 of distance between visible axial levels) (no rotation, rota-specific, measured), [Hz]

rota_qball_fr0(p,f0,imin) -- ROTA: nu_r (1/2 of distance between visible radial levels) (no rotation, rota-specific, measured), [Hz]

rota_qball_az0(P,f0,imin) -- ROTA: z size of the magnon condensate (no rotation, rota-specific, measured), [cm]

rota_qball_ar0(P,f0,imin) -- ROTA: r size of the magnon condensate (no rotation, rota-specific, measured), [cm]

rota_qball_trd(P,f0,fr,fz) -- ROTA: tau_RD for the magnon condensate with given radial and axial frequencies (rota-specific, measured) [s]

rota_qball_trd0(P,f0,imin) -- ROTA: tau_RD for the magnon condensate (no rotation, rota-specific, measured) [s]


B phase magnon spectra. [he3_bspec.f]

he3b_spec1s(ttc,P,H,kv,ak,bk,an,bn) -- He3-B acoustic magnon spectrum, simple formula

he3b_spec2s(ttc,P,H,kv,ak,bk,an,bn) -- He3-B optical magnon spectrum, simple formula

he3b_spec3s(ttc,P,H,kv,ak,bk,an,bn) -- He3-B longitudinal magnon spectrum, simple formula

he3b_spec1(ttc,P,H,kv,ak,bk,an,bn) -- He3-B magnon spectrum, full formula, lowest mode

he3b_spec2(ttc,P,H,kv,ak,bk,an,bn) -- He3-B magnon spectrum, full formula, middle mode

he3b_spec3(ttc,P,H,kv,ak,bk,an,bn) -- He3-B magnon spectrum, full formula, highest mode

he3b_spec_kx2a(ttc,P,H,w,an,bn) -- He3-B magnon spectrum, kx^2(w), lowest mode

he3b_spec_kx2b(ttc,P,H,w,an,bn) -- He3-B magnon spectrum, kx^2(w), middle mode

he3b_spec_kx2c(ttc,P,H,w,an,bn) -- He3-B magnon spectrum, kx^2(w), highest mode


Mathematics [he3_math.f]

This file contains mathematical functions and subroutines. Some of them are not included in the library public interface, but still can be used in fortran/C programs: 1D and 2D real and complex integration with Gauss-2pt and Gauss-7pt+Kronrod-15pt quadratures, error estimation, adaptive breakpoints; 2D integration of delta-function (f1*delta(f2)); solving qubic equations.

math_ele(x) -- complete elliptic integral E(x)
from IMSL library

math_elk(x) -- complete elliptic integral K(x)
from IMSL library

loop_bz(Rl,r,z) -- magnetic field Bz of a current loop [G/A] vs Rloop, r, z [cm]

loop_br(Rl,r,z) -- magnetic field Br of a current loop [G/A] vs Rloop, r, z [cm]

math_stokes(g) -- Evaluates complex Stokes function K + 1i*K' (complex)
Uses the methods outlined in STOKES - Mathematical and physical papers Vol III. For G>=3 use eq.113, for G<3 eq.103-105. Code is taken from Lancaster ULT wire calibration program.

math_stokes_k(g) -- Stokes K function, real component of math_stokes(g).

math_stokes_kp(g) -- Stokes K' function, imag component of math_stokes(g).


Helium-4 parameters [he4.f]

Constants

he4_tcv = 2.1720 -- He4 superfluid transition temperature at vapor pressure [K] (1958 temperature scale)

he4_pcv = 0.050396 -- He4 vapor pressure at superfluid transition [bar] (1958 temperature scale)

he4_tcm = 1.750 -- He4 superfluid transition temperature at melting curve [K] (Swenson-1952, shifted)

he4_pcm = 30.033 -- He4 superfluid transition pressure at melting curve [bar] (Swenson-1952)

he4_tcr = 5.1994 -- He4 critical temperature [K] (1958 temperature scale)

he4_pcr = 2.2905 -- He4 critical pressure [bar] (1958 temperature scale)

he4_tc(p) -- He4 superfluid transition temperature [K] vs pressure [bar].
Data from [[Swenson-1952]], shifted by -0.014K to have Tc(Pvap) = 2.1720K (according to 1958 temperature scale).

he4_pmelt(t) -- He4 Melting pressure [bar] vs temperature [K], 0..4K
[[Swenson-1950,1951]]

he4_pvap(t) -- He4 Vapor pressure [bar] vs temperature [K], 0..tcr
Fit of 1958 temperature scale (~1.5% accuracy)

he4_vm(t) -- He4 molar volume at saturated vapor pressure [cm^3/mol] vs T [K]
[[Kerr,Taylor-1964]]


3He-4He mixtures [he34.f]

Constants

he34_xcr = 0.674 -- critical point at saturated pressure, concentration of He3

he34_tcr = 0.867 -- critical point at saturated pressure, temperature [K]

Phase diagram functions are from Chaudhry PhD thesis (Massachusetts, 2009)

Phase diagram at saturated vapor pressure

he34_xdil(t) -- Dilute phase-separation curve, concentration vs temperature [K]
(0.08014 < x < 0.674; 0.15 K < T < 0.867 K): Chaudhry PhD thesis (Massachusetts, 2009) Below 0.15 K: Edwards, Ifft, Sarwinski, Phys.Rev. 177, 380 (1969) Eq.23

he34_xcon(t) -- Concentrated phase-separation curve, concentration vs temperature [K]
(0.674 < x < 1; 0.15 K < T < 0.867 K). Chaudhry PhD thesis (Massachusetts, 2009) Below 0.15 K: Edwards, Ifft, Sarwinski, Phys.Rev. 177, 380 (1969) Eq.25.

he34_tlambda(x) -- Lambda curve, temperature [K] vs concentration
Chaudhry PhD thesis (Massachusetts, 2009)

Phase diagram at pressures 0..10bar (T>0.15K)

he34_tcr_p(p) -- Tricritical line vs pressure [bar], 0..10 bar
Chaudhry PhD thesis (Massachusetts, 2009)

he34_xcr_p(p) -- Concentration along the tricritical line vs pressure [bar]:
Chaudhry PhD thesis (Massachusetts, 2009)

he34_xdil_p(t,p) -- Dilute phase-separation curve, x vs t[K] and p[bar]
Chaudhry PhD thesis (Massachusetts, 2009)

he34_xcon_p(t,p) -- Concentrated phase-separation curve, x vs t[K] and p[bar]
Chaudhry PhD thesis (Massachusetts, 2009)

he34_tlambda_p(x,p) -- Lambda curve, t[K] vs x and p[bar]
Chaudhry PhD thesis (Massachusetts, 2009)

Phase diagram functions on the plot:


Vibrating wire calibration programs from Lancaster ULT (original version) [he3_wire_orig.f]

These functions produce same results as old Lancaster code, I do not plan to change them. I plan to do a separate version using functions from the library (Yosida functions, viscosity, etc.)

he3_lancwire_d(t,rho,diam,fre) -- Calibration of vibrating wire in mixing chamber (diluted phase), original Lancaster version, complex: freq + 1i*width (complex)
Arguments: temperature [K], rho wire [g/cm^3], wire diameter [um], frequency [Hz]

he3_lancwire_d_f(t,rho,diam,fre) -- Calibration of vibrating wire in mixing chamber (diluted phase), frequency
arguments: temperature [K], rho wire [g/cm^3], wire diameter [um], frequency [Hz]

he3_lancwire_d_w(t,rho,diam,fre) -- Calibration of vibrating wire in mixing chamber (diluted phase), width
arguments: temperature [K], rho wire [g/cm^3], wire diameter [um], frequency [Hz]

he3_lancwire_b(t,p,rho,diam,fre) -- Calibration of vibrating wire in superfluid He3-B (original Lancaster version), complex: freq + 1i*width (complex)
arguments: temperature [K], pressure [bar], rho wire [g/cm^3], wire diameter [um], frequency [Hz].

he3_lancwire_b_f(t,p,rho,diam,fre) -- Calibration of vibrating wire in superfluid He3-B, frequency
arguments: temperature [K], pressure [bar], rho wire [g/cm^3], wire diameter [um], frequency [Hz]

he3_lancwire_b_w(t,p,rho,diam,fre) -- Calibration of vibrating wire in superfluid He3-B, width
arguments: temperature [K], pressure [bar], rho wire [g/cm^3], wire diameter [um], frequency [Hz]

he3_lancwire_n(t,p,rho,diam,fre) -- Calibration of vibrating wire in normal He3 (original Lancaster version), complex: freq + 1i*width (complex)
Cylinder programme using wide line treatment and slip fudge. arguments: temperature [K], pressure [bar], rho wire [g/cm^3], wire diameter [um], frequency [Hz].

he3_lancwire_n_f(t,p,rho,diam,fre) -- Calibration of vibrating wire in normal He3 (original Lancaster version), freq
Cylinder programme using wide line treatment and slip fudge. arguments: temperature [K], pressure [bar], rho wire [g/cm^3], wire diameter [um], frequency [Hz]

he3_lancwire_n_w(t,p,rho,diam,fre) -- Calibration of vibrating wire in normal He3 (original Lancaster version), width
Cylinder programme using wide line treatment and slip fudge. arguments: temperature [K], pressure [bar], rho wire [g/cm^3], wire diameter [um], frequency [Hz]


Magnetic models [magn.f]

TODO: it's better to re-chack magnetization units. It's checked that magnetization is consistent with susceptibility and entropy is consistent with heat capacity and demagnetization cooling effect.

Curie-Weiss magnet with spin 1/2

See [Kochmansky].

magn_cw_y(ttc,btc) -- y-function, dimensionless magnetization of S=1/2 Curie-Weiss magnet, M/mu vs T/Tc and muB/kTc
Solving equation m = \tanh((m+btc)/ttc) by Newton method. Works for positive and negative field.

magn_cw_m(T,B,Tc,gyro) -- Molar magnetization of S=1/2 Curie-Weiss magnet, M[J/T/mole] vs T[K], B[T], Tc[K], gyro[rad/s/T]

magn_cw_chi(T,B,Tc,gyro) -- Molar magnetic susceptibility of S=1/2 Curie-Weiss magnet, chi [J/T^2/mole] vs T[K], B[T], Tc[K], gyro[rad/s/T]

magn_cw_s(T,B,Tc,gyro) -- Entropy of S=1/2 Curie-Weiss magnet, S/R vs T[K], B[T], Tc[K], gyro[rad/s/T]

magn_cw_c(T,B,Tc,gyro) -- Heat capacity of S=1/2 Curie-Weiss magnet, C/R vs T[K], B[T], Tc[K], gyro[rad/s/T]

magn_cw_d(T,B,Tc,gyro) -- Cooling effect of demagnetization D[K/T] vs T[K], B[T], Tc[K], gyro[rad/s/T]
In the demagnetization process $dQ = T\,dS = T(dS/dT)\,dT + T(dS/dB)\,dB$.
Then $dT = dQ/C - D\,dB$, where $D = (dS/dB)/(dS/dT)$

Example for Curie-Weiss material with Curie temperature $T_c=0.5$ mK and gyromagnetic ratio $\gamma=203.789\cdot10^6$ rad/s/T:

Paramegnetetic material with internal field

See Pobell book f9.15

magn_par_m(T,B,Bi,gyro,spin) -- Molar magnetization of paramagnetic material, M[J/T/mole] vs T[K], B[T], Bi[T], gyro[rad/s/T], spin[half-int]

magn_par_chi(T,B,Bi,gyro,spin) -- Molar magnetic susceptibility of paramagnetic material, chi[J/T^2/mole] vs T[K], B[T], Bi[T], gyro[rad/s/T], spin[half-int]

magn_par_s(T,B,Bi,gyro,spin) -- Entropy of paramagnetic material, S/R vs T[K], B[T], Bi[T], gyro[rad/s/T], spin[half-int]

magn_par_c(T,B,Bi,gyro,spin) -- Heat capacity of paramagnetic material, C/R vs T[K], B[T], Bi[T], gyro[rad/s/T], spin[half-int]

magn_par_d(T,B,Bi,gyro,spin) -- Cooling effect of demagnetization D[K/T] vs T[K], B[T], Bi[T], gyro[rad/s/T], spin[half-int]
In the demagnetization process $dQ = T\,dS = T(dS/dT)\,dT + T(dS/dB)\,dB$.
Then $dT = dQ/C - D\,dB$, where $D = (dS/dB)/(dS/dT)$

Example for copper nuclei. Internal field $B_i = 0.36\cdot 10^{-3}$ T, gyromagnetic ratio $\gamma = 71.118\cdot10^6$ rad/s/T, spin $J$ = 3/2: