Warning: Trying to access array offset on value of type null in /home/site/wwwroot/lib/plugins/move/action/rename.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /home/site/wwwroot/lib/plugins/move/action/rename.php:42) in /home/site/wwwroot/inc/actions.php on line 38
time_of_flight_tof_peak_fitting [topas wiki]

User Tools

Site Tools


time_of_flight_tof_peak_fitting

Time of Flight Peak Shape Fitting

Using a hkl_Is phase

A Pawley hkl_Is phase with a single peak can be inserted. The two numbers in the macro are the d-spacing of the peak and its intensity. You can change @ symbols for parameter names. The advantage of this method is that it uses the full tof convolutions which might be necessary for accurate peak shapes and therefore positions. Alan's methods below don't use these convolutions.

prm lor 0.54006`
prm dsp 51.70683`
prm !dspsq 0
tof_peak_fit( @, 2.92093`, @, 2.64961`)
 
macro tof_peak_fit(p1,v1,p2,v2) {
#m_argu p1
#m_argu p2
If_Prm_Eqn_Rpt(p1, v1, min =0.9*v1; max =1.1*v1;)
If_Prm_Eqn_Rpt(p2, v2, min .000000000001 max 1e9)
hkl_Is phase_name CeV(p1,v1) a =10*CeV(p1,v1); b 0.1 c 0.1 space_group "P1" load hkl_m_d_th2 I { 10 0 0 1 0.0 80114.92 =CeV(p2,v2); }
peak_type pv pv_lor =lor; pv_fwhm = dsp*CeV(p1,v1) + dspsq*CeV(p1,v1)^2;
}

[Note changed =CeV(p1,v1); to 0.0 after hklm values in macro as was getting crash in topas and d-spacing not needed/reported]

You can add a line like the one below to the macro to report tof:

prm = CeV(p1,v1)*difc_hrpd_bs+difa_hrpd_bs*CeV(p1,v1)^2+t0_hrpd_bs; : v3

TOF Peak fitting using d_Is or xo_Is phases

Alan Coelho 2011/08/25 19:15

d_Is phases can be used in TOF data as follows:

d_Is
   peak_type pv
   pv_lor @ .5
   pv_fwhm @ 200
   d 2 I 10000

If the peak is simply to describe a background anomaly then the TOF peak shape convolutions may not be wanted. In this case it’s possible to put the tof convolutions at the str level. In TEST_EXAMPLES\TOF_BANK2_1.INP this would look like:

TOF_XYE(R29187C_145_calc_2.xye, = Yobs_dx_at(Xo) .5;)
   TOF_LAM(0.001)
   TOF_x_axis_calibration(t0, 4.54166, t1, 6172.60684, t2, -2.15711)
   bkg @ 0 0 0 0 0 0 0 0 0 0 0
   finish_X 21000
   STR(Fm-3m) ' CeO2
      Cubic(5.402187)
      site Ce1 x  0.00  y 0.00  z 0.00 occ Ce 1 beq @ 0.5
      site O1  x  0.25  y 0.25  z 0.25 occ O  1 beq @ 0.5
      scale @ 1
      TOF_PV(@, 100, @, .5, t1)
 
      TOF_Exponential(a0, 100, ,0, 1, t1, -) ' Moved
      TOF_Exponential(b0, 100, b1, 100, 4, t1, +)  ' Moved
      scale_pks = D_spacing^4;  ' Moved
   d_Is
      peak_type pv
         pv_lor @ .5
         pv_fwhm @ 200
      d 2 I 10000

The text marked “Moved” is what was moved from the xdd level to the str level. The d_Is phase would therefore not have the TOF_Exponential convolutions applied nor the scale_pks applied.

xo_Is phases can also be used in TOF data but the pk_xo (inside the TOF_x_axis_calibration macro) needs to be moved to the str level. Additionally the No_Th_Dependence is necessary; ie.

TOF_XYE(...)
   TOF_LAM(0.001)
   str...
      TOF_PV(@, 100, @, .5, t1)
      TOF_x_axis_calibration(t0, 4.54166, t1, 6172.60684, t2, -2.15711)
      TOF_Exponential(a0, 100, ,0, 1, t1, -)
      TOF_Exponential(b0, 100, b1, 100, 4, t1, +)
   xo_Is
      No_Th_Dependence
      peak_type pv
         pv_lor @ .5
         pv_fwhm @ 200
      xo 12000 I 10000

In this way the xo value is not transformed according to pk_xo.

time_of_flight_tof_peak_fitting.txt · Last modified: 2022/11/03 15:08 by 127.0.0.1