Introduction
The code of this library is stored in the file Gfer.f08 in the form of Fortran 2008 source. This file can be compiled using GFortran free compiler or other alternatives. For Linux operating systems, it is usually simpler to install the compiler from the official distribution repository. The code has been designed to not require further dependency and can be compiled using the command line reported in the source code.
Alternatively, the library is distributed in the form of compiled shared library Gfer.dll and Gfer.so for Windows™ 64 bit and Linux 64 bit operative systems. A 32 bit version is available only for Windows™.
The name of the functions, exposed by the library, are reported in the List of function session. It has been chosen to use the "C" format for the compiled code so that the functions can be called by almost all the development environment and software for numerical analysis.
All the quantities are represented using double precision floating point with a length of 8 bytes while integer indexes, when necessary, are implemented using signed integer of 4 bytes. Arrays are pointers to double.
All values are passed by reference in the form of pointers.
For a sake of testing, a LabView™ 16 bit library has been implemented to link Gfer functions in a form of a set of virtual instruments. LabView™ Library is contained in the Gfer.llb file. A Maple™ 16 bit version is already available if requested.
It has been chosen to leave to the end user the freedom to provide the properties needed to calculate the corrections.
Sometimes corrections depend on mechanical dimensions of the resonator, ducts, tubes and so on. These quantities are expressed in millimeters while thermodynamic quantities are expressed in SI fundamental units. Internally, the conversion from millimeters to meters is applied when necessary.
An implementation for the Bessel function, optimized for the corrections applied to radial modes, has been included in the library and are called internally when necessary. In this way, Gfer library doesn’t depend from external math libraries.
Installation
Please check the terms of use described in the license before installing this software.
Gfer library is not provided with an automatic installer because its installation depends on the choices of the enduser. For LabView™, the shared library, being Gfer.dll or Gfer.so, should be saved in the same folder of the Gfer.llb file. Other development platforms and software for numerical analysis might request to save libraries in determined places. Please refer to the manual of the software connecting to the Gfer libraries to get the necessary information.
For 32 bits platforms (only Windows™), it is possible use Gfer_32bit.dll. To this end, rename the file to Gfer.dll before using.
Acoustic modes
The following functions will consider only radial acoustic modes with n<11. Modes are labeled as (0,n) with n=2,3,… 10.
Ideal frequencies
f_id(n, w, req)
n 
Integer(4) 
none 
Index of the acoustic mode 
w 
Real(8) 
m/s 
Speed of sound 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
Return 
Real(8) 
Hz 
Frequency of the mode 
Reference:

J. B. Mehl, M. R. Moldover and L. Pitre, Designing quasispherical resonators for acoustic thermometry, Metrologia 41 (2004) 295–304; https://doi.org/10.1088/00261394/41/4/011
Boundary layer
Thermal penetration length: d_t
d_t(K, rho, cp, f)
K 
Real(8) 
W/(m K) 
Thermal conductivity of the gas 
rho 
Real(8) 
kg/m^{3} 
Density of the gas 
cp 
Real(8) 
J/(kg K) 
Constant pressure specific heat capacity of the gas 
f 
Real(8) 
Hz 
Frequency of the acoustic mode 
Return 
Real(8) 
m 
Thermal penetration length 
Reference:

M. R. Moldover, J. B. Mehl and M. Greenspan, Gasfilled spherical resonators: Theory and experiment, J. Acoust. Soc. Am. 79 (2}, February 1986; https://doi.org/10.1121/1.393566
Viscous penetration length: d_v
d_v(Nu, rho, f)
Nu 
Real(8) 
Pa s 
Viscosity of the gas 
rho 
Real(8) 
kg/m^{3} 
Density of the gas 
f 
Real(8) 
Hz 
Frequency of the acoustic mode 
Return 
Real(8) 
m 
Viscous penetration length 
Reference:

M. R. Moldover, J. B. Mehl and M. Greenspan, Gasfilled spherical resonators: Theory and experiment, J. Acoust. Soc. Am. 79 (2}, February 1986; https://doi.org/10.1121/1.393566
Thermal accommodation length: I_t
I_t(T, p, cv, K, m, h)
T 
Real(8) 
K 
Temperature of the gas 
p 
Real(8) 
kPa 
Pressure of the gas 
cv 
Real(8) 
J/(kg K) 
Specific heat capacity of the gas 
K 
Real(8) 
W/(m K) 
Thermal conductivity of the gas 
m 
Real(8) 
kg/mol 
Molar mass of the gas 
h 
Real(8) 
none 
Accommodation coefficient 
Return 
Real(8) 
m 
Thermal accommodation length 
Reference:

G. Benedetto, R. M. Gavioso, R. Spagnolo, P. Marcarino and A. Merlone, Acoustic measurements of the thermodynamic temperature between the triple point of mercury and 380 K, Metrologia 41, 2004, 74–98; https://doi.org/10.1088/00261394/47/4/005
Frequency shift
Thermal boundary layer frequency shift
df_th(g, dt, dt_Cu, I_t, K, K_Cu, Req, f)
g 
Real(8) 
cp/cv 
Specific heat capacities ratio 
dt 
Real(8) 
m 
Thermal penetration length of the gas 
dt_Cu 
Real(8) 
m 
Thermal penetration length of the copper 
I_t 
Real(8) 
m 
Thermal accommodation length 
K 
Real(8) 
W/(m K) 
Thermal conductivity of the gas 
K_Cu 
Real(8) 
W/(m K) 
Thermal conductivity of the copper 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
f 
Real(8) 
Hz 
Frequency of the acoustic mode 
Return 
Real(8) 
Hz 
Shift of the resonant frequency 
Reference:

L. Pitre, M. R. Moldover and W. L. Tew, Acoustic thermometry: new results from 273 K to 77 K and progress towards 4 K, Metrologia 43 (2006) 142–162; https://doi.org/10.1088/00261394/43/1/020
Separated contributions
Next three functions reproduce the three terms used to calculate df_th. Sometimes researchers prefer to keep the contributions separated to investigate them.
Frequency shift by d_t
df_dth(g, Req, d_t)
g 
Real(8) 
cp/cv 
Specific heat capacities ratio 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
d_t 
Real(8) 
m 
Thermal penetration length of the gas 
Return 
Real(8) 
df/f 
Shift of the resonant frequency 
Frequency shift by I_t
df_Ith(g, Req, I_t)
g 
Real(8) 
cp/cv 
Specific heat capacities ratio 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
I_t 
Real(8) 
m 
Thermal accommodation length of the gas 
Return 
Real(8) 
df/f 
Shift of the resonant frequency 
Frequency shift by shellgas coupling
df_CuTh(g, Req, dt_Cu, K, K_Cu)
g 
Real(8) 
cp/cv 
Specific heat capacities ratio 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
dt_Cu 
Real(8) 
m 
Thermal penetration length of the copper 
K 
Real(8) 
W/(m K) 
Thermal conductivity of the gas 
K_Cu 
Real(8) 
W/(m K) 
Thermal conductivity of the copper 
Return 
Real(8) 
df/f 
Shift of the resonant frequency 
Ducts
df_ducts(r, L, N, rho, cp,w, g, K, Nu, Req, f, n, df_f, dg_g)
r 
Array[Real(8)] 
mm 
Radius of the tube sections starting from the resonator 
L 
Array(Real(8)] 
mm 
Length of the tube sections starting from the resonator 
N 
Integer(4) 
none 
Number of sections loaded in the arrays 
rho 
Real(8) 
kg/m^{3} 
Density of the gas 
cp 
Real(8) 
J/(kg K) 
Constant pressure specific heat capacity of the gas 
w 
Real(8) 
m/s 
speed of sound of the gas 
g 
Real(8) 
cp/cv 
Specific heat capacities ratio 
K 
Real(8) 
W/(m K) 
Thermal conductivity of the gas 
Nu 
Real(8) 
Ps s 
Viscosity of the gas 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
f 
Real(8) 
Hz 
frequency of the acoustic mode 
n 
Integer(4) 
none 
Index of the acoustic mode 
df_f 
Real(8) 
df/f 
Return the relative frequency shift caused by ducts 
dg_f 
Real(8) 
dg/f 
Return the relative halfwidth increasing of the acoustic mode caused by ducts 
Reference:

J. B. Mehl, M. R. Moldover and L. Pitre, Designing quasispherical resonators for acoustic thermometry, Metrologia 41 (2004) 295–304; https://doi.org/10.1088/00261394/41/4/011
Microphones
df_mic(r, Req, rho w)
r 
Real(8) 
mm 
radius of the microphone 
Req 
Real(8) 
mm 
radius of the equivalent sphere 
rho 
Real(8) 
kg/m^{3} 
Density of the gas 
w 
Real(8) 
m/s 
Speed of sound in the gas 
Return 
Real(8) 
df/f 
Frequency shift of the acoustic mode 
Reference:

J. B. Mehl, M. R. Moldover and L. Pitre, Designing quasispherical resonators for acoustic thermometry, Metrologia 41 (2004) 295–304; https://doi.org/10.1088/00261394/41/4/011
Radial modes eigenvalues correction for triaxialEllipsoids
O2dZ2AC(Eps, n)
Eps 
Array[Real(8)] 
none 
Values of epsilon_1 and epsilon_2 encapsulated in an array 
n 
Integer(4) 
none 
Index of the acoustic mode 
Return 
Real(8) 
dz^{2}/z^{2} 
Shift of the square of the eigenvalue dz^{2}/z^{2} 
Reference:

J. B. Mehl, Acoustic Eigenvalues of a Quasispherical Resonator: Second Order Shape Perturbation Theory for Arbitrary Modes, J. Res. Natl. Inst. Stand. Technol. 112, 163173 (2007); https://doi.org/10.6028/jres.112.013
Halfwidth of the acoustic modes
Halfwidth of radial acoustic modes
g_t(T, p,g, dt, dt_Cu, K, K_Cu, Req, f)
T 
Real(8) 
K 
Temperature of the gas 
p 
Real(8) 
kPa 
Pressure of the gas 
g 
Real(8) 
cp/cv 
Specific heat capacities ratio 
dt 
Real(8) 
m 
Thermal penetration length of the gas 
dt_Cu 
Real(8) 
m 
Thermal penetration length of the copper 
K 
Real(8) 
W/(m K) 
Thermal conductivity of the gas 
K_Cu 
Real(8) 
W/(m K) 
Thermal conductivity of the copper 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
f 
Real(8) 
Hz 
Frequency of the acoustic mode 
Return 
Real(8) 
Hz 
Increment of the halfwith for thermal boundary layer 
Reference:

K. A. Gillis, I. I. Shinder and M. R. Moldover, Phys. Rev. E 70 021201 (2004); https://doi.org/10.1103/PhysRevE.70.021201
Separated contributions
Next three functions calculate the separated contributions included in g_t.
Halfwidth increase by thermal boundary layer (first order)
g_th(g, Req, d_th)
g 
Real(8) 
cp/cv 
Specific heat capacities ratio 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
dt 
Real(8) 
m 
Thermal penetration length of the gas 
Return 
Real(8) 
dg/f 
Halfwith for thermal boundary layer 
Halfwidth increase by thermal boundary layer (second order)
g_thO2(g, Req, d_th)
g 
Real(8) 
cp/cv 
Specific heat capacities ratio 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
dt 
Real(8) 
m 
Thermal penetration length of the gas 
Return 
Real(8) 
dg/f 
Halfwith for thermal boundary layer 
Halfwidth increase by shellgas coupling
g_Cu(g, Req, dt_Cu, K, K_Cu)
g 
Real(8) 
cp/cv 
Specific heat capacities ratio 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
dt_Cu 
Real(8) 
m 
Thermal penetration length of the copper 
K 
Real(8) 
W/(m K) 
Thermal conductivity of the gas 
K_Cu 
Real(8) 
m 
Thermal conductivity of the copper 
Return 
Real(8) 
dg/f 
Halfwith for thermal boundary layer 
Halfwidth by bulk attenuation
g_b(T, p, g, dv, dt, f)
T 
Real(8) 
K 
Temperature of the gas 
p 
Real(8) 
kPa 
Pressure of the gas 
g 
Real(8) 
cp/cv 
Specific heat capacities ratio 
dv 
Real(8) 
m 
Viscous penetration length of the gas 
dt 
Real(8) 
m 
Thermal penetration length of the gas 
f 
Real(8) 
Hz 
Frequency of the acoustic mode 
Return 
Real(8) 
Hz 
Increment of the halfwith 
Reference:

M. R. Moldover, J. B. Mehl and M. Greenspan, Gasfilled spherical resonators: Theory and experiment, J. Acoust. Soc. Am. 79 (2}, February 1986; https://doi.org/10.1121/1.393566
Electromagnetic modes
Skin effect
Depth penetration of electromagnetic waves
d_sk(mu_r, s, f)
mu_r 
Real(8) 
none 
Relative magnetic permeability of copper 
s 
Real(8) 
S / m 
Electric conductivity of the copper 
f 
Real(8) 
Hz 
Frequency of the electromagnetic mode 
Return 
Real(8) 
m 
Penetration length in the copper 
Reference:

E. F. May, L. Pitre, J.B. Mehl, M. R. Moldover and J. W. Schmidt, Quasispherical cavity resonators for metrology based on the relative dielectric permittivity of gases, Rev. Sci. Instrum., Vol. 75, No. 10, October 2004; https://doi.org/10.1063/1.1791831
TE frequency and halfwidth perturbation
df_skTE(d_sk, R_Eq, df_f dg_f)
d_sk 
Real(8) 
m 
Penetration length in the copper 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
df_f 
Real(8) 
df/f 
Return shift of the TE mode 
dg_f 
Real(8) 
dg/f 
Return halfwidth of the TE mode 
Reference:

E. F. May, L. Pitre, J.B. Mehl, M. R. Moldover and J. W. Schmidt, Quasispherical cavity resonators for metrology based on the relative dielectric permittivity of gases, Rev. Sci. Instrum., Vol. 75, No. 10, October 2004; https://doi.org/10.1063/1.1791831
TM1n frequency and halfwidth perturbation
df_skTM1n(d_sk, R_Eq, n, df_f dg_f)
d_sk 
Real(8) 
m 
Penetration length in the copper 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
n 
Integer(4) 
none 
Index of the TM1n mode 
df_f 
Real(8) 
df/f 
Return relative shift of the TM1n mode 
dg_f 
Real(8) 
dg/f 
Return relative increase of the halfwidth of the TM1n mode 
Reference:

E. F. May, L. Pitre, J.B. Mehl, M. R. Moldover and J. W. Schmidt, Quasispherical cavity resonators for metrology based on the relative dielectric permittivity of gases, Rev. Sci. Instrum., Vol. 75, No. 10, October 2004; https://doi.org/10.1063/1.1791831
Ducts
TE modes frequency perturbation
df_dcTE(r, R_Eq)
r 
Real(8) 
mm 
Radius of the duct 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
Return 
Real(8) 
df/f 
Shift of the TE modes due to a duct 
Reference:

R. J. Underwood, J. B. Mehl, L. Pitre, G. Edwards, G. Sutton and M. de Podesta, Waveguide effects on quasispherical microwave cavity resonators, Meas. Sci. Technol. 21 (2010) 075103; https://doi.org/10.1088/09570233/21/7/075103
TM1n modes frequency perturbation
df_dcTM1n(r, R_Eq, n)
r 
Real(8) 
mm 
Radius of the duct 
Req 
Real(8) 
mm 
Radius of the equivalent sphere 
n 
Integer(4) 
none 
Index of the TM1n mode 
Return 
Real(8) 
df/f 
Shift of the TM1n modes due to a duct 
Reference:

R. J. Underwood, J. B. Mehl, L. Pitre, G. Edwards, G. Sutton and M. de Podesta, Waveguide effects on quasispherical microwave cavity resonators, Meas. Sci. Technol. 21 (2010) 075103; https://doi.org/10.1088/09570233/21/7/075103
Epsilon calculations
Using TM1n first order approximation model
Eps_TM1n(f1, f2, f3, n, ep1, ep2)
f1 
Real(8) 
Hz 
Frequency of the first component of the TM1n mode 
f2 
Real(8) 
Hz 
Frequency of the second component of the TM1n mode 
f3 
Real(8) 
Hz 
Frequency of the third component of the TM1n mode 
n 
Integer(4) 
none 
Index of the TM1n mode 
ep1 
Real(8) 
1Rx/Rz 
Return value of epsilon_1 of the ellipsoidal resonator 
ep2 
Real(8) 
1Ry/Rz 
Return value of epsilon_2 of the ellipsoidal resonator 
Reference:

J. B. Mehl, Secondorder electromagnetic eigenfrequencies of a triaxial ellipsoid, Metrologia 46 (2009) 554–559; https://doi.org/10.1088/00261394/46/5/020
Using TE1n first order approximation model
Eps_TE1n(f1, f2, f3, n, ep1, ep2)
f1 
Real(8) 
Hz 
Frequency of the first component of the TE1n mode 
f2 
Real(8) 
Hz 
Frequency of the second component of the TE1n mode 
f3 
Real(8) 
Hz 
Frequency of the third component of the TE1n mode 
n 
Integer(4) 
none 
Index of the TM1n mode 
ep1 
Real(8) 
1Rx/Rz 
Return value of epsilon_1 of the ellipsoidal resonator 
ep2 
Real(8) 
1Ry/Rz 
Return value of epsilon_2 of the ellipsoidal resonator 
Reference:

J. B. Mehl, Secondorder electromagnetic eigenfrequencies of a triaxial ellipsoid, Metrologia 46 (2009) 554–559; https://doi.org/10.1088/00261394/46/5/020
Second order shape perturbations (applied to the mean value)
TM1n perturbed eigen values
dzm2_zTM1n( ep1, ep2, n)
ep1 
Real(8) 
none 
Value of epsilon_1 of the ellipsoidal resonator 
ep2 
Real(8) 
none 
Value of epsilon_2 of the ellipsoidal resonator 
n 
Integer(4) 
none 
Index of the TM1n mode 
Return 
Real(8) 
dz^{2}/z^{2} 
Shift of the square of the eigenvalue dz^{2}/z^{2} for the mode TE1n 
Reference:

J. B. Mehl, Secondorder electromagnetic eigenfrequencies of a triaxial ellipsoid, Metrologia 46 (2009) 554–559; https://doi.org/10.1088/00261394/46/5/020
TE1n perturbed eigen values
dzm2_zTE1n( ep1, ep2, n)
ep1 
Real(8) 
none 
Value of epsilon_1 of the ellipsoidal resonator 
ep2 
Real(8) 
none 
Value of epsilon_2 of the ellipsoidal resonator 
n 
Integer(4) 
none 
Index of the TE1n mode 
Return 
Real(8) 
dz^{2}/z^{2} 
Shift of the square of the eigenvalue dz^{2}/z^{2} for the mode TE1n 
Reference:

J. B. Mehl, Secondorder electromagnetic eigenfrequencies of a triaxial ellipsoid, Metrologia 46 (2009) 554–559; https://doi.org/10.1088/00261394/46/5/020
Copper properties
Constant pressure specific heat capacity
cp_cu(T)
T 
Real(8) 
K 
Temperature of the copper 
Return 
Real(8) 
J/(kg K) 
Constant pressure specific heat capacity of the copper 
Thermal conductivity
k_cu(T, RRR)
T 
Real(8) 
K 
Temperature of the copper 
RRR 
Real(8) 
none 
Residual resistance ratio of the copper 
Return 
Real(8) 
W/(m K) 
Thermal conductivity of the copper 
Acknowledgement
This project (18SIB02RMG1) has received funding from the EMPIR programme cofinanced by the Participating States and from the European Union’s Horizon 2020 research and innovation programme.
License
Copyright (c) 2022 LeCnam/INRiM.
MITlike license with commercial restrictions.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute and sublicense copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

The Software, or part of it, is not included or used in commercial applications without prior written agreement from LeCnam/INRiM.

Except as contained in this notice, the name of LeCnam/INRiM shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from LeCnam/INRiM.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.