adopted the temperature dependence of the gap function (see Eq.(8) of the memo), which breaks the self-consistency. Makes it more flexible but requires that the user is using his brain.
This commit is contained in:
parent
da93db557f
commit
012b2e5891
@ -12,15 +12,25 @@ ENERGY: 4200
|
||||
# here the data will follow
|
||||
data
|
||||
# x, y, error y
|
||||
0.02, 12.0, 0.5
|
||||
0.1, 11.8, 0.8
|
||||
0.2, 9.9, 0.4
|
||||
0.33, 7.2, 0.15
|
||||
0.41, 3.8, 0.38
|
||||
0.5, 2.7, 0.5
|
||||
0.64, 1.0, 0.7
|
||||
0.7, 0.1, 0.2
|
||||
0.8, 0.0, 0.8
|
||||
0.9, 0.1, 0.5
|
||||
1.2, 0.0, 0.1
|
||||
|
||||
0.0318411, 7.77455, 0.2
|
||||
0.0629929, 7.9869, 0.15
|
||||
0.113914, 7.64209, 0.15
|
||||
0.202492, 7.37699, 0.15
|
||||
0.302725, 7.70893, 0.12
|
||||
0.447456, 7.77565, 0.12
|
||||
0.611685, 7.45768, 0.12
|
||||
0.813613, 7.19287, 0.12
|
||||
1.00822, 7.57813, 0.12
|
||||
1.24793, 7.31343, 0.12
|
||||
1.50635, 7.16818, 0.12
|
||||
1.74591, 6.99634, 0.12
|
||||
1.99795, 6.90414, 0.12
|
||||
2.25061, 6.41393, 0.12
|
||||
2.4958, 6.66666, 0.12
|
||||
2.75514, 5.93766, 0.12
|
||||
3.00753, 5.61992, 0.12
|
||||
3.26056, 4.89091, 0.12
|
||||
3.49414, 4.52005, 0.08
|
||||
3.75356, 3.73799, 0.08
|
||||
3.99425, 2.84974, 0.08
|
||||
4.30518, 1.35139, 0.08
|
||||
|
@ -2,18 +2,16 @@ Test superconductor data
|
||||
###############################################################
|
||||
FITPARAMETER
|
||||
# Nr. Name Value Step Pos_Error Boundaries
|
||||
1 lambdaInvSq0 11.69 0.39 none
|
||||
2 Tc 0.558 0.018 none 0 2
|
||||
3 Delta0 0.0673 0.0035 none
|
||||
4 aG 1 0 none
|
||||
1 lambdaInvSq0 7.983 -0.042 0.042
|
||||
2 Tc 4.470 -0.015 0.016 0 5
|
||||
3 Delta0 1.547 -0.026 0.027
|
||||
4 c0 1.468 0 none
|
||||
5 aG 1.33333 0 none
|
||||
|
||||
###############################################################
|
||||
THEORY
|
||||
asymmetry 1
|
||||
userFcn libGapIntegrals TGapSWave 2 3 4
|
||||
|
||||
###############################################################
|
||||
#FUNCTIONS
|
||||
userFcn libGapIntegrals TGapDWave 2 3 4 5
|
||||
|
||||
###############################################################
|
||||
RUN data/libGapIntegrals-test PIM3 PSI ASCII (name beamline institute data-file-format)
|
||||
@ -26,15 +24,15 @@ packing 1
|
||||
###############################################################
|
||||
COMMANDS
|
||||
MINIMIZE
|
||||
HESSE
|
||||
#MINOS
|
||||
#HESSE
|
||||
MINOS
|
||||
SAVE
|
||||
|
||||
###############################################################
|
||||
PLOT 8 (non muSR plot)
|
||||
runs 1
|
||||
range 0 1.5
|
||||
range 0 6
|
||||
|
||||
###############################################################
|
||||
STATISTIC --- 2014-10-28 10:40:31
|
||||
chisq = 14.3, NDF = 8, chisq/NDF = 1.790471
|
||||
STATISTIC --- 2015-06-25 08:39:03
|
||||
chisq = 58.3, NDF = 19, chisq/NDF = 3.066272
|
||||
|
BIN
src/external/libGapIntegrals/GapIntegrals.pdf
vendored
BIN
src/external/libGapIntegrals/GapIntegrals.pdf
vendored
Binary file not shown.
69
src/external/libGapIntegrals/GapIntegrals.tex
vendored
69
src/external/libGapIntegrals/GapIntegrals.tex
vendored
@ -12,6 +12,7 @@
|
||||
\usepackage{rotating}
|
||||
\usepackage{dcolumn}
|
||||
\usepackage{geometry}
|
||||
\usepackage{color}
|
||||
|
||||
\geometry{a4paper,left=20mm,right=20mm,top=20mm,bottom=20mm}
|
||||
|
||||
@ -72,7 +73,7 @@ E-Mail: & \verb?andreas.suter@psi.ch? &&
|
||||
%
|
||||
\section*{\musrfithead plug-in for the calculation of the temperature dependence of $\bm{1/\lambda^2}$ for various gap symmetries}%
|
||||
|
||||
This memo is intended to give a short summary of the background on which the \gapint plug-in for \musrfit \cite{musrfit} has been developped. The aim of this implementation is the efficient calculation of integrals of the form
|
||||
This memo is intended to give a short summary of the background on which the \gapint plug-in for \musrfit \cite{musrfit} has been developed. The aim of this implementation is the efficient calculation of integrals of the form
|
||||
\begin{equation}\label{int}
|
||||
I(T) = 1 + \frac{1}{\pi}\int_0^{2\pi}\int_{\Delta(\varphi,T)}^{\infty}\left(\frac{\partial f}{\partial E}\right) \frac{E}{\sqrt{E^2-\Delta^2(\varphi,T)}}\mathrm{d}E\mathrm{d}\varphi\,,
|
||||
\end{equation}
|
||||
@ -104,18 +105,27 @@ For the numerical integration we use algorithms of the \textsc{Cuba} library \ci
|
||||
\subsection*{Implemented gap functions and function calls from MUSRFIT}
|
||||
Currently the calculation of $\tilde{I}(T)$ is implemented for various gap functions.
|
||||
The temperature dependence of the gap functions is either given by Eq.(\ref{eq:gapT_Prozorov}) \cite{Prozorov}, or by Eq.(\ref{eq:gapT_Manzano}) \cite{Manzano}.
|
||||
|
||||
\vspace{2mm}
|
||||
|
||||
\noindent \color{red}\textbf{A few words of warning:~}\color{black} The temperature dependence of the gap function is typically derived from within the BCS framework,
|
||||
and strongly links $T_c$ and $\Delta_0$ (e.g.\xspace $\Delta_0 = 1.76\, k_{\rm B} T_c$ for an s-wave superconductor). In a self-consistent
|
||||
description this would mean that $\Delta_0$ of $\Delta(\varphi)$ is locked to $T_c$ as well. In the implementation provided, this limitation
|
||||
is lifted, and therefore the \emph{user} should judge and question the result if the ratio $\Delta_0/(k_{\rm B}T_c)$ is strongly deviating from
|
||||
BCS values!
|
||||
|
||||
\begin{equation}\label{eq:gapT_Prozorov}
|
||||
\Delta(\varphi,T) \simeq \Delta(\varphi,0)\,\tanh\left[\frac{\pi k_{\rm B} T_{\rm c}}{\Delta_0}\sqrt{a_{\rm G} \left(\frac{T_{\rm c}}{T}-1\right)}\right]
|
||||
\Delta(\varphi,T) \simeq \Delta(\varphi)\,\tanh\left[c_0\,\sqrt{a_{\rm G} \left(\frac{T_{\rm c}}{T}-1\right)}\right]
|
||||
\end{equation}
|
||||
\noindent with $\Delta_0$ as given below, and $a_{\rm G}$ depends on the pairing state:
|
||||
\noindent with $\Delta(\varphi)$ as given below, and $c_0$ and $a_{\rm G}$ depends on the pairing state:
|
||||
|
||||
\begin{description}
|
||||
\item [\textit{s}-wave:] $a_{\rm G}=1$ \qquad with $\Delta_0 = 1.76\, k_{\rm B} T_c$
|
||||
\item [\textit{d}-wave:] $a_{\rm G}=4/3$ \quad with $\Delta_0 = 2.14\, k_{\rm B} T_c$
|
||||
\item [\textit{s}-wave:] $a_{\rm G}=1$ \qquad with $c_0 = \frac{\displaystyle\pi k_{\rm B} T_{\rm c}}{\displaystyle\Delta_0} = \pi/1.76 = 1.785$
|
||||
\item [\textit{d}-wave:] $a_{\rm G}=4/3$ \quad with $c_0 = \frac{\displaystyle\pi k_{\rm B} T_{\rm c}}{\displaystyle\Delta_0} = \pi/2.14 = 1.468$
|
||||
\end{description}
|
||||
|
||||
\begin{equation}\label{eq:gapT_Manzano}
|
||||
\Delta(\varphi,T) \simeq \Delta(\varphi)\tanh\left(1.82\left(1.018\left(\frac{T_{\mathrm c}}{T}-1\right)\right)^{0.51}\right)\,.
|
||||
\Delta(\varphi,T) \simeq \Delta(\varphi)\tanh\left[1.82\left(1.018\left(\frac{T_{\mathrm c}}{T}-1\right)\right)^{0.51}\right]\,.
|
||||
\end{equation}
|
||||
The \gapint plug-in calculates $\tilde{I}(T)$ for the following $\Delta(\varphi)$:
|
||||
|
||||
@ -124,37 +134,39 @@ The \gapint plug-in calculates $\tilde{I}(T)$ for the following $\Delta(\varphi)
|
||||
\begin{equation}
|
||||
\Delta(\varphi) = \Delta_0
|
||||
\end{equation}
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapSWave 1 2 [3]?\\
|
||||
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
|
||||
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapSWave 1 2 [3 4]?\\[1.5ex]
|
||||
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[c_0~(1),~ a_{\rm G}~(1)]$. If $c_0$ and $a_{\rm G}$ are provided,
|
||||
the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
|
||||
\item[\textit{d}-wave gap \cite{Deutscher}:]
|
||||
\begin{equation}
|
||||
\Delta(\varphi) = \Delta_0\cos\left(2\varphi\right)
|
||||
\end{equation}
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapDWave 1 2 [3]?\\
|
||||
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
|
||||
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapDWave 1 2 [3 4]?\\[1.5ex]
|
||||
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[c_0~(1),~a_{\rm G}~(1)]$. If $c_0$ and $a_{\rm G}$ are provided,
|
||||
the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
|
||||
\item[non-monotonic \textit{d}-wave gap \cite{Matsui}:]
|
||||
\begin{equation}
|
||||
\Delta(\varphi) = \Delta_0\left[a \cos\left(2\varphi\right) + (1-a)\cos\left(6\varphi\right)\right]
|
||||
\end{equation}
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapNonMonDWave1 1 2 3 [4]?\\
|
||||
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
|
||||
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapNonMonDWave1 1 2 3 [4 5]?\\[1.5ex]
|
||||
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $[c_0~(1),~a_{\rm G}~(1)]$. If $c_0$ and $a_{\rm G}$ are provided,
|
||||
the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
|
||||
\item[non-monotonic \textit{d}-wave gap \cite{Eremin}:]
|
||||
\begin{equation}
|
||||
\Delta(\varphi) = \Delta_0\left[\frac{2}{3} \sqrt{\frac{a}{3}}\cos\left(2\varphi\right) / \left( 1 + a\cos^2\left(2\varphi\right)\right)^{\frac{3}{2}}\right],\,a>1/2
|
||||
\end{equation}
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapNonMonDWave2 1 2 3 [4]?\\
|
||||
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $a~(1)$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
|
||||
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapNonMonDWave2 1 2 3 [4 5]?\\[1.5ex]
|
||||
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $a~(1)$, $[c_0~(1),~a_{\rm G}~(1)]$.
|
||||
If $c_0$ and $a_{\rm G}$ are provided, the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used,
|
||||
otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
|
||||
\item[anisotropic \textit{s}-wave gap \cite{AnisotropicSWave}:]
|
||||
\begin{equation}
|
||||
\Delta(\varphi) = \Delta_0\left[1+a\cos\left(4\varphi\right)\right]\,,\,0\leqslant a\leqslant1
|
||||
\end{equation}
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapAnSWave 1 2 3 [4]?\\
|
||||
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
|
||||
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapAnSWave 1 2 3 [4 5]?\\[1.5ex]
|
||||
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $[c_0~(1),~a_{\rm G}~(1)]$.
|
||||
If $c_0$ and $a_{\rm G}$ are provided, the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used,
|
||||
otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
|
||||
\end{description}
|
||||
|
||||
\noindent It is also possible to calculate a power law temperature dependence (in the two fluid approximation $n=4$) and the dirty \textit{s}-wave expression.
|
||||
@ -164,16 +176,16 @@ Obviously for this no integration is needed.
|
||||
\begin{equation}
|
||||
\frac{\lambda(0)^2}{\lambda(T)^2} = 1-\left(\frac{T}{T_{\mathrm c}}\right)^n
|
||||
\end{equation}
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapPowerLaw 1 2?\\
|
||||
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $n~(1)$)
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapPowerLaw 1 2?\\[1.5ex]
|
||||
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $n~(1)$
|
||||
\item[dirty \textit{s}-wave \cite{Tinkham}:]
|
||||
\begin{equation}
|
||||
\frac{\lambda(0)^2}{\lambda(T)^2} = \frac{\Delta(T)}{\Delta_0}\,\tanh\left[\frac{\Delta(T)}{2 k_{\rm B} T}\right]
|
||||
\end{equation}
|
||||
with $\Delta(T)$ given by Eq.(\ref{eq:gapT}).\\
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapDirtySWave 1 2 [3]?\\
|
||||
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
|
||||
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
|
||||
\musrfit theory line: \verb?userFcn libGapIntegrals TGapDirtySWave 1 2 [3 4]?\\[1.5ex]
|
||||
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[c_0~(1),~a_{\rm G}~(1)]$.
|
||||
If $c_0$ and $a_{\rm G}$ are provided, the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used,
|
||||
otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
|
||||
\end{description}
|
||||
|
||||
\noindent Currently there are two gap functions to be found in the code which are \emph{not} documented here:
|
||||
@ -187,7 +199,8 @@ The \gapint library is free software; you can redistribute it and/or modify it u
|
||||
\bibliographystyle{plain}
|
||||
\begin{thebibliography}{1}
|
||||
|
||||
\bibitem{musrfit} A.~Suter, \textit{\musrfit User Manual}, https://wiki.intranet.psi.ch/MUSR/MusrFit
|
||||
\bibitem{musrfit} A. Suter, and B.M. Wojek, Physics Procedia \textbf{30}, 69 (2012).
|
||||
A.~Suter, \textit{\musrfit User Manual}, http://lmu.web.psi.ch/musrfit/user/MUSR/WebHome.html
|
||||
\bibitem{cuba} T.~Hahn, \textit{Cuba -- a library for multidimensional numerical integration}, Comput.~Phys.~Commun.~\textbf{168}~(2005)~78-95, http://www.feynarts.de/cuba/
|
||||
\bibitem{Prozorov} R.~Prozorov and R.W.~Giannetta, \textit{Magnetic penetration depth in unconventional superconductors}, Supercond.\ Sci.\ Technol.\ \textbf{19}~(2006)~R41-R67, and Erratum in Supercond.\ Sci.\ Technol.\ \textbf{21}~(2008)~082003.
|
||||
\bibitem{Manzano} A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
|
83
src/external/libGapIntegrals/TGapIntegrals.cpp
vendored
83
src/external/libGapIntegrals/TGapIntegrals.cpp
vendored
@ -459,10 +459,12 @@ TLambdaInvNonMonDWave2::~TLambdaInvNonMonDWave2() {
|
||||
*/
|
||||
double TGapSWave::operator()(double t, const vector<double> &par) const {
|
||||
|
||||
assert((par.size() == 2) || (par.size() == 3)); // two or three parameters: Tc (K), Delta(0) (meV), [a (1)]
|
||||
// 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 3 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// parameters: [0] Tc (K), [1] Delta0 (meV), [[2] c0 (1), [3] aG (1)]
|
||||
|
||||
assert((par.size() == 2) || (par.size() == 4)); // 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
|
||||
// c0 in the original context is c0 = (pi kB Tc) / Delta0
|
||||
if (t<=0.0)
|
||||
return 1.0;
|
||||
else if (t >= par[0])
|
||||
@ -509,7 +511,7 @@ double TGapSWave::operator()(double t, const vector<double> &par) const {
|
||||
if (par.size() == 2) { // Carrington/Manzano
|
||||
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
|
||||
} else { // Prozorov/Giannetta
|
||||
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[2]*(par[0]/t-1.0)))); // tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
|
||||
intPar.push_back(par[1]*tanh(par[2]*sqrt(par[3]*(par[0]/t-1.0)))); // Delta0*tanh(c0*sqrt(aG*(Tc/T-1)))
|
||||
}
|
||||
|
||||
fGapIntegral->SetParameters(intPar);
|
||||
@ -536,10 +538,12 @@ double TGapSWave::operator()(double t, const vector<double> &par) const {
|
||||
*/
|
||||
double TGapDWave::operator()(double t, const vector<double> &par) const {
|
||||
|
||||
assert((par.size() == 2) || (par.size() == 3)); // two or three parameters: Tc (K), Delta(0) (meV), [a (1)]
|
||||
// 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 3 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// parameters: [0] Tc (K), [1] Delta0 (meV), [[2] c0 (1), [3] aG (1)]
|
||||
|
||||
assert((par.size() == 2) || (par.size() == 4)); // 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
|
||||
// c0 in the original context is c0 = (pi kB Tc) / Delta0
|
||||
if (t<=0.0)
|
||||
return 1.0;
|
||||
else if (t >= par[0])
|
||||
@ -585,7 +589,7 @@ double TGapDWave::operator()(double t, const vector<double> &par) const {
|
||||
if (par.size() == 2) { // Carrington/Manzano
|
||||
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
|
||||
} else { // Prozorov/Giannetta
|
||||
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[2]*(par[0]/t-1.0)))); // tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
|
||||
intPar.push_back(par[1]*tanh(par[2]*sqrt(par[3]*(par[0]/t-1.0)))); // Delta0*tanh(c0*sqrt(aG*(Tc/T-1)))
|
||||
}
|
||||
intPar.push_back(4.0*(t+intPar[1])); // upper limit of energy-integration: cutoff energy
|
||||
intPar.push_back(TMath::PiOver2()); // upper limit of phi-integration
|
||||
@ -618,9 +622,10 @@ double TGapDWave::operator()(double t, const vector<double> &par) const {
|
||||
*/
|
||||
double TGapCosSqDWave::operator()(double t, const vector<double> &par) const {
|
||||
|
||||
assert((par.size() == 3) || (par.size() == 5)); // three or five parameters: Tc (K), DeltaD(0) (meV), DeltaS(0) (meV), [aD (1), aS (1)]
|
||||
// 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 5 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// parameters: [0] Tc (K), [1] Delta0_D (meV), [2] Delta0_S (meV) [[3] c0_D (1), [4] aG_D (1), [5] c0_S (1), [6] aG_S (1)]
|
||||
|
||||
assert((par.size() == 3) || (par.size() == 7)); // 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 7 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
|
||||
if (t<=0.0)
|
||||
return 1.0;
|
||||
@ -667,14 +672,14 @@ double TGapCosSqDWave::operator()(double t, const vector<double> &par) const {
|
||||
if (par.size() == 3) { // Carrington/Manzano
|
||||
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
|
||||
} else { // Prozorov/Giannetta
|
||||
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[3]*(par[0]/t-1.0)))); // DeltaD(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
|
||||
intPar.push_back(par[1]*tanh(par[3]*sqrt(par[4]*(par[0]/t-1.0)))); // Delta0_D*tanh(c0_D*sqrt(aG_D*(Tc/T-1)))
|
||||
}
|
||||
intPar.push_back(1.0*(t+intPar[1])); // upper limit of energy-integration: cutoff energy
|
||||
intPar.push_back(TMath::Pi()); // upper limit of phi-integration
|
||||
if (par.size() == 3) { // Carrington/Manzano
|
||||
intPar.push_back(par[2]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
|
||||
} else { // Prozorov/Giannetta
|
||||
intPar.push_back(par[2]*tanh(0.2707214816*par[0]/par[2]*sqrt(par[4]*(par[0]/t-1.0)))); // DeltaS(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
|
||||
intPar.push_back(par[2]*tanh(par[5]*sqrt(par[6]*(par[0]/t-1.0)))); // Delta0_S*tanh(c0_S*sqrt(aG_S*(Tc/T-1)))
|
||||
}
|
||||
|
||||
// double xl[] = {0.0, 0.0}; // lower bound E, phi
|
||||
@ -705,10 +710,12 @@ double TGapCosSqDWave::operator()(double t, const vector<double> &par) const {
|
||||
*/
|
||||
double TGapSinSqDWave::operator()(double t, const vector<double> &par) const {
|
||||
|
||||
assert((par.size() == 3) || (par.size() == 5)); // three or five parameters: Tc (K), DeltaD(0) (meV), DeltaS(0) (meV), [aD (1), aS (1)]
|
||||
// 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 5 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// parameters: [0] Tc (K), [1] Delta0_D (meV), [2] Delta0_S (meV) [[3] c0_D (1), [4] aG_D (1), [5] c0_S (1), [6] aG_S (1)]
|
||||
|
||||
assert((par.size() == 3) || (par.size() == 7)); // 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 7 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
|
||||
// c0 in the original context is c0 = (pi kB Tc) / Delta0
|
||||
if (t<=0.0)
|
||||
return 1.0;
|
||||
else if (t >= par[0])
|
||||
@ -754,14 +761,14 @@ double TGapSinSqDWave::operator()(double t, const vector<double> &par) const {
|
||||
if (par.size() == 3) { // Carrington/Manzano
|
||||
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
|
||||
} else { // Prozorov/Giannetta
|
||||
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[3]*(par[0]/t-1.0)))); // DeltaD(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
|
||||
intPar.push_back(par[1]*tanh(par[3]*sqrt(par[4]*(par[0]/t-1.0)))); // Delta0_D*tanh(c0_D*sqrt(aG_D*(Tc/T-1)))
|
||||
}
|
||||
intPar.push_back(1.0*(t+intPar[1])); // upper limit of energy-integration: cutoff energy
|
||||
intPar.push_back(TMath::Pi()); // upper limit of phi-integration
|
||||
if (par.size() == 3) { // Carrington/Manzano
|
||||
intPar.push_back(par[2]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
|
||||
} else { // Prozorov/Giannetta
|
||||
intPar.push_back(par[2]*tanh(0.2707214816*par[0]/par[2]*sqrt(par[4]*(par[0]/t-1.0)))); // DeltaS(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
|
||||
intPar.push_back(par[2]*tanh(par[5]*sqrt(par[6]*(par[0]/t-1.0)))); // Delta0_S*tanh(c0_S*sqrt(aG_S*(Tc/T-1)))
|
||||
}
|
||||
|
||||
// double xl[] = {0.0, 0.0}; // lower bound E, phi
|
||||
@ -792,10 +799,13 @@ double TGapSinSqDWave::operator()(double t, const vector<double> &par) const {
|
||||
*/
|
||||
double TGapAnSWave::operator()(double t, const vector<double> &par) const {
|
||||
|
||||
assert((par.size() == 3) || (par.size() == 4)); // three or four parameters: Tc (K), Delta(0) (meV), a (1), [aS_Gap (1)]
|
||||
// 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// parameters: [0] Tc (K), [1] Delta0 (meV), [2] a (1), [[3] c0 (1), [4] aG (1)]
|
||||
|
||||
assert((par.size() == 3) || (par.size() == 5)); // 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 5 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
|
||||
// c0 in the original context is c0 = (pi kB Tc) / Delta0
|
||||
|
||||
if (t<=0.0)
|
||||
return 1.0;
|
||||
else if (t >= par[0])
|
||||
@ -841,7 +851,7 @@ double TGapAnSWave::operator()(double t, const vector<double> &par) const {
|
||||
if (par.size() == 3) { // Carrington/Manzano
|
||||
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
|
||||
} else { // Prozorov/Giannetta
|
||||
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[3]*(par[0]/t-1.0)))); // DeltaS(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
|
||||
intPar.push_back(par[1]*tanh(par[3]*sqrt(par[4]*(par[0]/t-1.0)))); // Delta0*tanh(c0*sqrt(aG*(Tc/T-1)))
|
||||
}
|
||||
intPar.push_back(par[2]);
|
||||
intPar.push_back(4.0*(t+(1.0+par[2])*intPar[1])); // upper limit of energy-integration: cutoff energy
|
||||
@ -875,10 +885,12 @@ double TGapAnSWave::operator()(double t, const vector<double> &par) const {
|
||||
*/
|
||||
double TGapNonMonDWave1::operator()(double t, const vector<double> &par) const {
|
||||
|
||||
assert((par.size() == 3) || (par.size() == 4)); // three or four parameters: Tc (K), Delta(0) (meV), a (1), [aD_Gap (1)]
|
||||
// 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// parameters: [0] Tc (K), [1] Delta0 (meV), [2] a (1), [[3] c0 (1), [4] aG (1)]
|
||||
|
||||
assert((par.size() == 3) || (par.size() == 5)); // 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 5 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
|
||||
// c0 in the original context is c0 = (pi kB Tc) / Delta0
|
||||
if (t<=0.0)
|
||||
return 1.0;
|
||||
else if (t >= par[0])
|
||||
@ -924,7 +936,7 @@ double TGapNonMonDWave1::operator()(double t, const vector<double> &par) const {
|
||||
if (par.size() == 3) { // Carrington/Manzano
|
||||
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
|
||||
} else { // Prozorov/Giannetta
|
||||
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[3]*(par[0]/t-1.0)))); // DeltaD(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
|
||||
intPar.push_back(par[1]*tanh(par[3]*sqrt(par[4]*(par[0]/t-1.0)))); // Delta0*tanh(c0*sqrt(aG*(Tc/T-1)))
|
||||
}
|
||||
intPar.push_back(par[2]);
|
||||
intPar.push_back(4.0*(t+intPar[1])); // upper limit of energy-integration: cutoff energy
|
||||
@ -955,10 +967,12 @@ double TGapNonMonDWave1::operator()(double t, const vector<double> &par) const {
|
||||
*/
|
||||
double TGapNonMonDWave2::operator()(double t, const vector<double> &par) const {
|
||||
|
||||
assert((par.size() == 3) || (par.size() == 4)); // three parameters: Tc (K), Delta(0) (meV), a (1), [aD_Gap (1)]
|
||||
// 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// parameters: [0] Tc (K), [1] Delta0 (meV), [2] a (1), [[3] c0 (1), [4] aG (1)]
|
||||
|
||||
assert((par.size() == 3) || (par.size() == 5)); // 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 5 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
|
||||
// c0 in the original context is c0 = (pi kB Tc) / Delta0
|
||||
if (t<=0.0)
|
||||
return 1.0;
|
||||
else if (t >= par[0])
|
||||
@ -1004,7 +1018,7 @@ double TGapNonMonDWave2::operator()(double t, const vector<double> &par) const {
|
||||
if (par.size() == 3) { // Carrington/Manzano
|
||||
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
|
||||
} else { // Prozorov/Giannetta
|
||||
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[3]*(par[0]/t-1.0)))); // DeltaD(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
|
||||
intPar.push_back(par[1]*tanh(par[3]*sqrt(par[4]*(par[0]/t-1.0)))); // Delta0*tanh(c0*sqrt(aG*(Tc/T-1)))
|
||||
}
|
||||
intPar.push_back(par[2]);
|
||||
intPar.push_back(4.0*(t+intPar[1])); // upper limit of energy-integration: cutoff energy
|
||||
@ -1056,9 +1070,10 @@ double TGapPowerLaw::operator()(double t, const vector<double> &par) const {
|
||||
*/
|
||||
double TGapDirtySWave::operator()(double t, const vector<double> &par) const {
|
||||
|
||||
assert((par.size() == 2) || (par.size() == 3)); // two or three parameters: Tc (K), Delta(0) (meV) [a (1)]
|
||||
// 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 3 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// parameters: [0] Tc (K), [1] Delta0 (meV), [[2] c0 (1), [3] aG (1)]
|
||||
|
||||
assert((par.size() == 2) || (par.size() == 4)); // 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
|
||||
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
|
||||
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
|
||||
if (t<=0.0)
|
||||
return 1.0;
|
||||
@ -1069,7 +1084,7 @@ double TGapDirtySWave::operator()(double t, const vector<double> &par) const {
|
||||
if (par.size() == 2) { // Carrington/Manzano
|
||||
deltaT = tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51));
|
||||
} else { // Prozorov/Giannetta
|
||||
deltaT = tanh(0.2707214816*par[0]/par[1]*sqrt(par[2]*(par[0]/t-1.0))); // tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
|
||||
deltaT = tanh(par[2]*sqrt(par[3]*(par[0]/t-1.0))); // tanh(c0*sqrt(aG*(Tc/T-1)))
|
||||
}
|
||||
|
||||
return deltaT*tanh(par[1]*deltaT/(0.172346648*t)); // Delta(T)/Delta(0)*tanh(Delta(T)/2 kB T), kB in meV/K
|
||||
|
Loading…
x
Reference in New Issue
Block a user