This is an old revision of the document!


Lobanov Absorption Correction for TOF Neutrons

Description: This is the absorption correction used in GSAS formatted for TOF neutron diffraction

Comment: Lobanov absorption macro with calculated lambda for wavelength dependence of mu (as per GSAS manual). The macro can be edited to function with CW data with 'Lam' replacing 'lamda' and 'Sin(Th)' replacing 'sintheta'

Contributed by: Pamela Whitfield

Lf is the flightpath and two_theta the detector angle. The refinable parameter under each dataset is 'mu'

POWGEN flightpath is 60 metres with data focussed into a single dataset at 90 degrees.

Absorption is angle-dependent. For more conventional TOF instruments with multiple detector banks such as HRPD, two_theta (and maybe Lf) will differ for each bank by using 'local' variables as opposed to global 'prm' variables, e.g.

 TOF_XYE....
  local !two_theta 145
  local !Lf 25
  local mu 0 min 0
  Abs_Lobanov
 TOF_XYE....
  local !two_theta 90
  local !Lf 26
  local mu 0 min 0
  Abs_Lobanov
  macro Abs_Lobanov  
  {
  prm !Lf 60.183  ' POWGEN 90 degree flightpath
  prm !h_bar 6.626176e-34 ' Plank's constant
  prm !m_n 1.67495e-27 ' neutron mass
  prm !td_const = 10^4 h_bar/(m_n Lf);
  local !sintheta = Sin(Deg_on_2 two_theta);
  local !lambda = Xo 10^4 h_bar/(m_n Lf);
  local !k0 = 1.697653;
  local !k1 = (25.99978 - (0.01911 sintheta^0.5)Exp(-0.024514 sintheta^2)) + 0.109561 sintheta - 26.0456;
  local !k2 = -0.02489 - (0.39499 sintheta^2) + (1.219077 sintheta^3) - (1.31268 sintheta^4) + (0.871081 sintheta^5) - (0.2327 sintheta^6);
  local !k3 = 0.003045 + (0.018167 sintheta^2) - (0.03305 sintheta^4);
  local !k4 = 1.433902 + (11.07504 sintheta^2) - (8.77629 sintheta^4) + (10.02088 sintheta^6) - (3.36778 sintheta^8);
  local !k5 = ((0.013869 - 0.01249 sintheta^2)Exp(3.27094 sintheta^2)) + ((0.337894 + (13.77317 sintheta^2))/((1 + 11.53544 sintheta^2)^1.555039));
  local !k6 = (1.933433 / (1 + 23.12967 sintheta^2)^1.686715) - 0.13576 sintheta + 1.163198;
  local !k7 = 0.044365 - (0.04259/((1 + 0.41051 sintheta^2)^148.4202));
  scale_pks = If( (mu*lambda) < 3, Exp(-k0 (mu*lambda) - k1 (mu*lambda)^2 - k2 (mu*lambda)^3 - k3 (mu*lambda)^4),
			Exp((k4 - k7/(1 + k5 ((mu*lambda)-3))^k6)+k7)
			);				
  }

Personal Tools