This peakshape function is designed to be used to fit time-of-flight peaks. In particular this function is the convolution of the Ikeda-Carpenter function (Ref [1]), which aims to model the neutron pulse shape from a moderator, and a pseudo-Voigt that models any broadening to the peak due to sample properties etc.

The convolution of the Ikeda-Carpenter function with psuedo-Voigt is (Ref [3])

\[N \left[ (1-\eta)\Omega_G + \eta \Omega_L \right]\]

where \(\Omega_G\) and \(\Omega_L\) are the Gaussian and Lorentzian parts of the function, respectively:

\[\Omega_G = N_u e^u erfc(y_u) + N_v e^v erfc(y_v) + N_s e^s erfc(y_s) + N_r e^r erfc(y_r)\]
\[\Omega_L = -\frac{2}{\pi} \left[ N_u Im[e^{z_u}E_1(z_u)] + N_v Im[e^{z_v}E_1(z_v)] + N_s Im[e^{z_s}E_1(z_s)] + N_r Im[e^{z_r}E_1(z_r)] \right]\]

\(erfc\) is the complementary error function, \(E_1\) is the complex exponential integral, and \(Im\) is the imaginary component.

The parameters used above are defined as (from Panel 13 of Ref [3]):

\[k = 0.05\]
\[\alpha^- = \alpha(1 - k)\]
\[\alpha^+ = \alpha(1 + k)\]
\[x = \alpha^- - \beta\]
\[y = \alpha - \beta\]
\[z = \alpha^+ - \beta\]
\[z_s = -\alpha dt + i\frac{1}{2} \alpha \gamma\]
\[z_u = -\alpha^- dt + i\frac{1}{2} \alpha^- \gamma = (1-k)z_s\]
\[z_v = -\alpha^+ dt + i\frac{1}{2} \alpha^+ \gamma = (1+k)z_s\]
\[z_r = -\beta dt + i\frac{1}{2} \beta \gamma\]
\[u = \frac{1}{2} \alpha^- (\alpha^- \sigma^2 - 2dt)\]
\[v = \frac{1}{2} \alpha^+ (\alpha^+ \sigma^2 - 2dt)\]
\[s = \frac{1}{2} \alpha (\alpha \sigma^2 - 2dt)\]
\[r = \frac{1}{2} \beta (\beta \sigma^2 - 2dt)\]
\[N = \frac{1}{4} \alpha \frac{(1-k^2)}{k^2}\]
\[N_u = 1 - R \frac{\alpha^-}{x}\]
\[N_v = 1 - R \frac{\alpha^+}{z}\]
\[N_s = -2(1 - R\frac{\alpha}{y})\]
\[N_r = 2R\alpha^2\beta \frac{k^2}{xyz}\]
\[y_u = \frac{ (\alpha^- \sigma^2 - dt) }{\sqrt{2\sigma^2}}\]
\[y_v = \frac{ (\alpha^+ \sigma^2 - dt) }{\sqrt{2\sigma^2}}\]
\[y_s = \frac{ (\alpha \sigma^2 - dt) }{\sqrt{2\sigma^2}}\]
\[y_r = \frac{ (\beta \sigma^2 - dt) }{\sqrt{2\sigma^2}}\]

where \(dt = T_i - T_h\) is the shift in microseconds with respect to the Bragg position, \(\alpha\) and \(\beta\) are the fast and slow neutron decay constants respectively, and \(R\) is a maxing coefficient that relates to the moderator temperature. \(\alpha\) and \(R\) are further modelled to depend on wavelength and using the notation in the Fullprof manual (Ref [2]). The refineable Ikeda-Carpenter parameters are Alpha0, Alpha1, Beta0 and Kappa and these are defined as

\[\beta = 1/\mbox{Beta0}\]
\[R = \exp (-81.799/(\mbox{Kappa}*\lambda^2))\]

, where \(\lambda\) is the neutron wavelength. In general when fitting a single peak it is not recommended to refine both Alpha0 and Alpha1 at the same time since these two parameters will effectively be 100% correlated because the wavelength over a single peak is likely effectively constant. All parameters are constrained to be non-negative.

The pseudo-Voigt function is defined as a linear combination of a Lorentzian and Gaussian and is a computational efficient way of calculation a Voigt function. The Voigt parameters are related to the pseudo-Voigt parameters through a relation (see Fullprof manual eq. (3.16) which in revision July2001 is missing a power 1/5). It is the two Voigt parameters which you can refine with this peakshape function: SigmaSquared (for the Gaussian part) and Gamma (for the Lorentzian part). Notice the Voigt Gaussian FWHM=SigmaSquared*8*ln(2) and the Voigt Lorentzian FWHM=Gamma.

For information about how to create instrument specific values for the parameters of this fitting function see CreateIkedaCarpenterParameters.

The implementation of the IkedaCarpenterPV peakshape function here follows the analytical expression for this function as presented in Panels 13-17 of Ref[3].


  1. S. Ikeda and J. M. Carpenter, Nuclear Inst. and Meth. in Phys. Res. A239, 536 (1985)

  2. Fullprof manual, see http://www.ill.eu/sites/fullprof/

  3. J. Rodriguez-Carvajal, Using FullProf to analyze Time of Flight Neutron Powder Diffraction data

The figure below illustrate this peakshape function fitted to a TOF peak:


Properties (fitting parameters)






The integrated intensity of the peak. I.e. approximately equal to HWHM times height of peak



Used to model fast decay constant



Used to model fast decay constant



Inverse of slow decay constant



Controls contribution of slow decay term



standard deviation squared (Voigt Guassian broadening)



Voigt Lorentzian broadening



Peak position

Categories: FitFunctions | Peak


C++ header: IkedaCarpenterPV.h

C++ source: IkedaCarpenterPV.cpp