Download presentation
Presentation is loading. Please wait.
1
Oliver Bauer 1), Sergey Subach 2), Giuseppe Mercurio 2), Frank Stefan Tautz 2), Moritz Sokolowski 1) 1) Institute for Physical and Theoretical Chemistry, University of Bonn, Wegelerstrasse 12, 53115 Bonn, Germany 2) Institute of Bio- and Nanosystems (IBN), Institute 3: Institute of Functional Nanostructures at Surfaces (IBN3), Forschungszentrum Jülich GmbH, 52425 Jülich, Germany SimXSW / FitXSW ORIGIN C based routines for X-ray standing Waves data simulation and fitting Version 1.0 Jülich, 17.06.2009
2
2 Outline 1.Manual / System Requirements 2.The Physics behind the Routine 3.Comparison to Jülich Code 4.Performance … to be discussed 5.Current Status … to be discussed
3
3 System Requirements Written and tested under OriginPro 8 SR4 –Downward compatibility to Origin 7.5 and lower? System currently in operation: –Intel ® Pentium ® 4 CPU, 3.20 GHz –1.00 GB RAM The faster your computer, the better … !
4
MANUAL
5
5 Manual The user is provided two *.c files: –SimXSW v1.0.c –FitXSW v1.0.c Both files have to be compiled with ORIGIN Code Builder (see below) every time ORIGIN is opened. Additionally two *.fdf files which contain the actual fitting routines for reflectivity and XSW absorption are provided: –XSW_ReflectivityFit_v1_0.fdf –XSW_AbsorptionProfileFit_v1_0.fdf Add these files to your NLSF fitting engine (only once): –Make a arbitrary graph layer (which actually shows data) active. –Go to Analysis > Fitting > Nonlinear Curve Fit > Open Dialog. –Hit “Create/Edit Fitting Functions” button. G. Brodén et al., Surf. Sci. 59, 593 611 (1976).
6
6 Manual –Get folder “--- User Defined ---” active and then click “New Category”. Choose a name for the folder which is to be created. –Afterwards, click “Add” and browse for the two *.fdf files, then hit “ok”. G. Brodén et al., Surf. Sci. 59, 593 611 (1976).
7
7 Manual: SimXSW How to use SimXSW ? –Open ORIGIN –Open “Code Builder” –Go to File > New Workspace, then open ”SimXSW*.c” –Hit File > Add to Workspace, then “Build” G. Brodén et al., Surf. Sci. 59, 593 611 (1976).
8
8 Manual: SimXSW –The “output window” should say something like… –Go back to ORIGIN and open the “Script Window” (Window > Script Window). –Type the name of the program (i.e. “SimXSW_v1_0”) and hit “enter”.
9
9 Manual: SimXSW –The program runs and keeps you updated in the Script Window. –You will be asked to select a parameter file; for that purpose an input box pops up: –Choose a parameter file and click “open”. The program continues… –An exemplary parameter file is provided with the source code of SimXSW. Do NOT change the overall appearance of the parameter file !
10
10 Manual: SimXSW –A second input box appears: Now you can decide on parameters such as coherent fraction and coherent position as well as width and center of the Gaussian function which is used to model the instrumental broadening and the substrate mosaicity: –Choose the parameters at your convenience and hit “ok”. –The program creates two workbooks and one graph: Book* - SimulationParameters: holds the default values for the above mentioned parameters (see screen print) and is updated to the values given by the user. Book* - Calculation: houses energy scale (X axis) as well as calculated data, i.e. theoretical reflectivity, phase Phi and XSW absoprtion profile (Y data). Furthermore the theoretical profiles are successively convoluted with the squared monochromator reflectivity (“ideal”) and a Gaussian function (“expected” in experiment). Graph* - Calculation: displays the simulated reflectivity curves and the simulated XSW absorption profiles.
11
11 Manual: SimXSW –This is what you get:
12
12 Manual: FitXSW How to use FitXSW ? –Open ORIGIN –Open “Code Builder” –Go to File > New Workspace, then open ”FitXSW*.c” –Hit File > Add to Workspace, then “Build” G. Brodén et al., Surf. Sci. 59, 593 611 (1976).
13
13 –The “output window” should say something like… –Go back to ORIGIN and open the “Script Window” (Window > Script Window). –Type the name of the program (i.e. “FitXSW_v1_0”) and hit “enter”. Manual: FitXSW
14
14 Manual: FitXSW –The program runs and keeps you updated in the Script Window. –You will be asked to select a parameter file; for that purpose an input box pops up: –Choose a parameter file and click “open”. The program continues… –An exemplary parameter file is provided with the source code of FitXSW. Do NOT change the overall appearance of the parameter file ! The parameter files for SimXSW and FitXSW are fully compatible.
15
15 Manual: FitXSW –The program does some calculations. Then a second input box appears: Please select an input file which holds the experimental reflectivity data.
16
16 Manual: FitXSW –Please be patient, the fits may take a couple of minutes. After the fit is done, the fit results are pasted to the “Script Window” and to the Graph “ExpReflectivity” which holds the experimental data. Also the fit curve itself is copied to column 8 of Workbook “ExpReflectivity”. –A third dialog box opens where you can select the input file for the exp. XSW absorption profile data:
17
17 Manual: FitXSW –After the exp. data are read in, the user is asked – in a fourth dialog box - to decide on appropriate start values for the fit of the exp. XSW absorption profile. Furthermore, the user may change the default settings (see screen print below) which parameters are fixed and which are free:
18
18 Manual: FitXSW –Again, the fit to the exp. data may take a short while. After completion of the fit, the results are written to the Script Window, plotted in Graph “ExpXSWProfile” and the fitted data points are stored in Workbook “ExpXSWProfile”.
19
19 Manual: FitXSW –The following Workbooks and Graphes are created by FitXSW: Workbook “ExpReflectivity”: holds the experimental data for the reflectivity and the fit result as well as the normalised curves. Graph “ExpReflectivity”: displays exp. Reflectivity data and the respective fit curve incl. the fit parameters. Workbook “ExpXSWProfile”: holds the experimental data for the XSW absorption profile and the fit result as well as the normalised curves. Graph “ExpXSWProfile”: displays exp. XSW absorption profile data and the respective fit curve incl. the fit parameters. Workbook “FitParameters”: stores all parameters which were used / fitted during the FitXSW session, including the respective errors. Graph “Result”: shows the normalised exp. curves and the normalised fit curves. The most interesting fit parameters are shown, too.
20
20 Manual: FitXSW –This is the final “Result” Graph:
21
The Physics behind… Literature: (1)B.W. Batterman, H. Cole, Reviews of Modern Physics 36 (1964) 681-717. (2)J. Zegenhagen, Surface Science Reports 18 (1993) 199-271. (3)D.P. Woodruff, Progress in Surface Science 57 (1998) 1-60. (4)D.P. Woodruff, Reports on Progress in Physics 68 (2005) 743- 798.
22
22 The Physics behind… The reflectivity curve is computed as (1-4): where eta is (in terms of photon energy): eta is a complex number since the structure factors are complex. Polarisation P is taken as cos(2 * Bragg ) (normal incidence => polarisation, P = 1). The above formula is only valid for centrosymmetric crystals since the pre-factor F H / F -H is omitted = 1 for centrosymmetric crystals
23
23 The phase shift (named Phi in source code…) between the incoming and the outgoing X-ray plane wave is computed as (1-4): where is : and The Physics behind… conditions are inverted in source code: ( ) → (E)
24
24 The Physics behind… The XSW absorption profile as a function of coherent fraction and coherent position is taken as (3,4): where and are : p and l are the partial phase shifts for the outgoing p- and d-waves, respectively (photoemission from an s-state). = S R = |S I |
25
25 The Physics behind… For reflectivity and XSW absorption profile data, the fit is done as a convolution of the theoretical curve f with a Gaussian g (width wG, center xcG): The Gaussian resembles the instrumental broadening due to substrate mosaicity, X- ray beam energy spread etc. Energy spread is NOT (YET) EXPLICITLY mimiced by a convolution with the squared monochromator reflectivity. Computational details: The integral is explicitly solved for the exp. photon energy range plus 2.5 eV in both directions (lower / higher photon energy); this avoids artefacts in the fit result on the boundaries of the exp. energy range. Stepsize d is chosen to be 0.1 eV or equal to the exp. photon energy stepsize if the latter is smaller than 0.1 eV. Computation costs about 1 min per 10 data points and per fit on an Intel ® Pentium ® 4 CPU, 3.20 GHz, with 1.00 GB RAM. Allow the fit to a typical experimental data set (about 50 points) to take around 2 * 50 points * 1 min / 10 points = 10 min in total …
26
Comparison to Jülich Code
27
27 Comparison …
28
28 Comparison … Jülich Code: –Pro: Graphical interface Faster Longer evolution time → less errors? Differential Analysis: Fit of reflectivity curve does not need to be repeated for every differential XSW absorption profile fit. –To be improved: Shift in exp. photon energy scale not yet included in the fit. During convolution the integral intensity of the reflectivity curve is not preserved → need for an additional scaling factor. ORIGIN Project template (*.opj) is needed to run the fit routine.
29
29 Comparison … Bonn Code: –Pro: Convolution of reflectivity and XSW absorption profile is part of the fit routine. Integral intensity is preserved during convolution Shifts in X (exp. photon energy) are included in the fit routine. Can be run in any ORIGIN 8 project (*.opj). –To be improved: Convolution with squared monochromator reflectivity ( photon energy spread) not yet included. Fit is time-consuming. Fit of reflectivity curve and XSW absorption profile always need to be done in conjunction.
30
Performance
31
31 Performance Fit of exemplary data sets for PTCDA / Ag(100): –C1s –O1s –Ag3s No weighting for reflectivity fit, instrumental weighting for XSW absorption profile fit (i.e. weighting coefficients g i = 1 / ( y i ) 2 ). Non-dipolar parameters are taken from theory. Modification of the response function is NOT enabled during XSW profile fit. BUT: apparent fit quality is significantly improved if response function parameters (width, center) are allowed to vary under the XSW profile fit. Fit results in comparison to DARE (J. Zegenhagen, ESRF): DAREFitXSW systemSignalQDeltaCFDelta CFCPDelta CPCFDelta CFCPDelta CP PTCDA / Ag(100) C1s0.275-0.188 0.1820.03540.5750.0373 0.1900.03560.5630.0360 O1s0.256-0.2510.245 0.04570.5060.03780.2550.04820.4870.0368 Ag3s-0.019-1.2840.6760.00100.0290.0003 0.7050.00100.0400.0003
32
32 Performance Ag3s, PTCDA / Ag(100): DARE vs. FitXSW
33
33 Performance C1s, PTCDA / Ag(100): DARE vs. FitXSW Convolution artefact
34
34 Performance O1s, PTCDA / Ag(100): DARE vs. FitXSW
35
Current status … to be discussed Please share your ideas, advices, critics with me … !
36
Current status … to be discussed Error weighting. Convolution with squared monochromator reflectivity. Stepsize in calculation of the convolution integral (according to trapezoidal rule). Modification of response function during XSW profile fit. …
37
37 I am particularly grateful to… Prof. Dr. M. Sokolowski, Prof. Dr. F. S. Tautz, Dr. S. Subach and Giuseppe Mercurio for fruitful collaboration. Dr. C. Kumpf, I. Kröger and C. Stadler as well as Dr. Jörg Zegenhagen, Dr. Tien-Lin Lee and Dr. Yanyu Mi for helpful discussions. DFG (trough SFB 624 and SFB 813) and ESRF. Acknow- ledgement
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.