From 3443820e834620f7885e7a7694f6a7a6fb02a26e Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Tue, 10 Sep 2013 09:03:21 +0000 Subject: [PATCH] add a stretched Kubo-Toyabe function to the PTheory class, including an update of the docu. Motivated by Z. Salman, which also provided a patch, which needed some improvements. --- ChangeLog | 2 + doc/html/user/MUSR/BmwLibs.html | 25 +++--- doc/html/user/MUSR/LibFitPofB.html | 35 ++++---- doc/html/user/MUSR/LibZFRelaxation.html | 25 +++--- doc/html/user/MUSR/Msr2Data.html | 31 +++---- doc/html/user/MUSR/MusrFit.html | 82 +++++++++++-------- .../user/MUSR/MusrFitAcknowledgements.html | 25 +++--- doc/html/user/MUSR/MusrFitSetup.html | 33 ++++---- doc/html/user/MUSR/MusrGui.html | 29 ++++--- doc/html/user/MUSR/QuickStart.html | 25 +++--- doc/html/user/MUSR/TutorialSingleHisto.html | 29 ++++--- doc/html/user/MUSR/WebHome.html | 29 ++++--- .../user/pub/System/PatternSkin/print.css | 2 +- .../pub/System/PatternSkinTheme2009/style.css | 2 + src/classes/PTheory.cpp | 63 ++++++++++++++ src/include/PTheory.h | 38 +++++---- src/musredit/musredit_startup.xml.in | 9 +- src/musrgui/musrgui_startup.xml.in | 9 +- 18 files changed, 311 insertions(+), 182 deletions(-) diff --git a/ChangeLog b/ChangeLog index e599b4ce..91d71410 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,8 @@ changes since 0.11.0 =================================== +NEW 2013-09-10 add a stretched Kubo-Toyabe function to the PTheory class, including + an update of the docu. NEW 2013-02-14 (i) adding t0 estimate for single histogram fits. The estimate procedure is documented under doc/memos/estimateN0. (ii) adding a more flexible preference handling in musredit. diff --git a/doc/html/user/MUSR/BmwLibs.html b/doc/html/user/MUSR/BmwLibs.html index 544e0070..b4d3d036 100644 --- a/doc/html/user/MUSR/BmwLibs.html +++ b/doc/html/user/MUSR/BmwLibs.html @@ -1,6 +1,6 @@ - + @@ -8,11 +8,12 @@ - + + @@ -126,10 +127,9 @@ pre { - -
-
+
Topic revision: r5 - 10 Jul 2011, wojek
@@ -156,7 +156,7 @@ pre {

PSI Webs
@@ -180,10 +180,13 @@ pre {
-
    -
  • +

      +
    +

    +

    +

@@ -192,7 +195,7 @@ pre {
- +

diff --git a/doc/html/user/MUSR/LibFitPofB.html b/doc/html/user/MUSR/LibFitPofB.html index 117d5262..067e81e2 100644 --- a/doc/html/user/MUSR/LibFitPofB.html +++ b/doc/html/user/MUSR/LibFitPofB.html @@ -1,6 +1,6 @@ - + @@ -8,11 +8,12 @@ - + + @@ -162,7 +163,7 @@ Assuming an array of N \frac{\partial^2}{\partial z^2}B_i(z) = \frac{1}{\lambda_i^2}B_i(z)

-for each layer i taking into account the boundary conditions(1) +for each layer i taking into account the boundary conditions(1)

B_1(0) = B_N(d) = \mu_0H

@@ -268,11 +269,11 @@ When investigating superconductors in the mixed state by means of conventional & B(\mathbf{r}) = \langle B \rangle \sum\limits_{\mathbf{K}}B_{\mathbf{K}}\exp(-\imath\mathbf{K}\mathbf{r}),

where \mathbf{r}=(x,y), \mathbf{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 cutoffJ. Low Temp. Phys. 73, 355 (1988).">(2)

B_{\mathbf{K}} = \frac{\exp\left({-K^2\xi^2/2}\right)}{1 + K^2\lambda^2}

-
Modified London modelPhys. Rev. B 52, 10569 (1995).">(3)

B_{\mathbf{K}} = \frac{\exp\left({-K^2\xi^2/2(1-b)}\right)}{1 + K^2\lambda^2/(1-b)},

where b = \langle B \rangle/\mu_0H_{\mathrm{c}2}. -
Analytical Ginzburg-Landau modelPhys. Rev. B 55, 11107 (1997).">(4)

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}},

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. +
London model with Gaussian cutoff(2)

B_{\mathbf{K}} = \frac{\exp\left({-K^2\xi^2/2}\right)}{1 + K^2\lambda^2}

+
Modified London model(3)

B_{\mathbf{K}} = \frac{\exp\left({-K^2\xi^2/2(1-b)}\right)}{1 + K^2\lambda^2/(1-b)},

where b = \langle B \rangle/\mu_0H_{\mathrm{c}2}. +
Analytical Ginzburg-Landau model(4)

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}},

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 analytical models the numerical Ginzburg-Landau model Phys. Rev. B 68, 054506 (2003).">(5) is available. In this case B(\mathbf{r}) is obtained by an iterative minimization of the free energy of the vortex lattice. +Apart from the mentioned analytical models the numerical Ginzburg-Landau model (5) 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!

@@ -402,10 +403,9 @@ An example XML file looks as follows: - -
-
+
Topic revision: r16 - 10 Jul 2011, wojek
@@ -432,7 +432,7 @@ An example XML file looks as follows:

PSI Webs
@@ -456,10 +456,13 @@ An example XML file looks as follows:
-
    -
  • +

      +
    +

    +

    +

@@ -468,7 +471,7 @@ An example XML file looks as follows:
- +

diff --git a/doc/html/user/MUSR/LibZFRelaxation.html b/doc/html/user/MUSR/LibZFRelaxation.html index de0cae6b..22593e36 100644 --- a/doc/html/user/MUSR/LibZFRelaxation.html +++ b/doc/html/user/MUSR/LibZFRelaxation.html @@ -1,6 +1,6 @@ - + @@ -8,11 +8,12 @@ - + + @@ -207,10 +208,9 @@ The parameters are:
    - -
    @@ -237,7 +237,7 @@ The parameters are:

      PSI Webs
      @@ -261,10 +261,13 @@ The parameters are:
        -
          -
        • +

            +
          +

          +

          +

    @@ -273,7 +276,7 @@ The parameters are:
    - +

    diff --git a/doc/html/user/MUSR/Msr2Data.html b/doc/html/user/MUSR/Msr2Data.html index 97496167..cc8d0bac 100644 --- a/doc/html/user/MUSR/Msr2Data.html +++ b/doc/html/user/MUSR/Msr2Data.html @@ -1,6 +1,6 @@ - + @@ -8,11 +8,12 @@ - + + @@ -135,7 +136,7 @@ pre {

    1 Introduction

    -msr2data (originally written by B. M. Wojek) is a program implemented in C++. Its purpose is to process multiple musrfit msr files with the same parameters and summarize the fitting results either in a TRIUMF DB here. The DB files produced by msr2data can be viewed for instance with μView, however, they are not completely backward-compatible to the original "db language" since the parameter names can be longer than five or six characters! In order to establish this backward compatibility (if needed) the user has to ensure the correct length of the parameter names in the msr files!">(1) or a column ASCII file. It evolved from a script called mlog2db which has been written only for collecting fit results of LEM data stored in mlog files generated by musrfit and putting them together in a file with the DB format for further analysis. Therefore, any peculiarities, e.g. in supplying options to msr2data are owed its original purpose. +msr2data (originally written by B. M. Wojek) is a program implemented in C++. Its purpose is to process multiple musrfit msr files with the same parameters and summarize the fitting results either in a TRIUMF DB (1) or a column ASCII file. It evolved from a script called mlog2db which has been written only for collecting fit results of LEM data stored in mlog files generated by musrfit and putting them together in a file with the DB format for further analysis. Therefore, any peculiarities, e.g. in supplying options to msr2data are owed its original purpose. msr2data is free software and licensed under the GNU GPL version 2 or any later version (at your option).

    Before the usage of msr2data will be explained in greater detail first be aware of the following: @@ -341,18 +342,17 @@ For reporting bugs or requesting new features and improvements please use the - -
    @@ -383,7 +383,7 @@ For reporting bugs or requesting new features and improvements please use the

    PSI Webs

    @@ -407,10 +407,13 @@ For reporting bugs or requesting new features and improvements please use the
    -
      -
    • +

        +
      +

      +

      +

    @@ -419,7 +422,7 @@ For reporting bugs or requesting new features and improvements please use the - +

    diff --git a/doc/html/user/MUSR/MusrFit.html b/doc/html/user/MUSR/MusrFit.html index 0c9f2f35..c6a09475 100644 --- a/doc/html/user/MUSR/MusrFit.html +++ b/doc/html/user/MUSR/MusrFit.html @@ -1,6 +1,6 @@ - + @@ -8,11 +8,12 @@ - + + @@ -389,7 +390,7 @@ are various possible parameter definitions which are listed here: 2. <no> <name> <value> <step> <lower_boundary> <upper_boundary> 3. <no> <name> <value> <step> <pos_error> <lower_boundary> <upper_boundary> -where <no> is the parameter number, <name> is the parameter name
    (1), <value> is the initial guess of the parameter, <step> the inital step width, <lower/upper_boundary> is the lower/upper boundary for the parameter (2). +where <no> is the parameter number, <name> is the parameter name (1), <value> is the initial guess of the parameter, <step> the inital step width, <lower/upper_boundary> is the lower/upper boundary for the parameter (2).

    In the output file, <value> will be the MINUIT fit value, <step> will contain the error estimate (or the negative error estimate if MINOS was successfully used), <pos_error> will have the value none if MINOS has not been used, otherwise it will show the positive error estimate.

    @@ -492,35 +493,35 @@ The THEORY block is used to define the fit function. There is a set of predefine sgktlf \nu\,(\mathrm{MHz}), \sigma\,(\mu\text{s}^{-1}) G_{\mathrm{G,LF}}(t) \equiv 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]+\frac{2\sigma^4}{(2\pi\nu)^3}\int^t_0 \exp\left(-\frac{1}{2}\sigma^2\tau^2\right)\sin(2\pi\nu\tau)\mathrm{d}\tau - Phys. Rev. B 20 (1979) 850 ">(4) + (4) dynGssKTLF dgktlf \nu\,(\mathrm{MHz}), \sigma\,(\mu\text{s}^{-1}), \Gamma\,(\mathrm{MHz}) \frac{1}{2\pi \imath}\int_{\gamma-\imath\infty}^{\gamma+\imath\infty} \frac{f_{\mathrm{G}}(s+\Gamma)}{1-\Gamma f_{\mathrm{G}}(s+\Gamma)} \exp(s t) \mathrm{d}s,\mathrm{where}\,f_{\mathrm{G}}(s)\equiv \int_0^{\infty}G_{\mathrm{G,LF}}(t)\exp(-s t) \mathrm{d}t - Phys. Rev. B 20 (1979) 850; P. Dalmas de Réotier and A. Yaouanc, J. Phys.: Condens. Matter 4 (1992) 4533; A. Keren, Phys. Rev. B 50 (1994) 10039 ">(5) + (5) statExpKT sekt \lambda\,(\mu\text{s}^{-1}) \frac{1}{3} + \frac{2}{3} \left[1-\lambda t\right] \exp\left(-\lambda t\right) - Phys. Rev. B 31 (1985) 546 ">(6) + (6) statExpKTLF sektlf \nu\,(\mathrm{MHz}), a\,(\mu\text{s}^{-1}) 1-\frac{a}{2\pi\nu}j_1(2\pi\nu t)\exp\left(-at\right)-\left(\frac{a}{2\pi\nu}\right)^2 \left[j_0(2\pi\nu t)\exp\left(-at\right)-1\right]-a\left[1+\left(\frac{a}{2\pi\nu}\right)^2\right]\int^t_0 \exp\left(-a\tau\right)j_0(2\pi\nu\tau)\mathrm{d}\tau \equiv G_{\mathrm{L,LF}}(t) - Phys. Rev. B 31 (1985) 546 ">(7) + (7) dynExpKTLF dektlf \nu\,(\mathrm{MHz}), a\,(\mu\text{s}^{-1}), \Gamma\,(\mathrm{MHz}) \frac{1}{2\pi \imath}\int_{\gamma-\imath\infty}^{\gamma+\imath\infty} \frac{f_{\mathrm{L}}(s+\Gamma)}{1-\Gamma f_{\mathrm{L}}(s+\Gamma)} \exp(s t) \mathrm{d}s,\mathrm{where}\,f_{\mathrm{L}}(s)\equiv \int_0^{\infty}G_{\mathrm{L,LF}}(t)\exp(-s t) \mathrm{d}t - Phys. Rev. B 20 (1979) 850; P. Dalmas de Réotier and A. Yaouanc, J. Phys.: Condens. Matter 4 (1992) 4533 ">(8) + (8) combiLGKT @@ -530,90 +531,97 @@ The THEORY block is used to define the fit function. There is a set of predefine dead! + strKT + skt + \sigma\,(\mu\text{s}^{-1}), \beta\,(1) + \frac{1}{3}+\frac{2}{3}\left[1-(\sigma t)^\beta\right] \exp\left[-(\sigma t)^\beta / \beta \right] + (9) + + spinGlass spg \lambda\,(\mu\text{s}^{-1}), \gamma\,(\mu\text{s}^{-1}), q\,(1) \frac{1}{3}\exp\left(-\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}}\right)+\frac{2}{3}\left(1-\frac{q\lambda^2t^2}{\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}+q\lambda^2t^2}}\right)\exp\left(-\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}+q\lambda^2t^2}\right) dead! - + rdAnisoHf rahf \nu\,(\mathrm{MHz}), \lambda\,(\mu\text{s}^{-1}) \frac{1}{6}\left(1-\frac{\nu t}{2}\right)\exp\left(-\frac{\nu t}{2}\right)+\frac{1}{3}\left(1-\frac{\nu t}{4}\right)\exp\left(-\frac{\nu t + 2.44949\lambda t}{4}\right) - Phys. Rev. B 34 (1986) 4467 ">(9) + (9) - + TFieldCos tf \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}) \cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right) dead! - + internFld if \alpha\,(1), \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}), \lambda_{\mathrm{T}}\,(\mu\text{s}^{-1}), \lambda_{\mathrm{L}}\,(\mu\text{s}^{-1}) \alpha\,\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\exp\left(-\lambda_{\mathrm{T}}t\right)+(1-\alpha)\,\exp\left(-\lambda_{\mathrm{L}}t\right) dead! - + Bessel b \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}) j_0\left(2\pi\nu t+\frac{\pi\varphi}{180}\right) dead! - + internBsl ib \alpha\,(1), \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}), \lambda_{\mathrm{T}}\,(\mu\text{s}^{-1}), \lambda_{\mathrm{L}}\,(\mu\text{s}^{-1}) \alpha\,j_0\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\exp\left(-\lambda_{\mathrm{T}}t\right)+(1-\alpha)\,\exp\left(-\lambda_{\mathrm{L}}t\right) dead! - + abragam ab \sigma\,(\mu\text{s}^{-1}), \gamma\,(\mathrm{MHz}) \exp\left[-\frac{\sigma^2}{\gamma^2}\left(e^{-\gamma t}-1+\gamma t\right)\right] dead! - + skewedGss skg \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}), \sigma_{-}\,(\mu\text{s}^{-1}), \sigma_{+}\,(\mu\text{s}^{-1}) \frac{\sigma_{-}}{\sigma_{+}+\sigma_{-}}\exp\left[-\frac{\sigma_{-}^2t^2}{2}\right]\left\lbrace\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)+\sin\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\mathrm{Erfi}\left(\frac{\sigma_{-}t}{\sqrt{2}}\right)\right\rbrace+ \frac{\sigma_{+}}{\sigma_{+}+\sigma_{-}}\exp\left[-\frac{\sigma_{+}^2t^2}{2}\right]\left\lbrace\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)-\sin\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\mathrm{Erfi}\left(\frac{\sigma_{+}t}{\sqrt{2}}\right)\right\rbrace memo pdf - + staticNKZF snkzf \Delta_0\,(\mu\text{s}^{-1}), R_b\,(\text{1}) \frac{1}{3}+\frac{2}{3}\left(\frac{1+R_b^2}{1+R_b^2+R_b^2\Delta_0^2(1+R_b^2)t^2}\right)^{3/2} \left(1-\frac{\Delta_0^2 t^2}{1+R_b^2+R_b^2\Delta_0^2(1+R_b^2)t^2}\right)\,\exp\left[-\frac{\Delta_0^2 t^2}{2(1+R_b^2+R_b^2\Delta_0^2(1+R_b^2)t^2)}\right] - Phys. Rev. B 56 (1997) 2352; A. Yaouanc and P. Dalmas de Réotier "Muon Spin Rotation, Relaxation, and Resonance" Oxford Scientific Publication ">(10) + (10) - + staticNKTF snktf \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}), \Delta_0\,(\mu\text{s}^{-1}), R_b\,(\text{1}) \sqrt{\frac{1+R_b^2}{1+R_b^2+R_b^2\Delta_0^2(1+R_b^2)t^2}}\,\exp\left[-\frac{\Delta_0^2 t^2}{2(1+R_b^2+R_b^2\Delta_0^2(1+R_b^2)t^2)}\right]\,\cos(\nu t+\varphi) see note 10 - + dynamicNKZF dnkzf \Delta_0\,(\mu\text{s}^{-1}), R_b\,(\text{1}), \nu_c\,(\text{MHz}) \sqrt{\frac{1+R_b^2}{1+R_b^2+4 R_b^2\Delta_0^2(1+R_b^2) \Theta(t)}}\,\exp\left[-\frac{2 \Delta_0^2 (1+R_b^2) \Theta(t)}{1+R_b^2+4 R_b^2\Delta_0^2(1+R_b^2)\Theta(t)}\right]\quad,\, \Theta(t) = \frac{\exp(-\nu_c t) - 1 - \nu_c t}{\nu_c^2} see note 10 - + dynamicNKTF dnktf \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}), \Delta_0\,(\mu\text{s}^{-1}), R_b\,(\text{1}), \nu_c\,(\text{MHz}) \sqrt{\frac{1+R_b^2}{1+R_b^2+2 R_b^2\Delta_0^2(1+R_b^2) \Theta(t)}}\,\exp\left[-\frac{\Delta_0^2 (1+R_b^2) \Theta(t)}{1+R_b^2+2 R_b^2\Delta_0^2(1+R_b^2)\Theta(t)}\right]\, \cos(\nu t + \varphi) \quad,\, \Theta(t) = \frac{\exp(-\nu_c t) - 1 - \nu_c t}{\nu_c^2} see note 10 - + polynom p t_0\,([t]), a_0\,(1),\,a_1\,(1),\,\dots,\,a_{n}\,(1) @@ -651,9 +659,11 @@ Notes

    8 : R. S. Hayano et al., Phys. Rev. B 20 (1979) 850; P. Dalmas de Réotier and A. Yaouanc, J. Phys.: Condens. Matter 4 (1992) 4533

    - 9 : R. E. Turner and D. R. Harshman, Phys. Rev. B 34 (1986) 4467 + 9 : M.R. Crook and R. Cywinski, J. Phys.: Condens. Matter 9 (1997) 1149

    - 10 : D.R. Noakes and G.M. Kalvius, Phys. Rev. B 56 (1997) 2352; A. Yaouanc and P. Dalmas de Réotier "Muon Spin Rotation, Relaxation, and Resonance" Oxford Scientific Publication + 9 : R. E. Turner and D. R. Harshman, Phys. Rev. B 34 (1986) 4467 +

    + 10 : D.R. Noakes and G.M. Kalvius, Phys. Rev. B 56 (1997) 2352; A. Yaouanc and P. Dalmas de Réotier "Muon Spin Rotation, Relaxation, and Resonance" Oxford Scientific Publication

    @@ -1436,18 +1446,17 @@ For reporting bugs or requesting new features and improvements please use the - -
    @@ -1478,7 +1487,7 @@ For reporting bugs or requesting new features and improvements please use the

    PSI Webs

    @@ -1502,10 +1511,13 @@ For reporting bugs or requesting new features and improvements please use the
    -
      -
    • +

        +
      +

      +

      +

    @@ -1514,7 +1526,7 @@ For reporting bugs or requesting new features and improvements please use the - +

    diff --git a/doc/html/user/MUSR/MusrFitAcknowledgements.html b/doc/html/user/MUSR/MusrFitAcknowledgements.html index baf4d301..0c1b2f91 100644 --- a/doc/html/user/MUSR/MusrFitAcknowledgements.html +++ b/doc/html/user/MUSR/MusrFitAcknowledgements.html @@ -1,6 +1,6 @@ - + @@ -8,11 +8,12 @@ - + + @@ -124,10 +125,9 @@ pre { - -
    @@ -154,7 +154,7 @@ pre {

    PSI Webs
    @@ -178,10 +178,13 @@ pre {
    -
      -
    • +

        +
      +

      +

      +

    @@ -190,7 +193,7 @@ pre {
    - +

    diff --git a/doc/html/user/MUSR/MusrFitSetup.html b/doc/html/user/MUSR/MusrFitSetup.html index 6af31c84..c213f5d2 100644 --- a/doc/html/user/MUSR/MusrFitSetup.html +++ b/doc/html/user/MUSR/MusrFitSetup.html @@ -1,6 +1,6 @@ - + @@ -8,11 +8,12 @@ - + + @@ -228,7 +229,7 @@ Even though there might exist binary packages for the NeXus library The ROOT system may or may not be part of the GNU/Linux distribution. If it is, it should be checked that the provided binaries are of a recent version and then these in principle can be installed using a package manager as described above.
    In case the distribution provides no or only outdated binary packages there are the following possibilities:

    --- AS & BMW - last update Jan 15, 2013 +-- AS & BMW - last update Sept 10, 2013
    - -
    @@ -168,7 +168,7 @@ pre {

    PSI Webs
    @@ -192,10 +192,13 @@ pre {
    -
      -
    • +

        +
      +

      +

      +

    @@ -204,10 +207,10 @@ pre {
    - +

    -

    \ No newline at end of file +

    diff --git a/doc/html/user/pub/System/PatternSkin/print.css b/doc/html/user/pub/System/PatternSkin/print.css index ca8db26b..068d57b3 100644 --- a/doc/html/user/pub/System/PatternSkin/print.css +++ b/doc/html/user/pub/System/PatternSkin/print.css @@ -1 +1 @@ -body{margin:0;padding:0;}#patternScreen, #patternPageShadow, #patternPage, #patternOuter{margin:0;padding:0;top:0;border:none;float:none;}#patternMain{width:100%;float:none;display:inline;overflow:visible;}#patternSideBar{display:none;}#patternWrapper{height:1%;}#patternTopBar, #patternClearHeaderCenter, #patternClearHeaderLeft, #patternClearHeaderRight, #patternTopBarContentsOuter{display:none;}.patternTopicAction, .patternToolBar, .patternToolBarBottom, .patternHomePath img, .patternHomePathTitle, .foswikiActionFormStepSign{display:none;}#patternMainContents{margin:0;padding:1em 2em;}#patternBottomBar{border:none;}.patternTopicFooter{margin:1em 0 0 0;}#attachmentsshow, #attachmentshide{display:none;}pre, html>body pre{overflow:visible !important;}h1, h2, h3, h4, h5, h6{page-break-after:avoid;page-break-inside:avoid;}img{page-break-inside:avoid;page-break-after:avoid;}blockquote, table, pre{page-break-inside:avoid;}ul, ol, dl{page-break-before:avoid;}.commentPlugin{display:none;}.twistyTrigger{display:none;}.editTableEditImageButton{display:none;}html body{background-color:#fff;}h2, h3, h4, h5, h6{background-color:transparent;}#patternBottomBar{background-color:transparent;}pre, code, tt{color:#5b4221;}.foswikiTable th{border-style:solid;border-width:0 0 1px 1px;border-color:#ccc;color:#000;}.foswikiTable th a:link, .foswikiTable th a:visited, .foswikiTable th a font, .foswikiAttachments .foswikiTable th a:link, .foswikiAttachments .foswikiTable th a:visited, .foswikiAttachments .foswikiTable th a font{color:#000;text-decoration:none;}:visited, .foswikiTopic a:visited{color:#06c;background-color:transparent;}.foswikiAttachments, .patternContent .foswikiAttachments, .foswikiForm, .patternContent .foswikiForm{background-color:#fff;}.patternRevInfo, .foswikiGrayText{color:#666;}.patternRevInfo a:link, .patternRevInfo a:visited .foswikiGrayText a:link, .foswikiGrayText a:visited{color:#666;}@media print{body{margin:0;padding:0;}#patternScreen, #patternPageShadow, #patternPage, #patternOuter{margin:0;padding:0;top:0;border:none;float:none;}#patternMain{width:100%;float:none;display:inline;overflow:visible;}#patternSideBar{display:none;}#patternWrapper{height:1%;}#patternTopBar, #patternClearHeaderCenter, #patternClearHeaderLeft, #patternClearHeaderRight, #patternTopBarContentsOuter{display:none;}.patternTopicAction, .patternToolBar, .patternToolBarBottom, .patternHomePath img, .patternHomePathTitle, .foswikiActionFormStepSign{display:none;}#patternMainContents{margin:0;padding:1em 2em;}#patternBottomBar{border:none;}.patternTopicFooter{margin:1em 0 0 0;}#attachmentsshow, #attachmentshide{display:none;}pre, html>body pre{overflow:visible !important;}h1, h2, h3, h4, h5, h6{page-break-after:avoid;page-break-inside:avoid;}img{page-break-inside:avoid;page-break-after:avoid;}blockquote, table, pre{page-break-inside:avoid;}ul, ol, dl{page-break-before:avoid;}.commentPlugin{display:none;}.twistyTrigger{display:none;}.editTableEditImageButton{display:none;}html body{background-color:#fff;}h2, h3, h4, h5, h6{background-color:transparent;}#patternBottomBar{background-color:transparent;}pre, code, tt{color:#5b4221;}.foswikiTable th{border-style:solid;border-width:0 0 1px 1px;border-color:#ccc;color:#000;}.foswikiTable th a:link, .foswikiTable th a:visited, .foswikiTable th a font, .foswikiAttachments .foswikiTable th a:link, .foswikiAttachments .foswikiTable th a:visited, .foswikiAttachments .foswikiTable th a font{color:#000;text-decoration:none;}:visited, .foswikiTopic a:visited{color:#06c;background-color:transparent;}.foswikiAttachments, .patternContent .foswikiAttachments, .foswikiForm, .patternContent .foswikiForm{background-color:#fff;}.patternRevInfo, .foswikiGrayText{color:#666;}.patternRevInfo a:link, .patternRevInfo a:visited .foswikiGrayText a:link, .foswikiGrayText a:visited{color:#666;}} #peopleIcon {display: none;} #tooltip {display: none;} span.ecpHeading img {display: none;} div.foswikiBroadcastMessage {display: none;} +body{margin:0;padding:0;}#patternScreen, #patternPageShadow, #patternPage, #patternOuter{margin:0;padding:0;top:0;border:none;float:none;}#patternMain{width:100%;float:none;display:inline;overflow:visible;}#patternSideBar{display:none;}#patternWrapper{height:1%;}#patternTopBar, #patternClearHeaderCenter, #patternClearHeaderLeft, #patternClearHeaderRight, #patternTopBarContentsOuter{display:none;}.patternTopicAction, .patternToolBar, .patternToolBarBottom, .patternHomePath img, .patternHomePathTitle, .foswikiActionFormStepSign{display:none;}#patternMainContents{margin:0;padding:1em 2em;}#patternBottomBar{border:none;}.patternTopicFooter{margin:1em 0 0 0;}#attachmentsshow, #attachmentshide{display:none;}pre, html>body pre{overflow:visible !important;}h1, h2, h3, h4, h5, h6{page-break-after:avoid;page-break-inside:avoid;}img{page-break-inside:avoid;page-break-after:avoid;}blockquote, table, pre{page-break-inside:avoid;}ul, ol, dl{page-break-before:avoid;}.commentPlugin{display:none;}.twistyTrigger{display:none;}.editTableEditImageButton{display:none;}html body{background-color:#fff;}h2, h3, h4, h5, h6{background-color:transparent;}#patternBottomBar{background-color:transparent;}pre, code, tt{color:#5b4221;}.foswikiTable th{border-style:solid;border-width:0 0 1px 1px;border-color:#ccc;color:#000;}.foswikiTable th a:link, .foswikiTable th a:visited, .foswikiTable th a font, .foswikiAttachments .foswikiTable th a:link, .foswikiAttachments .foswikiTable th a:visited, .foswikiAttachments .foswikiTable th a font{color:#000;text-decoration:none;}:visited, .foswikiTopic a:visited{color:#06c;background-color:transparent;}.foswikiAttachments, .patternContent .foswikiAttachments, .foswikiForm, .patternContent .foswikiForm{background-color:#fff;}.patternRevInfo, .foswikiGrayText{color:#666;}.patternRevInfo a:link, .patternRevInfo a:visited .foswikiGrayText a:link, .foswikiGrayText a:visited{color:#666;}@media print{body{margin:0;padding:0;}#patternScreen, #patternPageShadow, #patternPage, #patternOuter{margin:0;padding:0;top:0;border:none;float:none;}#patternMain{width:100%;float:none;display:inline;overflow:visible;}#patternSideBar{display:none;}#patternWrapper{height:1%;}#patternTopBar, #patternClearHeaderCenter, #patternClearHeaderLeft, #patternClearHeaderRight, #patternTopBarContentsOuter{display:none;}.patternTopicAction, .patternToolBar, .patternToolBarBottom, .patternHomePath img, .patternHomePathTitle, .foswikiActionFormStepSign{display:none;}#patternMainContents{margin:0;padding:1em 2em;}#patternBottomBar{border:none;}.patternTopicFooter{margin:1em 0 0 0;}#attachmentsshow, #attachmentshide{display:none;}pre, html>body pre{overflow:visible !important;}h1, h2, h3, h4, h5, h6{page-break-after:avoid;page-break-inside:avoid;}img{page-break-inside:avoid;page-break-after:avoid;}blockquote, table, pre{page-break-inside:avoid;}ul, ol, dl{page-break-before:avoid;}.commentPlugin{display:none;}.twistyTrigger{display:none;}.editTableEditImageButton{display:none;}html body{background-color:#fff;}h2, h3, h4, h5, h6{background-color:transparent;}#patternBottomBar{background-color:transparent;}pre, code, tt{color:#5b4221;}.foswikiTable th{border-style:solid;border-width:0 0 1px 1px;border-color:#ccc;color:#000;}.foswikiTable th a:link, .foswikiTable th a:visited, .foswikiTable th a font, .foswikiAttachments .foswikiTable th a:link, .foswikiAttachments .foswikiTable th a:visited, .foswikiAttachments .foswikiTable th a font{color:#000;text-decoration:none;}:visited, .foswikiTopic a:visited{color:#06c;background-color:transparent;}.foswikiAttachments, .patternContent .foswikiAttachments, .foswikiForm, .patternContent .foswikiForm{background-color:#fff;}.patternRevInfo, .foswikiGrayText{color:#666;}.patternRevInfo a:link, .patternRevInfo a:visited .foswikiGrayText a:link, .foswikiGrayText a:visited{color:#666;}} #peopleIcon {display: none;} #tooltip {display: none;} .ecpHeading img {display: none;} diff --git a/doc/html/user/pub/System/PatternSkinTheme2009/style.css b/doc/html/user/pub/System/PatternSkinTheme2009/style.css index 1f5799e2..df75ca68 100644 --- a/doc/html/user/pub/System/PatternSkinTheme2009/style.css +++ b/doc/html/user/pub/System/PatternSkinTheme2009/style.css @@ -23,6 +23,8 @@ html body { font-family:arial, verdana, sans-serif; font-size:104%; + voice-family:"\"}\""; + voice-family:inherit; font-size:small; } html>body { /* Mozilla */ diff --git a/src/classes/PTheory.cpp b/src/classes/PTheory.cpp index 757eed86..2dc5a383 100644 --- a/src/classes/PTheory.cpp +++ b/src/classes/PTheory.cpp @@ -444,6 +444,10 @@ Double_t PTheory::Func(register Double_t t, const PDoubleVector& paramValues, co return CombiLGKT(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues) + fAdd->Func(t, paramValues, funcValues); break; + case THEORY_STR_KT: + return StrKT(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues) + + fAdd->Func(t, paramValues, funcValues); + break; case THEORY_SPIN_GLASS: return SpinGlass(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues) + fAdd->Func(t, paramValues, funcValues); @@ -543,6 +547,9 @@ Double_t PTheory::Func(register Double_t t, const PDoubleVector& paramValues, co case THEORY_COMBI_LGKT: return CombiLGKT(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues); break; + case THEORY_STR_KT: + return StrKT(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues); + break; case THEORY_SPIN_GLASS: return SpinGlass(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues); break; @@ -630,6 +637,9 @@ Double_t PTheory::Func(register Double_t t, const PDoubleVector& paramValues, co case THEORY_COMBI_LGKT: return CombiLGKT(t, paramValues, funcValues) + fAdd->Func(t, paramValues, funcValues); break; + case THEORY_STR_KT: + return StrKT(t, paramValues, funcValues) + fAdd->Func(t, paramValues, funcValues); + break; case THEORY_SPIN_GLASS: return SpinGlass(t, paramValues, funcValues) + fAdd->Func(t, paramValues, funcValues); break; @@ -715,6 +725,9 @@ Double_t PTheory::Func(register Double_t t, const PDoubleVector& paramValues, co case THEORY_COMBI_LGKT: return CombiLGKT(t, paramValues, funcValues); break; + case THEORY_STR_KT: + return StrKT(t, paramValues, funcValues); + break; case THEORY_SPIN_GLASS: return SpinGlass(t, paramValues, funcValues); break; @@ -1752,6 +1765,56 @@ Double_t PTheory::CombiLGKT(register Double_t t, const PDoubleVector& paramValue (1.0 + 2.0*(1.0-lambdaL_t-lambdaG_t_2)*TMath::Exp(-(lambdaL_t+0.5*lambdaG_t_2))); } +//-------------------------------------------------------------------------- +/** + *

    theory function: stretched Kubo-Toyabe in zero field. + * Ref: Crook M. R. and Cywinski R., J. Phys. Condens. Matter, 9 (1997) 1149. + * + * \f[ = 1/3 + 2/3 \left(1-(\sigma t)^\beta \right) \exp\left(-(\sigma t)^\beta / \beta\right)\f] + * or the time shifted version of it. + * + * meaning of paramValues: \f$\sigma\f$, \f$\beta\f$ [, \f$t_{\rm shift}\f$] + * + * return: function value + * + * \param t time in \f$(\mu\mathrm{s})\f$, or x-axis value for non-muSR fit + * \param paramValues parameter values + * \param funcValues vector with the functions (i.e. functions of the parameters) + */ +Double_t PTheory::StrKT(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +{ + // expected parameters: sigma beta [tshift] + + Double_t val[3]; + + assert(fParamNo.size() <= 3); + + // check if FUNCTIONS are used + for (UInt_t i=0; i theory function: spin glass function diff --git a/src/include/PTheory.h b/src/include/PTheory.h index 5b953bd9..5ef30409 100644 --- a/src/include/PTheory.h +++ b/src/include/PTheory.h @@ -57,20 +57,21 @@ #define THEORY_STATIC_LORENTZ_KT_LF 9 #define THEORY_DYNAMIC_LORENTZ_KT_LF 10 #define THEORY_COMBI_LGKT 11 -#define THEORY_SPIN_GLASS 12 -#define THEORY_RANDOM_ANISOTROPIC_HYPERFINE 13 -#define THEORY_ABRAGAM 14 -#define THEORY_INTERNAL_FIELD 15 -#define THEORY_TF_COS 16 -#define THEORY_BESSEL 17 -#define THEORY_INTERNAL_BESSEL 18 -#define THEORY_SKEWED_GAUSS 19 -#define THEORY_STATIC_ZF_NK 20 -#define THEORY_STATIC_TF_NK 21 -#define THEORY_DYNAMIC_ZF_NK 22 -#define THEORY_DYNAMIC_TF_NK 23 -#define THEORY_POLYNOM 24 -#define THEORY_USER_FCN 25 +#define THEORY_STR_KT 12 +#define THEORY_SPIN_GLASS 13 +#define THEORY_RANDOM_ANISOTROPIC_HYPERFINE 14 +#define THEORY_ABRAGAM 15 +#define THEORY_INTERNAL_FIELD 16 +#define THEORY_TF_COS 17 +#define THEORY_BESSEL 18 +#define THEORY_INTERNAL_BESSEL 19 +#define THEORY_SKEWED_GAUSS 20 +#define THEORY_STATIC_ZF_NK 21 +#define THEORY_STATIC_TF_NK 22 +#define THEORY_DYNAMIC_ZF_NK 23 +#define THEORY_DYNAMIC_TF_NK 24 +#define THEORY_POLYNOM 25 +#define THEORY_USER_FCN 26 // function parameter tags, i.e. how many parameters has a specific function // if there is a comment with a (tshift), the number of parameters is increased by one @@ -86,6 +87,7 @@ #define THEORY_PARAM_STATIC_LORENTZ_KT_LF 2 // frequency, damping (tshift) #define THEORY_PARAM_DYNAMIC_LORENTZ_KT_LF 3 // frequency, damping, hop-rate (tshift) #define THEORY_PARAM_COMBI_LGKT 2 // Lorentz rate, Gauss rate (tshift) +#define THEORY_PARAM_STR_KT 2 // rate, exponent (tshift) #define THEORY_PARAM_SPIN_GLASS 3 // rate, hop-rate, order parameter (tshift) #define THEORY_PARAM_RANDOM_ANISOTROPIC_HYPERFINE 2 // frequency, rate (tshift) #define THEORY_PARAM_ABRAGAM 2 // rate, hop-rate (tshift) @@ -100,7 +102,7 @@ #define THEORY_PARAM_DYNAMIC_TF_NK 5 // phase, frequency, damping D0, R_b=DGbG/D0, nu_c (tshift) // number of available user functions -#define THEORY_MAX 26 +#define THEORY_MAX 27 // maximal number of parameters. Needed in the contents of LF #define THEORY_MAX_PARAM 10 @@ -166,7 +168,10 @@ static PTheoDataBase fgTheoDataBase[THEORY_MAX] = { "dynExpKTLF", "dektlf", "(frequency damping hopping-rate)", "(frequency damping hopping-rate tshift)"}, {THEORY_COMBI_LGKT, THEORY_PARAM_COMBI_LGKT, false, - "combiLGKT", "lgkt", "(LorentzRate GaussRate)", "(LorentzRate GaussRate tshift)"}, + "combiLGKT", "lgkt", "(lorentzRate gaussRate)", "(lorentzRate gaussRate tshift)"}, + + {THEORY_STR_KT, THEORY_PARAM_STR_KT, false, + "strKT", "skt", "(rate beta)", "(rate beta tshift)"}, {THEORY_SPIN_GLASS, THEORY_PARAM_SPIN_GLASS, false, "spinGlass", "spg", "(rate hopprate order)", "(rate hopprate order tshift)"}, @@ -244,6 +249,7 @@ class PTheory virtual Double_t StaticLorentzKTLF(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const; virtual Double_t DynamicLorentzKTLF(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const; virtual Double_t CombiLGKT(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const; + virtual Double_t StrKT(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const; virtual Double_t SpinGlass(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const; virtual Double_t RandomAnisotropicHyperfine(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const; virtual Double_t Abragam(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const; diff --git a/src/musredit/musredit_startup.xml.in b/src/musredit/musredit_startup.xml.in index f610695d..d76207fc 100644 --- a/src/musredit/musredit_startup.xml.in +++ b/src/musredit/musredit_startup.xml.in @@ -130,11 +130,18 @@ combiLGKT - (LorentzRate GaussRate) + (lorentzRate gaussRate) combiLGKT.png 2 + + strKT + (rate beta) + + + 2 + spinGlass (rate hopping-rate order) diff --git a/src/musrgui/musrgui_startup.xml.in b/src/musrgui/musrgui_startup.xml.in index 17722d4f..53b8da9c 100644 --- a/src/musrgui/musrgui_startup.xml.in +++ b/src/musrgui/musrgui_startup.xml.in @@ -115,11 +115,18 @@ combiLGKT - (LorentzRate GaussRate) + (lorentzRate gaussRate) combiLGKT.png 2 + + strKT + (rate beta) + + + 2 + spinGlass (rate hopping-rate order)