libFitPofB is a collection of C++ classes using the musrfit user-functions interface in order to facilitate the usage in conjunction with musrfit. The classes contained in this library generally implement calculations of one-dimensional static magnetic field distributions \(p(B)\) which lead to the muon-spin depolarization functions
where \(\gamma_\mu = 2 \pi \times 135.54\) MHz/T is the gyromagnetic ratio of the muon and \(\varphi\) is the initial phase of the muon spins with respect to the positron detector. At the moment the only available implementations deal with field distributions measured in local isotropic superconductors, either by means of low-energy μSR (see https://www.psi.ch/smus/lem) in the Meissner state or by bulk μSR in the mixed state. In the following the basic usage of the library in musrfit is explained—the calculations by themselves are only outlined. For further information please refer to the original literature and/or the source code of the implementation.
Note
In order to supply certain information needed for the calculations but not suited to be stored in the musrfit msr files an XML configuration file in the working directory is used. For details, see below.
Note
The implementations in this library heavily rely on FFTW3. In principle, it always checks what is the best way to do efficient Fourier transforms for a given machine before the transforms are actually done. If repeatedly Fourier transforms of the same (sizable) length should be done, it might be worth storing the once obtained information in an external file and just load it the next time this information is needed (wisdom handling). In case this feature shall be used, a valid wisdom file has to be specified in the XML file.
Note
The model functions described in the following do generally not behave nicely in conjunction with MINUIT function minimizations (or maximizations). The analysis process at the moment in most cases involves some tedious trial-and-error procedure, where the displayed MINUIT information as always deserves attention. This is especially true if small effects should be analyzed (e.g. small diamagnetic shifts in superconductors). The parameter uncertainty in many cases has to be estimated independently. Due to these limitations, also the use of the fit option of msr2data cannot be advised.
Note
If these classes still prove useful and results obtained through them are part of scientific publications, an acknowledgment of the use of the library is appreciated.
The models for analyzing LE-μSR data assume the magnetic induction \(B(z)\) to vary only in the dimension parallel to the momentum of the incident muons. In such a case the magnetic field distribution is given by
where \(n(z)\) is the muon implantation profile simulated by TRIM.SP.
Assuming an array of N isotropic local superconductors with a total thickness d in the Meissner state the magnetic induction is given by solving the 1D London equation
for each layer i taking into account the boundary conditions (F. London, Superfluids: Macroscopic Theory of Superconductivity, Dover (1961), p. 34)
where the \(d_i\) specify the interfaces between two adjacent layers and \(\lambda_i\) is the magnetic field penetration depth in the constituent \(i\).
The calculation of the field distribution has been set up for a superconducting half-space as well as superconducting thin films with up to three superconducting layers with different penetration depths. The muon-spin depolarization functions are calculated using the following lines in the THEORY block of a musrfit msr file:
Superconducting half-space
userFcn libFitPofB TLondon1DHS 1 2 3 4 5
The parameters are:
Superconducting thin film (one layer)
userFcn libFitPofB TLondon1D1L 1 2 3 4 5 6 [a b]
The mandatory parameters are:
The optional parameters are:
Superconducting thin-film bilayer heterostructure
userFcn libFitPofB TLondon1D2L 1 2 3 4 5 6 7 8 [a b c]
The mandatory parameters are:
The optional parameters are:
Superconducting thin-film trilayer heterostructure
userFcn libFitPofB TLondon1D3L 1 2 3 4 5 6 7 8 9 10 [a b c d]
The mandatory parameters are:
The optional parameters are:
When investigating superconductors in the mixed state by means of conventional μSR a two-dimensional flux-line lattice is probed randomly by the muons. The spatial field distributions within such an ordered lattice are modeled using the Fourier series
where \(\mathbf{r}=(x,y)\), K are the reciprocal lattice vectors of a two-dimensional vortex lattice and the \(B_{\mathbf{K}}\) are the Fourier coefficients depending on the magnetic penetration depth \(\lambda\) and the superconducting coherence length \(\xi\). The \(B_{\mathbf{K}}\) for some specific models are as follows:
London model with Gaussian cutoff (E.H. Brandt, J. Low Temp. Phys. 73, 355 (1988).)
Modified London model (T.M. Riseman et al., Phys. Rev. B 52, 10569 (1995).)
where \(b = \langle B \rangle / (\mu_0 H_{\rm c2})\).
Analytical Ginzburg-Landau model ( A. Yaouanc, P. Dalmas de Réotier and E.H. Brandt, Phys. Rev. B 55, 11107 (1997))
where \(f_{\infty} = 1 - b^4,~\xi_v = \xi\left(\sqrt{2}-{3\xi}/\left({4\lambda}\right)\right)\sqrt{(1+b^4)(1-2b(1-b)^2)}\) and \(K_1\) is a modified Bessel function.
Apart from the mentioned analytic models the numerical Ginzburg-Landau model (E.H. Brandt, Phys. Rev. B 68, 054506 (2003).) is available. In this case \(B(\mathbf{r})\) is obtained by an iterative minimization of the free energy of the vortex lattice.
Concerning the applicability (e.g. field regions) of each of the mentioned models please refer to the original publications!
At the moment, the calculation of the field distribution has been implemented for triangular flux-line lattices. The number of grid lines in which the inter-vortex distance is divided for the calculations to be specified through the XML startup. The muon-spin depolarization functions finally are calculated using the following lines in the THEORY block of a musrfit msr file:
2D triangular vortex lattice, London model with Gaussian cutoff
userFcn libFitPofB TBulkTriVortexLondon 1 2 3 4
The parameters are:
2D triangular vortex lattice, modified London model
userFcn libFitPofB TBulkTriVortexML 1 2 3 4
The parameters are:
2D triangular vortex lattice, analytic Ginzburg-Landau model
userFcn libFitPofB TBulkTriVortexAGL 1 2 3 4
The parameters are:
2D triangular vortex lattice, numerical Ginzburg-Landau model
userFcn libFitPofB TBulkTriVortexNGL 1 2 3 4
The parameters are:
Note
In order to improve the convergence of MIGRAD it has proven useful to use the log-likelihood maximization instead of the \(\chi^2\) minimization routines and to choose sufficiently large initial steps for the parameters. Calling MINOS in conjunction with these functions is futile.
Therefore, the COMMANDS block of the msr file could look like:
COMMANDS
STRATEGY 2
MAX_LIKELIHOOD
MIGRAD
HESSE
SAVE
BMW_startup.xml is a configuration file located in the working directory. In this file some settings like the time and field resolution of the calculations as well as the present muon implantation profiles for a LE-μSR analysis have to be defined. The following XML tags are allowed to define settings:
set the parameters used for the calculation of the spatial field distribution of a vortex lattice.
set the parameters used for the calculation of LE-μSR field distributions
set the energies for which TRIM.SP implantation profiles are available (inside a <LEM> environment)
An example XML file looks as follows:
<?xml version="1.0" encoding="UTF-8"?>
<BMW>
<debug>0</debug>
<wisdom>/home/user/WordsOfWisdom.dat</wisdom>
<delta_t>0.01</delta_t>
<delta_B>0.5</delta_B>
<VortexLattice>
<N_VortexGrid>1024</N_VortexGrid>
</VortexLattice>
<LEM>
<data_path>/home/user/TrimSP/some-sample-</data_path>
<N_theory>5000</N_theory>
<energy_list>
<energy_label>02_0</energy_label>
<energy>2.0</energy>
<energy_label>03_0</energy_label>
<energy>3.0</energy>
<energy_label>03_6</energy_label>
<energy>3.6</energy>
<energy_label>05_0</energy_label>
<energy>5.0</energy>
<energy_label>05_3</energy_label>
<energy>5.3</energy>
</energy_list>
</LEM>
</BMW>
To be written yet ...
Setting up musrfit on Different Platforms
Enter search terms or a module, class or function name.