musrfit/doc/html/user-libs.html
2024-06-24 09:44:07 +02:00

927 lines
65 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documentation of user libs (user functions) &mdash; musrfit 1.9.5 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Setting up musrfit on Different Platforms" href="setup-standard.html" />
<link rel="prev" title="User manual" href="user-manual.html" />
<link href="_static/style.css" rel="stylesheet" type="text/css">
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> musrfit
</a>
<div class="version">
1.9
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="cite.html">How to Cite <code class="docutils literal notranslate"><span class="pre">musrfit</span></code>?</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial for <code class="docutils literal notranslate"><span class="pre">musrfit</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="user-manual.html">User manual</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Documentation of user libs (user functions)</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#meissner-profiles-vortex-lattice-related-functions-bmw-libs">Meissner-Profiles / Vortex-Lattice related functions (BMW libs)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#libfitpofb">libFitPofB</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="#le-mgrsr">LE-μSR</a></li>
<li class="toctree-l4"><a class="reference internal" href="#bulk-mgrsr">Bulk μSR</a></li>
<li class="toctree-l4"><a class="reference internal" href="#the-xml-startup-file">The XML startup file</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#supeconducting-gap-integrals-to-calculate-vs">Supeconducting Gap-Integrals to calculate <span class="math notranslate nohighlight">\(1/\lambda^2\)</span> vs <span class="math notranslate nohighlight">\(T\)</span></a></li>
<li class="toctree-l2"><a class="reference internal" href="#nonlocal-superconductivity-related-meissner-screening-functions-as-libs">Nonlocal superconductivity related Meissner screening functions (AS libs)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#depth-resolved-information-as-libs">Depth resolved information (AS libs)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#functions-to-analyze-bgr-nmr-data-bnmr-libs">Functions to analyze β-NMR data (BNMR libs)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#libbnmr">libBNMR</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#functions">Functions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#liblineprofile">libLineProfile</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id1">Functions</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="setup-standard.html">Setting up <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> on Different Platforms</a></li>
<li class="toctree-l1"><a class="reference internal" href="setup-dks.html">Setting up <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> / <code class="docutils literal notranslate"><span class="pre">DKS</span></code>: High Speed Fitting with GPUs</a></li>
<li class="toctree-l1"><a class="reference internal" href="musredit.html"><code class="docutils literal notranslate"><span class="pre">musredit</span></code>: the GUI Based Interface to <code class="docutils literal notranslate"><span class="pre">musrfit</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="mupp.html">mupp - μSR Parameter Plotter</a></li>
<li class="toctree-l1"><a class="reference internal" href="msr2data.html">msr2data - A Program for Automatically Processing Multiple <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> msr Files</a></li>
<li class="toctree-l1"><a class="reference internal" href="any2many.html">any2many - a Universal μSR-file-format converter</a></li>
<li class="toctree-l1"><a class="reference internal" href="file-formats.html">Short description and references to the supported file-formats</a></li>
<li class="toctree-l1"><a class="reference internal" href="musr-root.html">MusrRoot - an Extensible Open File Format for μSR</a></li>
<li class="toctree-l1"><a class="reference internal" href="acknowledgement.html">Acknowledgements</a></li>
<li class="toctree-l1"><a class="reference internal" href="bugtracking.html">Bugtracking</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">musrfit</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li>Documentation of user libs (user functions)</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/user-libs.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="documentation-of-user-libs-user-functions">
<span id="user-libs"></span><span id="index-0"></span><h1>Documentation of user libs (user functions)<a class="headerlink" href="#documentation-of-user-libs-user-functions" title="Permalink to this headline"></a></h1>
<div class="section" id="meissner-profiles-vortex-lattice-related-functions-bmw-libs">
<span id="bmw-libs"></span><span id="index-1"></span><h2>Meissner-Profiles / Vortex-Lattice related functions (BMW libs)<a class="headerlink" href="#meissner-profiles-vortex-lattice-related-functions-bmw-libs" title="Permalink to this headline"></a></h2>
<div class="section" id="libfitpofb">
<span id="index-2"></span><h3>libFitPofB<a class="headerlink" href="#libfitpofb" title="Permalink to this headline"></a></h3>
<div class="section" id="introduction">
<h4>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline"></a></h4>
<p><code class="docutils literal notranslate"><span class="pre">libFitPofB</span></code> is a collection of <code class="docutils literal notranslate"><span class="pre">C++</span></code> classes using the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> <a class="reference internal" href="user-manual.html#id38"><span class="std std-ref">user-functions</span></a>
interface in order to facilitate the usage in conjunction with <code class="docutils literal notranslate"><span class="pre">musrfit</span></code>. The classes contained in this
library generally implement calculations of one-dimensional static magnetic field distributions
<span class="math notranslate nohighlight">\(p(B)\)</span> which lead to the muon-spin depolarization functions</p>
<div class="math notranslate nohighlight">
\[{\cal P}(t) = \int p(B) \cos(\gamma_\mu B t + \varphi) dB,\]</div>
<p>where <span class="math notranslate nohighlight">\(\gamma_\mu = 2 \pi \times 135.54\)</span> MHz/T is the gyromagnetic ratio of the muon and <span class="math notranslate nohighlight">\(\varphi\)</span>
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 <a class="reference external" href="https://www.psi.ch/smus/lem">https://www.psi.ch/smus/lem</a>) in the Meissner state or by bulk μSR in the mixed state.
In the following the basic usage of the library in <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> 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.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">In order to supply certain information needed for the calculations but not suited to be stored in the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code>
msr files an <code class="docutils literal notranslate"><span class="pre">XML</span></code> configuration file in the working directory is used. For details, see below.</p>
</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">The implementations in this library heavily rely on <a class="reference external" href="http://fftw.org/">FFTW3</a>. 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
(<a class="reference external" href="http://fftw.org/fftw3_doc/Wisdom.html">wisdom handling</a>). In case this feature shall be used, a valid wisdom
file has to be specified in the <code class="docutils literal notranslate"><span class="pre">XML</span></code> file.</p>
</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">The model functions described in the following do generally <em>not behave nicely</em> in conjunction with <code class="docutils literal notranslate"><span class="pre">MINUIT</span></code>
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 (<em>e.g.</em> 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 <code class="docutils literal notranslate"><span class="pre">msr2data</span></code> <em>cannot</em> be advised.</p>
</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">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.</p>
</div>
</div>
<div class="section" id="le-mgrsr">
<h4>LE-μSR<a class="headerlink" href="#le-mgrsr" title="Permalink to this headline"></a></h4>
<div class="section" id="one-dimensional-london-model-for-the-meissner-state-of-isotropic-superconductors">
<span id="index-3"></span><h5>One-dimensional London model for the Meissner state of isotropic superconductors<a class="headerlink" href="#one-dimensional-london-model-for-the-meissner-state-of-isotropic-superconductors" title="Permalink to this headline"></a></h5>
<p>The models for analyzing LE-μSR data assume the magnetic induction <span class="math notranslate nohighlight">\(B(z)\)</span> 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</p>
<div class="math notranslate nohighlight">
\[p(B) = n(z) \left| \frac{dB(z)}{dz} \right|^{-1}\]</div>
<p>where <span class="math notranslate nohighlight">\(n(z)\)</span> is the muon implantation profile simulated by <code class="docutils literal notranslate"><span class="pre">TRIM.SP</span></code>.</p>
<p>Assuming an array of <em>N</em> isotropic local superconductors with a total thickness <em>d</em> in the Meissner state
the magnetic induction is given by solving the 1D London equation</p>
<div class="math notranslate nohighlight">
\[\frac{\partial^2}{\partial z^2}B_i(z) = \frac{1}{\lambda_i^2}B_i(z)\]</div>
<p>for each layer <em>i</em> taking into account the boundary conditions (F. London, Superfluids: Macroscopic Theory of Superconductivity, Dover (1961), p. 34)</p>
<div class="math notranslate nohighlight">
\[ \begin{align}\begin{aligned}B_1(0) = B_N(d) = \mu_0H\\B_i(d_i) = B_{i+1}(d_i)\\\lambda_i^2B_i'(z)\Big\vert_{z=d_i} = \lambda_{i+1}^2B_{i+1}'(z)\Big\vert_{z=d_i},\end{aligned}\end{align} \]</div>
<p>where the <span class="math notranslate nohighlight">\(d_i\)</span> specify the interfaces between two adjacent layers and <span class="math notranslate nohighlight">\(\lambda_i\)</span> is
the magnetic field penetration depth in the constituent <span class="math notranslate nohighlight">\(i\)</span>.</p>
<p>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 <code class="docutils literal notranslate"><span class="pre">THEORY</span></code> block
of a <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> msr file:</p>
<p id="index-4"><strong>Superconducting half-space</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libFitPofB</span> <span class="n">TLondon1DHS</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span> <span class="mi">5</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>phase (deg)</li>
<li>muon implantation energy as specified in the <a class="reference internal" href="#bmwlibs-xml"><span class="std std-ref">XML startup</span></a> file (keV)</li>
<li>applied field (G)</li>
<li>thickness of the dead layer (nm)</li>
<li>magnetic field penetration depth (nm)</li>
</ol>
<p id="index-5"><strong>Superconducting thin film (one layer)</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libFitPofB</span> <span class="n">TLondon1D1L</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span> <span class="mi">5</span> <span class="mi">6</span> <span class="p">[</span><span class="n">a</span> <span class="n">b</span><span class="p">]</span>
</pre></div>
</div>
<p>The mandatory parameters are:</p>
<ol class="arabic simple">
<li>phase (deg)</li>
<li>muon implantation energy as specified in the <a class="reference internal" href="#bmwlibs-xml"><span class="std std-ref">XML startup</span></a> file (keV)</li>
<li>applied field (G)</li>
<li>thickness of the dead layer (nm)</li>
<li>thickness of the actually superconducting layer (nm)</li>
<li>magnetic field penetration depth (nm)</li>
</ol>
<p>The optional parameters are:</p>
<ol class="loweralpha simple">
<li>fraction f<sub>1</sub> of muons in the thin film contributing to the signal (0 ≤ f<sub>1</sub> ≤ 1)</li>
<li>fraction f<sub>s</sub> of muons in the substrate contributing to the signal (0 ≤ f<sub>s</sub> ≤ 1)</li>
</ol>
<p id="index-6"><strong>Superconducting thin-film bilayer heterostructure</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libFitPofB</span> <span class="n">TLondon1D2L</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span> <span class="mi">5</span> <span class="mi">6</span> <span class="mi">7</span> <span class="mi">8</span> <span class="p">[</span><span class="n">a</span> <span class="n">b</span> <span class="n">c</span><span class="p">]</span>
</pre></div>
</div>
<p>The mandatory parameters are:</p>
<ol class="arabic simple">
<li>phase (deg)</li>
<li>muon implantation energy as specified in the <a class="reference internal" href="#bmwlibs-xml"><span class="std std-ref">XML startup</span></a> file (keV)</li>
<li>applied field (G)</li>
<li>thickness of the dead layer (nm)</li>
<li>thickness of the actually superconducting first layer (nm)</li>
<li>thickness of the actually superconducting second layer (nm)</li>
<li>magnetic field penetration depth of the first layer (nm)</li>
<li>magnetic field penetration depth of the second layer (nm)</li>
</ol>
<p>The optional parameters are:</p>
<ol class="loweralpha simple">
<li>fraction f<sub>1</sub> of muons in the dead and first layer contributing to the signal (0 ≤ f<sub>1</sub> ≤ 1)</li>
<li>fraction f<sub>2</sub> of muons in the second layer contributing to the signal (0 ≤ f<sub>2</sub> ≤ 1)</li>
<li>fraction f<sub>s</sub> of muons in the substrate contributing to the signal (0 ≤ f<sub>s</sub> ≤ 1)</li>
</ol>
<p id="index-7"><strong>Superconducting thin-film trilayer heterostructure</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libFitPofB</span> <span class="n">TLondon1D3L</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span> <span class="mi">5</span> <span class="mi">6</span> <span class="mi">7</span> <span class="mi">8</span> <span class="mi">9</span> <span class="mi">10</span> <span class="p">[</span><span class="n">a</span> <span class="n">b</span> <span class="n">c</span> <span class="n">d</span><span class="p">]</span>
</pre></div>
</div>
<p>The mandatory parameters are:</p>
<ol class="arabic simple">
<li>phase (deg)</li>
<li>muon implantation energy as specified in the <a class="reference internal" href="#bmwlibs-xml"><span class="std std-ref">XML startup</span></a> file (keV)</li>
<li>applied field (G)</li>
<li>thickness of the dead layer (nm)</li>
<li>thickness of the actually superconducting first layer (nm)</li>
<li>thickness of the actually superconducting second layer (nm)</li>
<li>thickness of the actually superconducting third layer (nm)</li>
<li>magnetic field penetration depth of the first layer (nm)</li>
<li>magnetic field penetration depth of the second layer (nm)</li>
<li>magnetic field penetration depth of the third layer (nm)</li>
</ol>
<p>The optional parameters are:</p>
<ol class="loweralpha simple">
<li>fraction f<sub>1</sub> of muons in the dead and first layer contributing to the signal (0 ≤ f<sub>1</sub> ≤ 1)</li>
<li>fraction f<sub>2</sub> of muons in the second layer contributing to the signal (0 ≤ f<sub>2</sub> ≤ 1)</li>
<li>fraction f<sub>3</sub> of muons in the third layer contributing to the signal (0 ≤ f<sub>3</sub> ≤ 1)</li>
<li>fraction f<sub>s</sub> of muons in the substrate contributing to the signal (0 ≤ f<sub>s</sub> ≤ 1)</li>
</ol>
</div>
</div>
<div class="section" id="bulk-mgrsr">
<h4>Bulk μSR<a class="headerlink" href="#bulk-mgrsr" title="Permalink to this headline"></a></h4>
<div class="section" id="field-distributions-in-the-mixed-state-of-isotropic-superconductors">
<span id="index-8"></span><h5>Field distributions in the mixed state of isotropic superconductors<a class="headerlink" href="#field-distributions-in-the-mixed-state-of-isotropic-superconductors" title="Permalink to this headline"></a></h5>
<p>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</p>
<div class="math notranslate nohighlight">
\[B(\mathbf{r}) = \langle B \rangle \sum\limits_{\mathbf{K}}B_{\mathbf{K}}\exp(-\imath\mathbf{K}\mathbf{r}),\]</div>
<p>where <span class="math notranslate nohighlight">\(\mathbf{r}=(x,y)\)</span>, <strong>K</strong> are the reciprocal lattice vectors of a two-dimensional
vortex lattice and the <span class="math notranslate nohighlight">\(B_{\mathbf{K}}\)</span> are the Fourier coefficients depending on the
magnetic penetration depth <span class="math notranslate nohighlight">\(\lambda\)</span> and the superconducting coherence length <span class="math notranslate nohighlight">\(\xi\)</span>.
The <span class="math notranslate nohighlight">\(B_{\mathbf{K}}\)</span> for some specific models are as follows:</p>
<p><strong>London model with Gaussian cutoff</strong> (E.H. Brandt, <a class="reference external" href="http://dx.doi.org/10.1007/BF00683568">J. Low Temp. Phys. 73, 355 (1988)</a>.)</p>
<div class="math notranslate nohighlight">
\[B_{\mathbf{K}} = \frac{\exp\left({-K^2\xi^2/2}\right)}{1 + K^2\lambda^2}\]</div>
<p><strong>Modified London model</strong> (T.M. Riseman <em>et al.</em>, <a class="reference external" href="http://dx.doi.org/10.1103/PhysRevB.52.10569">Phys. Rev. B 52, 10569 (1995)</a>.)</p>
<div class="math notranslate nohighlight">
\[B_{\mathbf{K}} = \frac{\exp\left({-K^2\xi^2/2(1-b)}\right)}{1 + K^2\lambda^2/(1-b)},\]</div>
<p>where <span class="math notranslate nohighlight">\(b = \langle B \rangle / (\mu_0 H_{\rm c2})\)</span>.</p>
<p><strong>Analytical Ginzburg-Landau model</strong> ( A. Yaouanc, P. Dalmas de Réotier and E.H. Brandt, <a class="reference external" href="http://dx.doi.org/10.1103/PhysRevB.55.11107">Phys. Rev. B 55, 11107 (1997)</a>)</p>
<div class="math notranslate nohighlight">
\[B_{\mathbf{K}} = \frac{f_{\infty}K_1\left(\frac{\xi_v}{\lambda}\sqrt{f_{\infty}^2+\lambda^2K^2}\right)}{K_1\left(\frac{\xi_v}{\lambda}f_{\infty}\right)\sqrt{f_{\infty}^2+\lambda^2K^2}},\]</div>
<p>where <span class="math notranslate nohighlight">\(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)}\)</span> and
<span class="math notranslate nohighlight">\(K_1\)</span> is a modified Bessel function.</p>
<p>Apart from the mentioned analytic models the <strong>numerical Ginzburg-Landau model</strong> (<a class="reference external" href="http://dx.doi.org/10.1103/PhysRevB.68.054506">E.H. Brandt, Phys. Rev. B 68, 054506 (2003).</a>) is available. In this case <span class="math notranslate nohighlight">\(B(\mathbf{r})\)</span> is obtained by an iterative minimization of the free energy of the vortex lattice.</p>
<p><strong>Concerning the applicability (e.g. field regions) of each of the mentioned models please refer to the original publications!</strong></p>
<p>At the moment, the calculation of the field distribution has been implemented for <em>triangular</em> flux-line lattices.
The number of grid lines in which the inter-vortex distance is divided for the calculations to be specified through
the <a class="reference internal" href="#bmwlibs-xml"><span class="std std-ref">XML startup</span></a>.
The muon-spin depolarization functions finally are calculated using the following lines in the THEORY block of a <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> msr file:</p>
<p id="index-9"><strong>2D triangular vortex lattice, London model with Gaussian cutoff</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libFitPofB</span> <span class="n">TBulkTriVortexLondon</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>phase (deg)</li>
<li>mean magnetic induction (G)</li>
<li>magnetic penetration depth (nm)</li>
<li>Ginzburg-Landau coherence length (nm)</li>
</ol>
<p id="index-10"><strong>2D triangular vortex lattice, modified London model</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libFitPofB</span> <span class="n">TBulkTriVortexML</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>phase (deg)</li>
<li>mean magnetic induction (G)</li>
<li>magnetic penetration depth (nm)</li>
<li>Ginzburg-Landau coherence length (nm)</li>
</ol>
<p id="index-11"><strong>2D triangular vortex lattice, analytic Ginzburg-Landau model</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libFitPofB</span> <span class="n">TBulkTriVortexAGL</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>phase (deg)</li>
<li>mean magnetic induction (G)</li>
<li>magnetic penetration depth (nm)</li>
<li>Ginzburg-Landau coherence length (nm)</li>
</ol>
<p id="index-12"><strong>2D triangular vortex lattice, numerical Ginzburg-Landau model</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libFitPofB</span> <span class="n">TBulkTriVortexNGL</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>phase (deg)</li>
<li>mean magnetic induction (G)</li>
<li>magnetic penetration depth (nm)</li>
<li>Ginzburg-Landau coherence length (nm)</li>
</ol>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">In order to improve the convergence of <code class="docutils literal notranslate"><span class="pre">MIGRAD</span></code> it has proven useful to use the log-likelihood
maximization instead of the <span class="math notranslate nohighlight">\(\chi^2\)</span> minimization routines and to choose sufficiently large
initial steps for the parameters. Calling <code class="docutils literal notranslate"><span class="pre">MINOS</span></code> in conjunction with these functions is futile.</p>
</div>
<p>Therefore, the <a class="reference internal" href="user-manual.html#msr-commands-block"><span class="std std-ref">COMMANDS block</span></a> of the msr file could look like:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">COMMANDS</span>
<span class="n">STRATEGY</span> <span class="mi">2</span>
<span class="n">MAX_LIKELIHOOD</span>
<span class="n">MIGRAD</span>
<span class="n">HESSE</span>
<span class="n">SAVE</span>
</pre></div>
</div>
</div>
</div>
<div class="section" id="the-xml-startup-file">
<span id="bmwlibs-xml"></span><span id="index-13"></span><h4>The XML startup file<a class="headerlink" href="#the-xml-startup-file" title="Permalink to this headline"></a></h4>
<p><code class="docutils literal notranslate"><span class="pre">BMW_startup.xml</span></code> 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:</p>
<dl class="docutils">
<dt><strong>&lt;debug&gt;ONE_OR_ZERO&lt;/debug&gt;</strong></dt>
<dd>activate the debugging output of the settings read from the XML file by setting 1, deactivate it with 0.</dd>
<dt><strong>&lt;wisdom&gt;PATH_TO_FILE&lt;/wisdom&gt;</strong></dt>
<dd>specify the <code class="docutils literal notranslate"><span class="pre">PATH_TO_FILE</span></code> to an <a class="reference external" href="http://fftw.org/fftw3_doc/Wisdom.html#Wisdom">FFTW3 wisdom file</a>
that should be used; if the <code class="docutils literal notranslate"><span class="pre">PATH_TO_FILE</span></code> is invalid, no <code class="docutils literal notranslate"><span class="pre">FFTW3</span></code> wisdom will be used.</dd>
<dt><strong>&lt;delta_t&gt;ResT&lt;/delta_t&gt;</strong></dt>
<dd>set the time resolution <code class="docutils literal notranslate"><span class="pre">ResT</span></code> for the calculated depolarization function in microseconds.</dd>
<dt><strong>&lt;delta_B&gt;ResB&lt;/delta_B&gt;</strong></dt>
<dd>set the field resolution <code class="docutils literal notranslate"><span class="pre">ResB</span></code> for the calculated field distribution in Gauss.</dd>
<dt><strong>&lt;VortexLattice&gt;&lt;/VortexLattice&gt;</strong></dt>
<dd><p class="first">set the parameters used for the calculation of the spatial field distribution of a vortex lattice.</p>
<dl class="last docutils">
<dt><strong>&lt;N_VortexGrid&gt;N&lt;/N_VortexGrid&gt;</strong></dt>
<dd>specify the number of points <strong>N</strong> (in each of the two dimensions) for which the fields within the
vortex lattice are calculated (inside a <strong>&lt;VortexLattice&gt;</strong> environment)</dd>
</dl>
</dd>
<dt><strong>&lt;LEM&gt;&lt;/LEM&gt;</strong></dt>
<dd><p class="first">set the parameters used for the calculation of LE-μSR field distributions</p>
<dl class="last docutils">
<dt><strong>&lt;data_path&gt;DATA_PATH_PREFIX&lt;/data_path&gt;</strong></dt>
<dd>specify the <code class="docutils literal notranslate"><span class="pre">DATA_PATH_PREFIX</span></code> to the <code class="docutils literal notranslate"><span class="pre">TRIM.SP</span></code> implantation profiles (inside a <strong>&lt;LEM&gt;</strong> environment)</dd>
<dt><strong>&lt;N_theory&gt;N_THEORY&lt;/N_theory&gt;</strong></dt>
<dd>specify the number of points <strong>N_THEORY</strong> for which <em>B(z)</em> is calculated (inside a <strong>&lt;LEM&gt;</strong> environment)
The specification of this number is not needed if the calculation of the inverse of <em>B(z)</em> is implemented!</dd>
<dt><strong>&lt;energy_list&gt;&lt;/energy_list&gt;</strong></dt>
<dd><p class="first">set the energies for which <code class="docutils literal notranslate"><span class="pre">TRIM.SP</span></code> implantation profiles are available (inside a <strong>&lt;LEM&gt;</strong> environment)</p>
<dl class="last docutils">
<dt><strong>&lt;energy_label&gt;LABEL&lt;/energy_label&gt;</strong></dt>
<dd>specify the <strong>LABEL</strong> within the file name of a available <code class="docutils literal notranslate"><span class="pre">TRIM.SP</span></code> <code class="docutils literal notranslate"><span class="pre">RGE</span></code> file (inside a <strong>&lt;energy_list&gt;</strong> environment)
The expected name of the <code class="docutils literal notranslate"><span class="pre">RGE</span></code> file will be: <code class="docutils literal notranslate"><span class="pre">DATA_PATH_PREFIX</span> <span class="pre">+</span> <span class="pre">LABEL</span> <span class="pre">+</span> <span class="pre">.rge</span></code></dd>
<dt><strong>&lt;energy&gt;E&lt;/energy&gt;</strong></dt>
<dd>specify the muon energy <em>E</em> (in keV) belonging to the <code class="docutils literal notranslate"><span class="pre">TRIM.SP</span></code> <code class="docutils literal notranslate"><span class="pre">RGE</span></code> file given above (inside a <strong>&lt;energy_list&gt;</strong> environment)</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
<p>An example XML file looks as follows:</p>
<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;BMW&gt;</span>
<span class="nt">&lt;debug&gt;</span>0<span class="nt">&lt;/debug&gt;</span>
<span class="nt">&lt;wisdom&gt;</span>/home/user/WordsOfWisdom.dat<span class="nt">&lt;/wisdom&gt;</span>
<span class="nt">&lt;delta_t&gt;</span>0.01<span class="nt">&lt;/delta_t&gt;</span>
<span class="nt">&lt;delta_B&gt;</span>0.5<span class="nt">&lt;/delta_B&gt;</span>
<span class="nt">&lt;VortexLattice&gt;</span>
<span class="nt">&lt;N_VortexGrid&gt;</span>1024<span class="nt">&lt;/N_VortexGrid&gt;</span>
<span class="nt">&lt;/VortexLattice&gt;</span>
<span class="nt">&lt;LEM&gt;</span>
<span class="nt">&lt;data_path&gt;</span>/home/user/TrimSP/some-sample-<span class="nt">&lt;/data_path&gt;</span>
<span class="nt">&lt;N_theory&gt;</span>5000<span class="nt">&lt;/N_theory&gt;</span>
<span class="nt">&lt;energy_list&gt;</span>
<span class="nt">&lt;energy_label&gt;</span>02_0<span class="nt">&lt;/energy_label&gt;</span>
<span class="nt">&lt;energy&gt;</span>2.0<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy_label&gt;</span>03_0<span class="nt">&lt;/energy_label&gt;</span>
<span class="nt">&lt;energy&gt;</span>3.0<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy_label&gt;</span>03_6<span class="nt">&lt;/energy_label&gt;</span>
<span class="nt">&lt;energy&gt;</span>3.6<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy_label&gt;</span>05_0<span class="nt">&lt;/energy_label&gt;</span>
<span class="nt">&lt;energy&gt;</span>5.0<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy_label&gt;</span>05_3<span class="nt">&lt;/energy_label&gt;</span>
<span class="nt">&lt;energy&gt;</span>5.3<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;/energy_list&gt;</span>
<span class="nt">&lt;/LEM&gt;</span>
<span class="nt">&lt;/BMW&gt;</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="section" id="supeconducting-gap-integrals-to-calculate-vs">
<span id="gap-integral-libs"></span><span id="index-14"></span><h2>Supeconducting Gap-Integrals to calculate <span class="math notranslate nohighlight">\(1/\lambda^2\)</span> vs <span class="math notranslate nohighlight">\(T\)</span><a class="headerlink" href="#supeconducting-gap-integrals-to-calculate-vs" title="Permalink to this headline"></a></h2>
<p>The details about the various superconducting gap-integrals are found in the
pdf-file <strong>GapIntegrals.pdf</strong> which can be found in the musrfit source under
<code class="docutils literal notranslate"><span class="pre">&lt;musrfit-dir&gt;/src/external/libGapIntegrals/</span></code>.</p>
</div>
<div class="section" id="nonlocal-superconductivity-related-meissner-screening-functions-as-libs">
<span id="nonlocal-libs"></span><span id="index-15"></span><h2>Nonlocal superconductivity related Meissner screening functions (AS libs)<a class="headerlink" href="#nonlocal-superconductivity-related-meissner-screening-functions-as-libs" title="Permalink to this headline"></a></h2>
<p>This library allows to calculate the magnetic field profile <span class="math notranslate nohighlight">\(B(z)\)</span> for nonlocal superconductors.
For details see <a class="reference external" href="http://dx.doi.org/10.1103/PhysRevLett.95.197201">A. Suter, et al., PRB 72, 024506 (2005)</a>, and references therein.</p>
<p>The provided function calculates the muon spin polarization</p>
<div class="math notranslate nohighlight">
\[P(t, E) = \int n(z, E)\, \cos(\gamma_\mu B(z) t + \phi) \, dz,\]</div>
<p>where <span class="math notranslate nohighlight">\(B(z)\)</span> is calculated in the limit of specular reflection.
The corresponding user function is called as</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libPNL_PippardFitter</span> <span class="n">PNL_PippardFitter</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span> <span class="mi">5</span> <span class="mi">6</span> <span class="mi">7</span> <span class="mi">8</span> <span class="mi">9</span>
</pre></div>
</div>
<p>with the parameters</p>
<ol class="arabic simple">
<li>implantation energy in (keV).</li>
<li>reduced temperature <span class="math notranslate nohighlight">\(t=T/T_c\)</span>.</li>
<li>thickness in (nm).</li>
<li>electron mean path, <span class="math notranslate nohighlight">\(\ell\)</span> in (nm).</li>
<li>superconducting coherence length, <span class="math notranslate nohighlight">\(\xi\)</span> in (nm).</li>
<li>London penetration length, <span class="math notranslate nohighlight">\(\lambda_{\rm L}\)</span> in (nm).</li>
<li>external magnetic field strength in (G).</li>
<li>the effective detector phase, <span class="math notranslate nohighlight">\(\varphi\)</span> in <span class="math notranslate nohighlight">\((^\circ)\)</span>.</li>
<li>a “dead layer” thickness in (nm).</li>
</ol>
<p>Typically this function needs to be multiplied by a Gaussian in order to take into account: nuclear dipole broadening, partial trapped flux, etc.</p>
<p>In order to find the muon stopping profile, <span class="math notranslate nohighlight">\(n(z,E)\)</span>, needed for the calculation, the library needs to find the corresponding trimsp
rge-files (muon stoppping profiles). For this the library reads at start-up the following xml-file (example):</p>
<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;nonlocal</span> <span class="na">xmlns=</span><span class="s">&quot;http://nemu.web.psi.ch/musrfit/nonlocal&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;comment&gt;</span>
nonlocal_startup.xml
<span class="nt">&lt;/comment&gt;</span>
<span class="nt">&lt;nonlocal_par&gt;</span>
<span class="nt">&lt;fourier_points&gt;</span>262144<span class="nt">&lt;/fourier_points&gt;</span>
<span class="nt">&lt;/nonlocal_par&gt;</span>
<span class="nt">&lt;trim_sp&gt;</span>
<span class="nt">&lt;data_path&gt;</span>./profiles/<span class="nt">&lt;/data_path&gt;</span>
<span class="nt">&lt;rge_fln_pre&gt;</span>Sn_E<span class="nt">&lt;/rge_fln_pre&gt;</span>
<span class="nt">&lt;energy_list&gt;</span>
<span class="nt">&lt;energy&gt;</span>1000<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>2000<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>4000<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>6000<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>8000<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>10000<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>12000<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>14100<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>18000<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>22000<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>25000<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;energy&gt;</span>27300<span class="nt">&lt;/energy&gt;</span>
<span class="nt">&lt;/energy_list&gt;</span>
<span class="nt">&lt;/trim_sp&gt;</span>
<span class="nt">&lt;/nonlocal&gt;</span>
</pre></div>
</div>
<p>Here the number of Fourier points needed in the calculation can be defined (<code class="docutils literal notranslate"><span class="pre">fourier_points</span></code>). The <code class="docutils literal notranslate"><span class="pre">trim_sp</span></code> section
contains all the information needed to load the proper muon stopping profiles. <code class="docutils literal notranslate"><span class="pre">data_path</span></code> is the path to the needed rge-files.
<code class="docutils literal notranslate"><span class="pre">rge_fln_pre</span></code> is the rge-file prefix, and <code class="docutils literal notranslate"><span class="pre">energy</span></code> are all the energy tags. E.g. <code class="docutils literal notranslate"><span class="pre">./profile/Sn_E1000.rge</span></code> would be the first
muon stopping profile for an energy of <span class="math notranslate nohighlight">\(E=1000\)</span> (eV).</p>
<p>The name of the xml-file has to be <code class="docutils literal notranslate"><span class="pre">nonlocal_startup.xml</span></code> and needs to be placed in the directory where the analysis takes place, i.e.
in the directory of all the msr-files.</p>
</div>
<div class="section" id="depth-resolved-information-as-libs">
<span id="depthprof-lib"></span><span id="index-16"></span><h2>Depth resolved information (AS libs)<a class="headerlink" href="#depth-resolved-information-as-libs" title="Permalink to this headline"></a></h2>
<p>A method to extract depth-resolved information from the implantation energy dependence of the experimental parameters in a low-energy
muon spin spectroscopy experiment. For details see <a class="reference external" href="https://doi.org/10.1063/1.5126529">A. F. A. Simões, et al. Review of Scientific Instruments. 2020; 91(2): 023906 (7 pp.)</a>.</p>
<p>If you have a layered material (e.g. <span class="math notranslate nohighlight">\(N\)</span> layers), properties like the asymmetry might depend on the layer in which the muons are stopped.
For instance there might be different probabilities for muonium formation depending on the material, charge transfer layers, etc.</p>
<p>Since the muon stopping distribution, <span class="math notranslate nohighlight">\(n(z)\)</span>, has some finite range, these properties will be smeared out. For the following we define
the stopping probability, <span class="math notranslate nohighlight">\(p_{i}(E)\)</span> for a finite slice <span class="math notranslate nohighlight">\(i\)</span>, ranging from <span class="math notranslate nohighlight">\(z \in [a, b]\)</span> as</p>
<div class="math notranslate nohighlight">
\[p_{i}(E) = \int_a^b n(z,E) \, dz\]</div>
<p>Furthermore it is assumes that there is a sharp transition between the layers of the property of interest, e.g. the diamagnetic fraction, <span class="math notranslate nohighlight">\(f_i\)</span>.
Hence the measured property as function of energy is</p>
<div class="math notranslate nohighlight">
\[f(E) = \sum_{i=1}^N p_{i}(E) \cdot f_i.\]</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Currently it is recommended to read in the data in ASCII or DAT format as a non-μSR fit <a class="reference internal" href="user-manual.html#non-musr-fit"><span class="std std-ref">(fit type 8)</span></a>.</p>
</div>
<p>The user library for the depth profile analysis looks for a <strong>3 layer material</strong>, assuming one is looking for the diamagnetic fraction, like</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">###############################################################</span>
<span class="n">FITPARAMETER</span>
<span class="c1"># Nr. Name Value Step Pos_Error Boundaries</span>
<span class="mi">1</span> <span class="n">f1</span> <span class="mf">0.54540</span> <span class="mf">0.00072</span> <span class="n">none</span> <span class="mi">0</span> <span class="mi">1</span>
<span class="mi">2</span> <span class="n">f2</span> <span class="mf">0.23957</span> <span class="mf">0.00048</span> <span class="n">none</span>
<span class="mi">3</span> <span class="n">f3</span> <span class="mf">0.05615</span> <span class="mf">0.00047</span> <span class="n">none</span> <span class="mi">0</span> <span class="mi">1</span>
<span class="mi">4</span> <span class="n">x1</span> <span class="mf">63.5000</span> <span class="mf">0.0014</span> <span class="n">none</span>
<span class="mi">5</span> <span class="n">x2</span> <span class="mf">101.5001</span> <span class="mf">0.0044</span> <span class="n">none</span>
<span class="c1">###############################################################</span>
<span class="n">THEORY</span>
<span class="n">userFcn</span> <span class="n">libPDepthProfile</span> <span class="n">PDepthProfile</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span> <span class="mi">5</span>
</pre></div>
</div>
<p>Here, <span class="math notranslate nohighlight">\(f1\)</span> is the diamagnetic fraction of the first layer, etc. <span class="math notranslate nohighlight">\(x1\)</span> is the thickness of the first layer, etc.</p>
<p>In order to find the muon stopping profile, <span class="math notranslate nohighlight">\(n(z,E)\)</span>, needed for the calculation, the library needs to find the corresponding trimsp
rge-files (muon stoppping profiles). For this the library reads at start-up the following xml-file (example):</p>
<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;depthProf</span> <span class="na">xmlns=</span><span class="s">&quot;http://nemu.web.psi.ch/musrfit/depthProf&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;comment&gt;</span>
TrimSp information
<span class="nt">&lt;/comment&gt;</span>
<span class="nt">&lt;trim_sp&gt;</span>
<span class="nt">&lt;data_path&gt;</span>./TRIMSP/<span class="nt">&lt;/data_path&gt;</span>
<span class="nt">&lt;rge_fln_pre&gt;</span>SiO2_70nm2.0_30nm2.2_SiC_E<span class="nt">&lt;/rge_fln_pre&gt;</span>
<span class="nt">&lt;energy_vect</span> <span class="na">start=</span><span class="s">&quot;1000&quot;</span> <span class="na">stop=</span><span class="s">&quot;22000&quot;</span> <span class="na">step=</span><span class="s">&quot;1000&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/trim_sp&gt;</span>
<span class="nt">&lt;/depthProf&gt;</span>
</pre></div>
</div>
</div>
<div class="section" id="functions-to-analyze-bgr-nmr-data-bnmr-libs">
<span id="bnmr-libs"></span><span id="index-17"></span><h2>Functions to analyze β-NMR data (BNMR libs)<a class="headerlink" href="#functions-to-analyze-bgr-nmr-data-bnmr-libs" title="Permalink to this headline"></a></h2>
<p>This is a collection of <code class="docutils literal notranslate"><span class="pre">C++</span></code> classes using the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> <a class="reference internal" href="user-manual.html#id38"><span class="std std-ref">user-functions</span></a>
interface in order to facilitate the usage in conjunction with <code class="docutils literal notranslate"><span class="pre">musrfit</span></code>. It consists of two libraries:</p>
<ul class="simple">
<li><code class="docutils literal notranslate"><span class="pre">libBNMR</span></code> contains functions to fit spin lattice relaxation (SLR) data.</li>
<li><code class="docutils literal notranslate"><span class="pre">libLineProfile</span></code> contains functions to fit resonance lineshapes.</li>
</ul>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Currently it is recommended to read in the data in ASCII format as a non-μSR fit <a class="reference internal" href="user-manual.html#non-musr-fit"><span class="std std-ref">(fit type 8)</span></a>.</p>
</div>
<div class="section" id="libbnmr">
<span id="index-18"></span><h3>libBNMR<a class="headerlink" href="#libbnmr" title="Permalink to this headline"></a></h3>
<p>In β-NMR the SLR is usually measured by implanting a pulse of <span class="math notranslate nohighlight">\(^8\)</span>Li with a length <span class="math notranslate nohighlight">\(t_0\)</span> into the sample.
The asymmetry is measured both during the pulse and afterwards. For a a general spin relaxation function <span class="math notranslate nohighlight">\(f(t)\)</span> the time evolution of the asymmetry is then given by [<a class="reference external" href="http://dx.doi.org/10.1103/PhysRevLett.96.147601">Z. Salman, et al., PRL 96, 147601 (2006)</a>]:</p>
<div class="math notranslate nohighlight" id="slr">
<span id="index-19"></span>\[\begin{split}P(t) = \left\{\begin{matrix}
\frac{\int_0^t e^{-(t-t')/\tau_{\mathrm{Li}}}f(t-t')dt'}{\int_0^t e^{-t'/\tau_{\mathrm{Li}}}dt' } &amp; t\leq t_0\\[6pt]
\frac{\int_0^{t_0}e^{-(t_0-t')/\tau_{\mathrm{Li}}}f(t-t')dt'}{\int_0^{t_0}e^{-t'/\tau_{\mathrm{Li}}}dt'} &amp; t&gt; t_0,
\end{matrix}\right.\end{split}\]</div>
<p>where <span class="math notranslate nohighlight">\(\tau_{\mathrm{Li}}=1.21\)</span>s is the <span class="math notranslate nohighlight">\(^8\)</span>Li lifetime.</p>
<div class="section" id="functions">
<h4>Functions<a class="headerlink" href="#functions" title="Permalink to this headline"></a></h4>
<p>The <code class="docutils literal notranslate"><span class="pre">libBNMR</span></code> library currently contains the following functions:</p>
<p id="index-20"><strong>Exponential relaxation</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libBNMR</span> <span class="n">ExpRlx</span> <span class="mi">1</span> <span class="mi">2</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>pulse length <span class="math notranslate nohighlight">\(t_0\)</span> (s)</li>
<li>relaxation rate <span class="math notranslate nohighlight">\(\lambda\)</span> (s<span class="math notranslate nohighlight">\(^{-1}\)</span>)</li>
</ol>
<p>This function implements <span class="math notranslate nohighlight">\(f(t)=e^{-\lambda t}\)</span>.</p>
<p id="index-21"><strong>Stretched exponential relaxation</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libBNMR</span> <span class="n">SExpRlx</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>pulse length <span class="math notranslate nohighlight">\(t_0\)</span> (s)</li>
<li>relaxation rate <span class="math notranslate nohighlight">\(\lambda\)</span> (s<span class="math notranslate nohighlight">\(^{-1}\)</span>)</li>
<li>stretching exponent <span class="math notranslate nohighlight">\(\beta\)</span></li>
</ol>
<p>This function implements <span class="math notranslate nohighlight">\(f(t)=e^{-(\lambda t)^{\beta}}\)</span>.</p>
</div>
</div>
<div class="section" id="liblineprofile">
<span id="index-22"></span><h3>libLineProfile<a class="headerlink" href="#liblineprofile" title="Permalink to this headline"></a></h3>
<p>In addition to some simple line shapes <code class="docutils literal notranslate"><span class="pre">libLineProfile</span></code> contains functions to fit chemical shift anisotropies in the powder average.
Their functional form can be found in <a class="reference external" href="http://dx.doi.org/10.1007/978-3-642-68756-3_2">M. Mehring, Principles of High Resolution NMR in Solids (Springer 1983)</a>.</p>
<p>For an axially symmetric interaction it is given by:</p>
<div class="math notranslate nohighlight" id="iax">
<span id="index-23"></span>\[\begin{split}I_{\mathrm ax}(f)=\left\{\begin{matrix} \frac{1}{2\sqrt{(f_\parallel-f_\perp)(f-f_\perp)}}&amp; f\in(f_\perp,f_\parallel)\cup(f_\parallel,f_\perp)\\[6pt] 0 &amp; \text{otherwise}\end{matrix} \right.\end{split}\]</div>
<p>where <span class="math notranslate nohighlight">\(f_\parallel\)</span> and <span class="math notranslate nohighlight">\(f_\perp\)</span> are the frequencies that would be observed if the field is oriented paralell or perpendicular to the symmetry axis, respectively.</p>
<div class="line-block">
<div class="line">In case of a completely anisotropic interaction, the powder average can be described by the frequencies along the three principle axis <span class="math notranslate nohighlight">\(f_1,f_2,f_3\)</span>.</div>
<div class="line">Assume without loss of generality that <span class="math notranslate nohighlight">\(f_1&lt;f_2&lt;f_3\)</span>, then</div>
</div>
<div class="math notranslate nohighlight" id="ianiso">
<span id="index-24"></span>\[\begin{split}I(f)&amp;=\left\{\begin{matrix}
\frac{K(m)}{\pi\sqrt{(f-f_1)(f_3-f_2)}},&amp; f_3\geq f&gt;f_2 \\[9pt]
\frac{K(m)}{\pi\sqrt{(f_3-f)(f_2-f_1)}},&amp; f_2&gt;f\geq f_1\\[9pt]
0 &amp; \text{otherwise}
\end{matrix} \right. \\
\\
m&amp;=\left\{\begin{matrix}
\frac{(f_2-f_1)(f_3-f)}{(f_3-f_2)(f-f_1)},&amp; f_3\geq f&gt;f_2 \\[6pt]
\frac{(f-f_1)(f_3-f_2)}{(f_3-f)(f_2-f_1)},&amp; f_2&gt;f\geq f_1\\[6pt]
\end{matrix} \right. \\
\\
K(m)&amp;=\int_0^{\pi/2}\frac{\mathrm d\varphi}{\sqrt{1-m^2\sin^2{\varphi}}},\end{split}\]</div>
<p><span class="math notranslate nohighlight">\(K(m)\)</span> is the complete elliptic integral of the first kind.</p>
<div class="section" id="id1">
<h4>Functions<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h4>
<p>The <code class="docutils literal notranslate"><span class="pre">libLineProfile</span></code> library currently contains the following functions:</p>
<p id="index-25"><strong>Gaussian</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libLineProfile</span> <span class="n">LineGauss</span> <span class="mi">1</span> <span class="mi">2</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>center of the line <span class="math notranslate nohighlight">\(f_0\)</span></li>
<li>FWHM of the line <span class="math notranslate nohighlight">\(\sigma\)</span></li>
</ol>
<div class="line-block">
<div class="line">The height of the peak is 1.</div>
<div class="line">The functional form is given by</div>
</div>
<div class="math notranslate nohighlight">
\[A(f)=e^{-\frac{4\ln 2 (f-f_0)^2}{ \sigma^2}}\]</div>
<p id="index-26"><strong>Lorentzian</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libLineProfile</span> <span class="n">LineLorentzian</span> <span class="mi">1</span> <span class="mi">2</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>center of the line <span class="math notranslate nohighlight">\(f_0\)</span></li>
<li>FWHM of the line <span class="math notranslate nohighlight">\(w\)</span></li>
</ol>
<div class="line-block">
<div class="line">The height of the peak is 1.</div>
<div class="line">The functional form is given by</div>
</div>
<div class="math notranslate nohighlight">
\[A(f)= \frac{w^2}{4(f-f_0)^2+w^2}\]</div>
<p id="index-27"><strong>Laplacian</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libLineProfile</span> <span class="n">LineLaplace</span> <span class="mi">1</span> <span class="mi">2</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>center of the line <span class="math notranslate nohighlight">\(f_0\)</span></li>
<li>FWHM of the line <span class="math notranslate nohighlight">\(w\)</span></li>
</ol>
<div class="line-block">
<div class="line">The height of the peak is 1.</div>
<div class="line">The functional form is given by</div>
</div>
<div class="math notranslate nohighlight">
\[A(f)=e^{-2\ln 2 \left|\frac{f-f_0}{w}\right|}\]</div>
<p id="index-28"><strong>Skewed Lorentzian</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libLineProfile</span> <span class="n">LineSkewLorentzian</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>center of the line <span class="math notranslate nohighlight">\(f_0\)</span></li>
<li>width of the line <span class="math notranslate nohighlight">\(w\)</span></li>
<li>skewness parameter <span class="math notranslate nohighlight">\(a\)</span></li>
</ol>
<div class="line-block">
<div class="line">The height of the peak is 1.</div>
<div class="line">The functional form is given by</div>
</div>
<div class="math notranslate nohighlight">
\[A(f)= \frac{w w_a}{4(f-f_0)^2+w_a^2}, \quad w_a=\frac{2w}{1+e^{a(f-f_0)}}\]</div>
<p id="index-29"><strong>Skewed Lorentzian 2</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libLineProfile</span> <span class="n">LineSkewLorentzian2</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>center of the line <span class="math notranslate nohighlight">\(f_0\)</span></li>
<li>width left of the center <span class="math notranslate nohighlight">\(w_1\)</span></li>
<li>width right of the center <span class="math notranslate nohighlight">\(w_2\)</span></li>
</ol>
<div class="line-block">
<div class="line">The height of the peak is 1.</div>
<div class="line">The functional form is given by</div>
</div>
<div class="math notranslate nohighlight">
\[\begin{split}A(f)= \left\{\begin{matrix}\frac{{w_1}^2}{4{(f-f_0)}^2+{w_1}^2},&amp;f\leq f_0\\[9pt] \frac{{w_2}^2}{4{(f-f_0)}^2+{w_2}^2},&amp;f&gt;f_0\end{matrix}\right.\end{split}\]</div>
<p id="index-30"><strong>Powder average of an axially symmetric interaction convoluted with a Lorentzian</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libLineProfile</span> <span class="n">PowderLineAxialLor</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>frequency for the field oriented paralell to the symmetry axis <span class="math notranslate nohighlight">\(f_\parallel\)</span></li>
<li>frequency for the field oriented perpendicular to the symmetry axis <span class="math notranslate nohighlight">\(f_\parallel\)</span></li>
<li>FWHM of the Lorentzian <span class="math notranslate nohighlight">\(w\)</span></li>
</ol>
<div class="line-block">
<div class="line">The height of the peak is <span class="math notranslate nohighlight">\(\sim\)</span>1.</div>
<div class="line">The functional form is given by</div>
</div>
<div class="math notranslate nohighlight">
\[A(f)= I_{\mathrm ax}(f)\circledast\left( \frac{w^2}{4f^2+w^2} \right)\]</div>
<p>with <span class="math notranslate nohighlight">\(I_{\mathrm ax}(f)\)</span> defined <a class="reference internal" href="#iax"><span class="std std-ref">above</span></a>.</p>
<p id="index-31"><strong>Powder average of an axially symmetric interaction convoluted with a Gaussian</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libLineProfile</span> <span class="n">PowderLineAxialGss</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li>frequency for the field oriented paralell to the symmetry axis <span class="math notranslate nohighlight">\(f_\parallel\)</span></li>
<li>frequency for the field oriented perpendicular to the symmetry axis <span class="math notranslate nohighlight">\(f_\parallel\)</span></li>
<li>FWHM of the Gaussian <span class="math notranslate nohighlight">\(\sigma\)</span></li>
</ol>
<div class="line-block">
<div class="line">The height of the peak is <span class="math notranslate nohighlight">\(\sim\)</span>1.</div>
<div class="line">The functional form is given by</div>
</div>
<div class="math notranslate nohighlight">
\[A(f)= I_{\mathrm ax}(f)\circledast\left( e^{-\frac{4\ln 2 (f-f_0)^2}{ \sigma^2}} \right)\]</div>
<p>with <span class="math notranslate nohighlight">\(I_{\mathrm ax}(f)\)</span> defined <a class="reference internal" href="#iax"><span class="std std-ref">above</span></a>.</p>
<p id="index-32"><strong>Powder average of an anisotropic interaction convoluted with a Lorentzian</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libLineProfile</span> <span class="n">PowderLineAsymLor</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li><span class="math notranslate nohighlight">\(f_1\)</span></li>
<li><span class="math notranslate nohighlight">\(f_1\)</span></li>
<li><span class="math notranslate nohighlight">\(f_3\)</span> frequencies along the principal axes</li>
<li>FWHM of the Lorentzian <span class="math notranslate nohighlight">\(w\)</span></li>
</ol>
<div class="line-block">
<div class="line">The height of the peak is <span class="math notranslate nohighlight">\(\sim\)</span>1.</div>
<div class="line">The functional form is given by</div>
</div>
<div class="math notranslate nohighlight">
\[A(f)= I(f)\circledast\left( \frac{w^2}{4f^2+w^2} \right)\]</div>
<p>with <span class="math notranslate nohighlight">\(I(f)\)</span> defined <a class="reference internal" href="#ianiso"><span class="std std-ref">above</span></a>. Note that <span class="math notranslate nohighlight">\(f_1&lt;f_2&lt;f_3\)</span> is not required by the code.</p>
<p id="index-33"><strong>Powder average of an anisotropic interaction convoluted with a Gaussian</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">userFcn</span> <span class="n">libLineProfile</span> <span class="n">PowderLineAsymGss</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span>
</pre></div>
</div>
<p>The parameters are:</p>
<ol class="arabic simple">
<li><span class="math notranslate nohighlight">\(f_1\)</span></li>
<li><span class="math notranslate nohighlight">\(f_1\)</span></li>
<li><span class="math notranslate nohighlight">\(f_3\)</span> frequencies along the principal axes</li>
<li>FWHM of the Gaussian <span class="math notranslate nohighlight">\(\sigma\)</span></li>
</ol>
<div class="line-block">
<div class="line">The height of the peak is <span class="math notranslate nohighlight">\(\sim\)</span>1.</div>
<div class="line">The functional form is given by</div>
</div>
<div class="math notranslate nohighlight">
\[A(f)= I(f)\circledast\left( e^{-\frac{4\ln 2 (f-f_0)^2}{ \sigma^2}} \right)\]</div>
<p>with <span class="math notranslate nohighlight">\(I(f)\)</span> defined <a class="reference internal" href="#ianiso"><span class="std std-ref">above</span></a>. Note that <span class="math notranslate nohighlight">\(f_1&lt;f_2&lt;f_3\)</span> is not required by the code.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="setup-standard.html" class="btn btn-neutral float-right" title="Setting up musrfit on Different Platforms" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="user-manual.html" class="btn btn-neutral" title="User manual" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2023, Andreas Suter.
Last updated on Jun 24, 2024.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'1.9.5',
LANGUAGE:'None',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>