Merged muonspin/musrfit:root6 into master

This commit is contained in:
Zaher Salman 2019-11-11 13:10:01 +01:00
commit 2afc21becc
9 changed files with 48 additions and 26 deletions

View File

@ -57,7 +57,7 @@ Additionally, *only* if ``musrfit`` should support reading of data files in the
.. index:: hdf4 .. index:: hdf4
**HDF4** **HDF4**
A library and multi-object file format for storing and managing data (see `HDF4 <http://www.hdfgroup.org/products/hdf4/>`_). ``HDF4`` is "outdated" and its support will soon be dropped. A library and multi-object file format for storing and managing data (see `HDF4 <http://www.hdfgroup.org/products/hdf4/>`_). ``HDF4`` is "outdated" and its support will soon be dropped. The single only reason why it is still required is that ISIS is not able to cope to implement HDF5 V2 of the NeXus muon instrument specification which has been agreed in 2012!
.. index:: hdf5 .. index:: hdf5
@ -175,18 +175,18 @@ Installation of NeXus requirements (optional)
software has to be set up. The required libraries and header files could either be available through the user's software has to be set up. The required libraries and header files could either be available through the user's
GNU/Linux distribution or if this is not the case, the packages can be installed from the source code. In principle GNU/Linux distribution or if this is not the case, the packages can be installed from the source code. In principle
NeXus should support ``MXML``, ``HDF4``, and ``HDF5``. At the time of this writing, the ``MXML`` support in the NeXus should support ``MXML``, ``HDF4``, and ``HDF5``. At the time of this writing, the ``MXML`` support in the
NeXus project is broken, and ``HDF4`` is outdated on most platforms, hence currently only the ``HDF5`` binding is NeXus project is broken, and ``HDF4`` is outdated on most platforms, yet since ISIS/RAL is still **not** up-to-date ``HDF4`` still
used. Hence, the necessary package to build ``NeXus`` is ``HDF5``. This means, for a rpm-package based distro try something like: needs to be dragged on (comment: if you are a ISIS user, please complain about ``HDF4``). Hence, the necessary packages to build ``NeXus`` are ``HDF4`` and ``HDF5``. This means, for a rpm-package based distro try something like:
.. code-block:: bash .. code-block:: bash
$ yum install hdf5-devel $ yum install hdf-devel hdf5-devel
and on a deb-package based distro try something like: and on a deb-package based distro try something like:
.. code-block:: bash .. code-block:: bash
$ apt-get install libhdf5-dev $ apt-get install libhdf4-dev libhdf5-dev
**Only NeXus Version ≥ 4.4 is support!** **Only NeXus Version ≥ 4.4 is support!**
@ -206,7 +206,7 @@ A brief instruction how to get ``NeXus`` compiled from source (lines starting wi
$ # next we will build NeXus out-of-source $ # next we will build NeXus out-of-source
$ mkdir build $ mkdir build
$ cd build $ cd build
$ cmake -DENABLE_HDF5=1 -DENABLE_HDF4=0 -DENABLE_MXML=0 ../code $ cmake -DENABLE_HDF5=1 -DENABLE_HDF4=1 -DENABLE_MXML=0 ../code
$ cmake --build ./ --clean-first $ cmake --build ./ --clean-first
$ # make install needs either to be carried out as root or sudo depending on your linux flavour. $ # make install needs either to be carried out as root or sudo depending on your linux flavour.
$ sudo make install $ sudo make install
@ -566,7 +566,7 @@ and a package containing ``/usr/lib/librpc.a`` (*e.g.* ``sunrpc = 4.0-3``, but *
$ # next we will build NeXus out-of-source $ # next we will build NeXus out-of-source
$ mkdir build $ mkdir build
$ cd build $ cd build
$ cmake -DENABLE_HDF5=1 -DENABLE_HDF4=0 -DENABLE_MXML=0 ../code $ cmake -DENABLE_HDF5=1 -DENABLE_HDF4=1 -DENABLE_MXML=0 ../code
$ make $ make
$ make install $ make install
@ -770,6 +770,11 @@ and ``C:\cygwin\bin\bash.exe`` so that they are executed with administrator priv
Mac OS X / macOS Mac OS X / macOS
---------------- ----------------
.. warning::
2019-10-10: macOS 10.15 Catalina: ``macport``/``fink``/``homebrew`` and hence ``musrfit`` are not yet ready for
this version of macOS. Likely to be ready by end of November 2019.
.. _MacPorts: https://www.macports.org/ .. _MacPorts: https://www.macports.org/
.. _Fink: http://www.finkproject.org/ .. _Fink: http://www.finkproject.org/
@ -779,6 +784,12 @@ or `Fink`_ — which provides open-source software is employed to fulfill the b
In the following, both possibilities (using MacPorts or Fink) are described but it is emphasized here that In the following, both possibilities (using MacPorts or Fink) are described but it is emphasized here that
it should be followed only *one* of the possible routes . it should be followed only *one* of the possible routes .
.. warning::
If you decide to upgrade your macOS, e.g. from ``High Sierra`` to ``Mojave``, you will typically need to
unistall ``musrfit``, ``ROOT``, and `MacPorts`_ / `Fink`_ first, do the upgrade of the macOS and start the
installation of `MacPorts`_ / `Fink`_ , ``ROOT``, and ``musrfit`` from scratch!
.. index:: macports .. index:: macports
Requirements (MacPorts) Requirements (MacPorts)
@ -871,7 +882,7 @@ To get things compiled do:
$ cd nexus $ cd nexus
$ mkdir build $ mkdir build
$ cd build $ cd build
$ cmake -DENABLE_HDF5=1 -DENABLE_HDF4=0 -DENABLE_MXML=0 ../code $ cmake -DENABLE_HDF5=1 -DENABLE_HDF4=1 -DENABLE_MXML=0 ../code
$ make $ make
$ sudo make install $ sudo make install
@ -1086,7 +1097,7 @@ this can be achieved for example by:
$ # build NeXus out-of-source $ # build NeXus out-of-source
$ mkdir build $ mkdir build
$ cd build $ cd build
$ cmake ../code -DENABLE_HDF5=1 -DENABLE_HDF4=0 -DENABLE_MXML=0 $ cmake ../code -DENABLE_HDF5=1 -DENABLE_HDF4=1 -DENABLE_MXML=0
$ cmake --build ./ --clean-first -- -j8 $ cmake --build ./ --clean-first -- -j8
$ sudo make install $ sudo make install

View File

@ -632,7 +632,7 @@ name abbr. parameters mathematica
const c const(1) const const c const(1) const
asymmetry a A(1) :math:`A` asymmetry a A(1) :math:`A`
simplExpo se :math:`\lambda (\mu \mathrm{s}^{-1})` :math:`\exp(-\lambda t)` simplExpo se :math:`\lambda (\mu \mathrm{s}^{-1})` :math:`\exp(-\lambda t)`
generExpo ge :math:`\lambda (\mu \mathrm{s}^{-1}) \beta(1)` :math:`\exp\left[(-\lambda t)^\beta\right]` generExpo ge :math:`\lambda (\mu \mathrm{s}^{-1}) \beta(1)` :math:`\exp\left[-(\lambda t)^\beta\right]`
simpleGss sg :math:`\sigma (\mu \mathrm{s}^{-1})` :math:`\exp\left[-\frac{1}{2} (\sigma t)^2\right]` simpleGss sg :math:`\sigma (\mu \mathrm{s}^{-1})` :math:`\exp\left[-\frac{1}{2} (\sigma t)^2\right]`
statGssKT stg :math:`\sigma (\mu \mathrm{s}^{-1})` :math:`\frac{1}{3} + \frac{2}{3} \left[ 1 - (\sigma t)^2\right] \exp\left[-\frac{1}{2} (\sigma t)^2\right]` statGssKT stg :math:`\sigma (\mu \mathrm{s}^{-1})` :math:`\frac{1}{3} + \frac{2}{3} \left[ 1 - (\sigma t)^2\right] \exp\left[-\frac{1}{2} (\sigma t)^2\right]`
statGssKTLF sgktlf :math:`\nu` (MHz), \ :math:`G_{\rm G}^{\rm LF}(t) = 1-\frac{2\sigma^2}{(2\pi\nu)^2} \left[ 1-\exp\left(- \frac{1}{2}\sigma^2t^2\right)\cos(2\pi\nu t)\right]` [#n1]_ statGssKTLF sgktlf :math:`\nu` (MHz), \ :math:`G_{\rm G}^{\rm LF}(t) = 1-\frac{2\sigma^2}{(2\pi\nu)^2} \left[ 1-\exp\left(- \frac{1}{2}\sigma^2t^2\right)\cos(2\pi\nu t)\right]` [#n1]_

View File

@ -979,7 +979,7 @@
</div> </div>
<div class="footer"> <div class="footer">
&copy; Copyright 2019, Andreas Suter. &copy; Copyright 2019, Andreas Suter.
Last updated on Jul 24, 2019. Last updated on Nov 11, 2019.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div> </div>
</body> </body>

View File

@ -185,7 +185,7 @@
</div> </div>
<div class="footer"> <div class="footer">
&copy; Copyright 2019, Andreas Suter. &copy; Copyright 2019, Andreas Suter.
Last updated on Jul 24, 2019. Last updated on Nov 11, 2019.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div> </div>
</body> </body>

Binary file not shown.

View File

@ -94,7 +94,7 @@
</div> </div>
<div class="footer"> <div class="footer">
&copy; Copyright 2019, Andreas Suter. &copy; Copyright 2019, Andreas Suter.
Last updated on Jul 24, 2019. Last updated on Nov 11, 2019.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div> </div>
</body> </body>

File diff suppressed because one or more lines are too long

View File

@ -88,7 +88,7 @@ their header packages:</p>
<p>Additionally, <em>only</em> if <tt class="docutils literal"><span class="pre">musrfit</span></tt> should support reading of data files in the <cite>NeXus</cite> format the following libraries are needed:</p> <p>Additionally, <em>only</em> if <tt class="docutils literal"><span class="pre">musrfit</span></tt> should support reading of data files in the <cite>NeXus</cite> format the following libraries are needed:</p>
<dl class="docutils" id="index-7"> <dl class="docutils" id="index-7">
<dt><strong>HDF4</strong></dt> <dt><strong>HDF4</strong></dt>
<dd>A library and multi-object file format for storing and managing data (see <a class="reference external" href="http://www.hdfgroup.org/products/hdf4/">HDF4</a>). <tt class="docutils literal"><span class="pre">HDF4</span></tt> is &#8220;outdated&#8221; and its support will soon be dropped.</dd> <dd>A library and multi-object file format for storing and managing data (see <a class="reference external" href="http://www.hdfgroup.org/products/hdf4/">HDF4</a>). <tt class="docutils literal"><span class="pre">HDF4</span></tt> is &#8220;outdated&#8221; and its support will soon be dropped. The single only reason why it is still required is that ISIS is not able to cope to implement HDF5 V2 of the NeXus muon instrument specification which has been agreed in 2012!</dd>
</dl> </dl>
<dl class="docutils" id="index-8"> <dl class="docutils" id="index-8">
<dt><strong>HDF5</strong></dt> <dt><strong>HDF5</strong></dt>
@ -180,16 +180,16 @@ the source code from the corresponding website, or to clone the git repo. If you
software has to be set up. The required libraries and header files could either be available through the user&#8217;s software has to be set up. The required libraries and header files could either be available through the user&#8217;s
GNU/Linux distribution or if this is not the case, the packages can be installed from the source code. In principle GNU/Linux distribution or if this is not the case, the packages can be installed from the source code. In principle
NeXus should support <tt class="docutils literal"><span class="pre">MXML</span></tt>, <tt class="docutils literal"><span class="pre">HDF4</span></tt>, and <tt class="docutils literal"><span class="pre">HDF5</span></tt>. At the time of this writing, the <tt class="docutils literal"><span class="pre">MXML</span></tt> support in the NeXus should support <tt class="docutils literal"><span class="pre">MXML</span></tt>, <tt class="docutils literal"><span class="pre">HDF4</span></tt>, and <tt class="docutils literal"><span class="pre">HDF5</span></tt>. At the time of this writing, the <tt class="docutils literal"><span class="pre">MXML</span></tt> support in the
NeXus project is broken, and <tt class="docutils literal"><span class="pre">HDF4</span></tt> is outdated on most platforms, hence currently only the <tt class="docutils literal"><span class="pre">HDF5</span></tt> binding is NeXus project is broken, and <tt class="docutils literal"><span class="pre">HDF4</span></tt> is outdated on most platforms, yet since ISIS/RAL is still <strong>not</strong> up-to-date <tt class="docutils literal"><span class="pre">HDF4</span></tt> still
used. Hence, the necessary package to build <tt class="docutils literal"><span class="pre">NeXus</span></tt> is <tt class="docutils literal"><span class="pre">HDF5</span></tt>. This means, for a rpm-package based distro try something like:</p> needs to be dragged on (comment: if you are a ISIS user, please complain about <tt class="docutils literal"><span class="pre">HDF4</span></tt>). Hence, the necessary packages to build <tt class="docutils literal"><span class="pre">NeXus</span></tt> are <tt class="docutils literal"><span class="pre">HDF4</span></tt> and <tt class="docutils literal"><span class="pre">HDF5</span></tt>. This means, for a rpm-package based distro try something like:</p>
<blockquote> <blockquote>
<div><div class="highlight-bash"><div class="highlight"><pre><span></span>$ yum install hdf5-devel <div><div class="highlight-bash"><div class="highlight"><pre><span></span>$ yum install hdf-devel hdf5-devel
</pre></div> </pre></div>
</div> </div>
</div></blockquote> </div></blockquote>
<p>and on a deb-package based distro try something like:</p> <p>and on a deb-package based distro try something like:</p>
<blockquote> <blockquote>
<div><div class="highlight-bash"><div class="highlight"><pre><span></span>$ apt-get install libhdf5-dev <div><div class="highlight-bash"><div class="highlight"><pre><span></span>$ apt-get install libhdf4-dev libhdf5-dev
</pre></div> </pre></div>
</div> </div>
</div></blockquote> </div></blockquote>
@ -206,7 +206,7 @@ $ git clone https://github.com/nexusformat/code.git
$ <span class="c1"># next we will build NeXus out-of-source</span> $ <span class="c1"># next we will build NeXus out-of-source</span>
$ mkdir build $ mkdir build
$ <span class="nb">cd</span> build $ <span class="nb">cd</span> build
$ cmake -DENABLE_HDF5<span class="o">=</span><span class="m">1</span> -DENABLE_HDF4<span class="o">=</span><span class="m">0</span> -DENABLE_MXML<span class="o">=</span><span class="m">0</span> ../code $ cmake -DENABLE_HDF5<span class="o">=</span><span class="m">1</span> -DENABLE_HDF4<span class="o">=</span><span class="m">1</span> -DENABLE_MXML<span class="o">=</span><span class="m">0</span> ../code
$ cmake --build ./ --clean-first $ cmake --build ./ --clean-first
$ <span class="c1"># make install needs either to be carried out as root or sudo depending on your linux flavour.</span> $ <span class="c1"># make install needs either to be carried out as root or sudo depending on your linux flavour.</span>
$ sudo make install $ sudo make install
@ -513,7 +513,7 @@ $ git clone https://github.com/nexusformat/code.git
$ <span class="c1"># next we will build NeXus out-of-source</span> $ <span class="c1"># next we will build NeXus out-of-source</span>
$ mkdir build $ mkdir build
$ <span class="nb">cd</span> build $ <span class="nb">cd</span> build
$ cmake -DENABLE_HDF5<span class="o">=</span><span class="m">1</span> -DENABLE_HDF4<span class="o">=</span><span class="m">0</span> -DENABLE_MXML<span class="o">=</span><span class="m">0</span> ../code $ cmake -DENABLE_HDF5<span class="o">=</span><span class="m">1</span> -DENABLE_HDF4<span class="o">=</span><span class="m">1</span> -DENABLE_MXML<span class="o">=</span><span class="m">0</span> ../code
$ make $ make
$ make install $ make install
</pre></div> </pre></div>
@ -684,11 +684,22 @@ and <tt class="docutils literal"><span class="pre">C:\cygwin\bin\bash.exe</span>
</div> </div>
<div class="section" id="mac-os-x-macos"> <div class="section" id="mac-os-x-macos">
<h2>Mac OS X / macOS<a class="headerlink" href="#mac-os-x-macos" title="Permalink to this headline"></a></h2> <h2>Mac OS X / macOS<a class="headerlink" href="#mac-os-x-macos" title="Permalink to this headline"></a></h2>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">2019-10-10: macOS 10.15 Catalina: <tt class="docutils literal"><span class="pre">macport</span></tt>/<tt class="docutils literal"><span class="pre">fink</span></tt>/<tt class="docutils literal"><span class="pre">homebrew</span></tt> and hence <tt class="docutils literal"><span class="pre">musrfit</span></tt> are not yet ready for
this version of macOS. Likely to be ready by end of November 2019.</p>
</div>
<p>With Mac OS X / macOS the situation is up to some extent similar like on MS Windows but still different since <p>With Mac OS X / macOS the situation is up to some extent similar like on MS Windows but still different since
Mac OS X is a UNIX system. The similarity is that also on OS X a helping framework — either <a class="reference external" href="https://www.macports.org/">MacPorts</a> Mac OS X is a UNIX system. The similarity is that also on OS X a helping framework — either <a class="reference external" href="https://www.macports.org/">MacPorts</a>
or <a class="reference external" href="http://www.finkproject.org/">Fink</a> — which provides open-source software is employed to fulfill the basic software requirements of <tt class="docutils literal"><span class="pre">musrfit</span></tt>. or <a class="reference external" href="http://www.finkproject.org/">Fink</a> — which provides open-source software is employed to fulfill the basic software requirements of <tt class="docutils literal"><span class="pre">musrfit</span></tt>.
In the following, both possibilities (using MacPorts or Fink) are described but it is emphasized here that In the following, both possibilities (using MacPorts or Fink) are described but it is emphasized here that
it should be followed only <em>one</em> of the possible routes .</p> it should be followed only <em>one</em> of the possible routes .</p>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">If you decide to upgrade your macOS, e.g. from <tt class="docutils literal"><span class="pre">High</span> <span class="pre">Sierra</span></tt> to <tt class="docutils literal"><span class="pre">Mojave</span></tt>, you will typically need to
unistall <tt class="docutils literal"><span class="pre">musrfit</span></tt>, <tt class="docutils literal"><span class="pre">ROOT</span></tt>, and <a class="reference external" href="https://www.macports.org/">MacPorts</a> / <a class="reference external" href="http://www.finkproject.org/">Fink</a> first, do the upgrade of the macOS and start the
installation of <a class="reference external" href="https://www.macports.org/">MacPorts</a> / <a class="reference external" href="http://www.finkproject.org/">Fink</a> , <tt class="docutils literal"><span class="pre">ROOT</span></tt>, and <tt class="docutils literal"><span class="pre">musrfit</span></tt> from scratch!</p>
</div>
<div class="section" id="requirements-macports"> <div class="section" id="requirements-macports">
<span id="index-27"></span><h3>Requirements (MacPorts)<a class="headerlink" href="#requirements-macports" title="Permalink to this headline"></a></h3> <span id="index-27"></span><h3>Requirements (MacPorts)<a class="headerlink" href="#requirements-macports" title="Permalink to this headline"></a></h3>
<p>Before proceeding with the usage of the <tt class="docutils literal"><span class="pre">MacPorts</span></tt> system first a few useful tools provided by Apple together <p>Before proceeding with the usage of the <tt class="docutils literal"><span class="pre">MacPorts</span></tt> system first a few useful tools provided by Apple together
@ -763,7 +774,7 @@ $ <span class="c1"># next we will build NeXus out-of-source</span>
$ <span class="nb">cd</span> nexus $ <span class="nb">cd</span> nexus
$ mkdir build $ mkdir build
$ <span class="nb">cd</span> build $ <span class="nb">cd</span> build
$ cmake -DENABLE_HDF5<span class="o">=</span><span class="m">1</span> -DENABLE_HDF4<span class="o">=</span><span class="m">0</span> -DENABLE_MXML<span class="o">=</span><span class="m">0</span> ../code $ cmake -DENABLE_HDF5<span class="o">=</span><span class="m">1</span> -DENABLE_HDF4<span class="o">=</span><span class="m">1</span> -DENABLE_MXML<span class="o">=</span><span class="m">0</span> ../code
$ make $ make
$ sudo make install $ sudo make install
</pre></div> </pre></div>
@ -938,7 +949,7 @@ $ <span class="nb">cd</span> nexus
$ <span class="c1"># build NeXus out-of-source</span> $ <span class="c1"># build NeXus out-of-source</span>
$ mkdir build $ mkdir build
$ <span class="nb">cd</span> build $ <span class="nb">cd</span> build
$ cmake ../code -DENABLE_HDF5<span class="o">=</span><span class="m">1</span> -DENABLE_HDF4<span class="o">=</span><span class="m">0</span> -DENABLE_MXML<span class="o">=</span><span class="m">0</span> $ cmake ../code -DENABLE_HDF5<span class="o">=</span><span class="m">1</span> -DENABLE_HDF4<span class="o">=</span><span class="m">1</span> -DENABLE_MXML<span class="o">=</span><span class="m">0</span>
$ cmake --build ./ --clean-first -- -j8 $ cmake --build ./ --clean-first -- -j8
$ sudo make install $ sudo make install
</pre></div> </pre></div>
@ -1285,7 +1296,7 @@ $ musrview test-histo-ROOT-NPP.msr
</div> </div>
<div class="footer"> <div class="footer">
&copy; Copyright 2019, Andreas Suter. &copy; Copyright 2019, Andreas Suter.
Last updated on Jul 24, 2019. Last updated on Oct 10, 2019.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div> </div>
</body> </body>

View File

@ -616,7 +616,7 @@ in case a <span class="math">\(\chi^2\)</span> single-histogram fit is done, als
<tr class="row-odd"><td>generExpo</td> <tr class="row-odd"><td>generExpo</td>
<td>ge</td> <td>ge</td>
<td><span class="math">\(\lambda (\mu \mathrm{s}^{-1}) \beta(1)\)</span></td> <td><span class="math">\(\lambda (\mu \mathrm{s}^{-1}) \beta(1)\)</span></td>
<td><span class="math">\(\exp\left[(-\lambda t)^\beta\right]\)</span></td> <td><span class="math">\(\exp\left[-(\lambda t)^\beta\right]\)</span></td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr class="row-even"><td>simpleGss</td> <tr class="row-even"><td>simpleGss</td>
@ -2294,7 +2294,7 @@ In case this cannot be ensured, the parallelization can be disabled by <em>&#821
</div> </div>
<div class="footer"> <div class="footer">
&copy; Copyright 2019, Andreas Suter. &copy; Copyright 2019, Andreas Suter.
Last updated on Jul 24, 2019. Last updated on Nov 11, 2019.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div> </div>
</body> </body>