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/Action/Export.php on line 106

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/Action/Export.php on line 106

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/Action/Export.php on line 106
====== Parallel beam, thin-plate transmission ====== This is a collection of macros that are used to model the effects of a flat plate sample in transmission, either in asymmetric or symmetric geometry. There is a (nice) overview of their application in [1]. The required equations for reflection and capillary geometry are also reviewed, as are preferred orientation issues. Contributor: Matthew Rowles [1] [[http://dx.doi.org/10.1107/S1600576717000085|Rowles, M. R., and C. E. Buckley. 2017. "Aberration Corrections for Non-Bragg-Brentano Diffraction Geometries." Journal of Applied Crystallography 50 (1): 240-251.]]. ===== Master macros ===== These are probably the macros you'll actually put in your input files. They have all of the commonly used corrections. ''master macro to encapsulate all asymmetric transmission corrections in a single macro macro Asymmetric_Transmission(omega, omega_v, beam, beam_v, sd, sd_v, mu, mu_v, t, t_v) { Asymmetric_Transmission_Intensity_Correction(omega, omega_v, mu, mu_v, t, t_v) Asymmetric_Transmission_Absorption_Correction(omega, omega_v, mu, mu_v, t, t_v) Asymmetric_Transmission_Parallel_Footprint_Correction(omega, omega_v, beam, beam_v) Asymmetric_Transmission_Specimen_Displacement(omega, omega_v, sd, sd_v) } ''master macro to encapsulate all symmetric transmission corrections in a single macro macro Symmetric_Transmission(beam, beam_v, sd, sd_v, mu, mu_v, t, t_v) { Symmetric_Transmission_Intensity_Correction(mu, mu_v, t, t_v) Symmetric_Transmission_Absorption_Correction(t, t_v) Symmetric_Transmission_Parallel_Footprint_Correction(beam, beam_v) Symmetric_Transmission_Specimen_Displacement(sd, sd_v) } ===== The actual working macros ===== These are the macros that actually do the maths. ''Intensity correction in asymmetric transmission - equation 22 macro Asymmetric_Transmission_Intensity_Correction(omega, omega_v, mu, mu_v, t, t_v) { #m_argu omega ''in degrees #m_argu mu ''in cm^-1 #m_argu t ''in mm If_Prm_Eqn_Rpt(omega, omega_v, min 0.0001 max 90) If_Prm_Eqn_Rpt(mu, mu_v, min 3 max 500) If_Prm_Eqn_Rpt(t, t_v, min 0.001 max 5) prm #m_unique beta = (180 - ((2 Th) Rad + CeV(omega, omega_v))); '' in degrees prm #m_unique mu_s = CeV(mu, mu_v) / 10; ''converts cm^-1 --> mm^-1 for dimensional consistency scale_pks = 2 Exp(-mu_s CeV(t, t_v) / Sin(beta Deg)) (Sin(beta Deg) / (Sin(CeV(omega, omega_v) Deg) - Sin(beta Deg))) (Exp(-mu_s CeV(t, t_v) (Sin(beta Deg) - Sin(CeV(omega, omega_v) Deg)) / (Sin(CeV(omega, omega_v) Deg) Sin(beta Deg))) - 1); } ''Intensity correction in symmetric transmission - equation 24 macro Symmetric_Transmission_Intensity_Correction(mu, mu_v, t, t_v) { #m_argu mu ''in cm^-1 #m_argu t ''in mm If_Prm_Eqn_Rpt(mu, mu_v, min 3 max 500) If_Prm_Eqn_Rpt(t, t_v, min 0.001 max 5) prm #m_unique mu_s = CeV(mu, mu_v) / 10; ''converts cm^-1 --> mm^-1 for dimensional consistency scale_pks = (2 mu_s CeV(t, t_v) Exp(-mu_s CeV(t, t_v) / Cos(Th))) / Cos(Th); } ''Relative intensity scaling for buried layers in asymmetric transmission geometry -- Equation 25 macro Asymmetric_Transmission_Intensity_Correction_for_prelayers(omega, omega_v, mu, mu_v, t, t_v) { #m_argu omega ''in degrees #m_argu mu ''in cm^-1 #m_argu t ''in mm If_Prm_Eqn_Rpt(omega, omega_v, min 0.0001 max 90) If_Prm_Eqn_Rpt(mu, mu_v, min 3 max 500) If_Prm_Eqn_Rpt(t, t_v, min 0.001 max 5) prm #m_unique mu_s = CeV(mu, mu_v) / 10; ''converts cm^-1 --> mm^-1 for dimensional consistency scale_pks = Exp((-mu_s CeV(t, t_v)) / Sin(CeV(omega, omega_v) Deg)) ; } ''Relative intensity scaling for buried layers in asymmetric transmission geometry -- Equation 26 macro Asymmetric_Transmission_Intensity_Correction_for_postlayers(omega, omega_v, mu, mu_v, t, t_v) { #m_argu omega ''in degrees #m_argu mu ''in cm^-1 #m_argu t ''in mm If_Prm_Eqn_Rpt(omega, omega_v, min 0.0001 max 90) If_Prm_Eqn_Rpt(mu, mu_v, min 3 max 500) If_Prm_Eqn_Rpt(t, t_v, min 0.001 max 5) prm #m_unique beta = (180 - ((2 Th) Rad + CeV(omega, omega_v))); '' in degrees prm #m_unique mu_s = CeV(mu, mu_v) / 10; ''converts cm^-1 --> mm^-1 for dimensional consistency scale_pks = Exp((-mu_s CeV(t, t_v)) / Sin(beta Deg) ; } ''Relative intensity scaling for buried layers in symmetric transmission geometry -- implied from Equation 25 & 26 macro Symmetric_Transmission_Intensity_Correction_for_prepostlayers(omega, omega_v, mu, mu_v, t, t_v) { #m_argu mu ''in cm^-1 #m_argu t ''in mm If_Prm_Eqn_Rpt(mu, mu_v, min 3 max 500) If_Prm_Eqn_Rpt(t, t_v, min 0.001 max 5) prm #m_unique mu_s = CeV(mu, mu_v) / 10; ''converts cm^-1 --> mm^-1 for dimensional consistency scale_pks = Exp((-mu_s CeV(t, t_v)) / Cos(Th)) ; } ''Line profile correction due to absorption in asymmetric transmission - equation 36 macro Asymmetric_Transmission_Absorption_Correction(omega, omega_v, mu, mu_v, t, t_v) { #m_argu omega ''in degrees #m_argu mu ''in cm^-1 #m_argu t ''in mm If_Prm_Eqn_Rpt(omega, omega_v, min 0.0001 max 90) If_Prm_Eqn_Rpt(mu, mu_v, min 3 max 500) If_Prm_Eqn_Rpt(t, t_v, min 0.001 max 5) prm #m_unique beta = (180 - ((2 Th) Rad + CeV(omega, omega_v))); '' in degrees prm #m_unique mu_s = CeV(mu, mu_v) / 10; ''converts cm^-1 --> mm^-1 for dimensional consistency prm #m_unique g = Exp(-mu_s ((X Rs/Sin(2 Th) Deg (Sin(CeV(omega, omega_v) Deg)/Sin(beta Deg) - 1) + (ts/Sin(beta Deg)))); user_defined_convolution =g; ''convolutions are automatically normalised min =(-CeV(t, t_v)/Rs) (Sin2 Th)/Sin(CeV(omega, omega_v) Deg)) Rad; max 0 } ''Line profile correction due to absorption in symmetric transmission - equation 37 macro Symmetric_Transmission_Absorption_Correction(t, t_v) { #m_argu t ''in mm If_Prm_Eqn_Rpt(t, t_v, min 0.001 max 5) prm #m_unique eps_min = (-2 CeV(t, t_v)/Rs) Sin(Th) Rad; user_defined_convolution = -1/eps_min; min =eps_min; max 0 } ''Line profile correction due to footprint in asymetric transmission - equation 38 macro Asymmetric_Transmission_Parallel_Footprint_Correction(omega, omega_v, beam, beam_v) { #m_argu omega ''in degrees #m_argu beam ''height in mm If_Prm_Eqn_Rpt(omega, omega_v, min 0.0001 max 90) If_Prm_Eqn_Rpt(beam, beam_v, min 0.001 max 5) prm #m_unique beta = (180 - ((2 Th) Rad + CeV(omega, omega_v))); '' in degrees hat = ((CeV(beam, beam_v) Sin(beta Deg)) / (Rs Sin(CeV(omega, omega_v) Deg))) Rad; } ''Line profile correction due to footprint in symetric transmission - implied by equation 38 macro Symmetric_Transmission_Parallel_Footprint_Correction(beam, beam_v) { #m_argu beam ''height in mm If_Prm_Eqn_Rpt(beam, beam_v, min 0.001 max 5) hat = (CeV(beam, beam_v)/ Rs) Rad; } ''Specimen displacement in asymmetric transmission -- equation 39 macro Asymmetric_Transmission_Specimen_Displacement(omega, omega_v, sd, sd_v) { #m_argu omega '' degrees #m_argu sd ''displacement of the sample in mm If_Prm_Eqn_Rpt(omega, omega_v, min 0.0001 max 90) If_Prm_Eqn_Rpt(sd, sd_v, min -2 max 2) th2_offset = (CeV(sd, sd_v) / Rs) (Sin(2 Th)/Sin(CeV(omega, omega_v) Deg)) Rad; } ''Specimen displacement in symmetric transmission -- equation 40 macro Symmetric_Transmission_Specimen_Displacement(sd, sd_v) { #m_argu sd ''displacement of the sample in mm If_Prm_Eqn_Rpt(sd, sd_v, min -2 max 2) th2_offset = (CeV(sd, sd_v) / Rs) (2 Sin(Th)) Rad; }