Refinement of disordered crystal structures - Moodle
Transcription
Refinement of disordered crystal structures - Moodle
Refinement of disordered crystal structures Reinhard B. Neder Lehrstuhl für Kristallographie und Strukturphysik Department Physik Friedrich-Alexander Universität Erlangen-Nürnberg [email protected] Erlangen, RRZE, May. 19, 2015 Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Nanoparticle objects Wide variety of structures / defects / disorder ZnSe Ellipsoid with stacking faults CdSe / ZnS core / shell ZnO with organic ligand Gold cuboctahedron with organic ligands Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Defects in large crystals Any deviation from average crystal structure average cell local cluster different atom Defects may follow (many) different distribution models perfect random distribution or short range ordered Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Diffraction experiment Schematic setup X-ray beam interacts with a (periodic) structure Perfectly periodic structure ==> sharp diffraction maxima Disordered structures ==> additional broad diffuse intensity between sharp maxima Diffraction pattern is Fourier transformation of crystal structure Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Single Crystal Diffuse Scattering Diffuse scattering between Bragg reflections Deviations from perfect structure Unit cells (slightly) different Alkane Chains in Urea Welberry & Mayo J. Appl. 29, 1996 Lehrstuhl fürCryst Kristallographie Additional order beyond translation of perfect unit cells or Disorder und Strukturphysik Universität Erlangen-Nürnberg Powder Diffuse Scattering CdSe crystalline material 10 20 30 40 50 60 o 550 C o 450 C o 400 C o 300 C o 220 C Layered H2TiO3 10 20 30 40 2theta, deg Mo-V-Nb oxides Nano crystalline ZnO Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg 50 60 Debye Scattering Equation calculates intensity from list of atom pairs! <∣F (h)∣2 >=∑ f 2j + j ∑∑ i j , j≠i ALL atoms in the „crystal“ f i f j sin (2 π h r ij )/(2 π h r ij ) atom pairs each individual atom fi atomic form factor scattered intensity by individual atom, depends on atom type, radiation rij distance from atom i to atom j Sum over all atom pairs no restrictions on sample structure open to finite particle with any shape defects, like stacking faults etc. Post processing: convolute with instrumental resolution function DISCUS program: discus.sourceforge.net; Neder & Proffen (Oxford) Lehrstuhl für Kristallographie und Strukturphysik Debussy program: A. Cerevellino Universität Erlangen-Nürnberg Pair Distribution Function direct measure of A pattern in direct space, bond length essentially a histogram of interatomic distances, number of neighbors bond length distribution directly converted from powder diffraction pattern particle diameter defects crystalline nano Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Bottom-Up Simulation and Refinement Calculate all atom positions Presence of defects 3 nm sphere 600 atoms 1800 coordinates ! 600 ADP's ! Parameterize description coordinates in asymmetric unit symmetry diameter 2 lattice parameters 1 coordinate 1 ADP 1 radius Parameterize description probability of faults strain field chemical short range order etc.... 1 probability limited only by imagination BUT Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Aspects of PDF calculation for small nanoparticles 10 layers simulated with identical parameters individual location of stacking faults each particle is not representative ==> need to average powder PDF Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Bottom-Up Simulation and Refinement Ensemble modelling } individual PDFs average PDF Calculate (many) individual nanos Average PDF / powder pattern coordinates in asymmetric unit symmetry diameter defects 2 lattice parameters 1 coordinate 1 ADP 2 radii 1 probability BUT incoherent average of PDFs requires evolutionary refinement no Least-Squares expensive Niederdraenk et al. Phys.stat.sol c (2007); Lehrstuhl für Kristallographie Niederdraenk et al. PCCP (2011) und Strukturphysik Universität Erlangen-Nürnberg Refinement Algorithm Parameters: Crystal metric Atom positions Defect types and concentration Crystal shape and shape distribution Experimental conditions Wide variation of Crystal structure Crystal defects Crystal shape Number: some 10 to 30 parameters Concept: Ensemble average Many small crystals generated with individual defects Incoherent average of intensity ∑ F ( Params ) + ∑ G ( random( Params)) = ∑ ∂ F ( Params ) + ∑ ? ? ? ? G ( random( Params) ) I = ∂I Levenberg-Marquart Least Squares not possible Alternative: population based refinement Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Differential Evolutionary Refinement P2 Generic cost function Random parameter sets In generation zero Evaluate cost function P1 Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Price, Storn, Lampinen, Differential Evolution, Springer (2005) Differential Evolutionary Refinement P2 Generic cost function Random parameter sets In generation zero Evaluate cost function For all parents Choose random Difference vector P1 Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Price, Storn, Lampinen, Differential Evolution, Springer (2005) Differential Evolutionary Refinement P2 Generic cost function Child (3) Child Random parameter sets In generation zero Evaluate cost function For all parents Child (2) Choose random Difference vector Scale by f < 1.0 add to random member Possible perform Cross over P1 Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Price, Storn, Lampinen, Differential Evolution, Springer (2005) Differential Evolutionary Refinement P2 Generic cost function Random parameter sets In generation zero Evaluate cost function For all parents Choose random Difference vector Scale by f < 1.0 add to random member Possible perform Cross over Compare Parent to Child Parents/Children P1 Retain better (half) Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Price, Storn, Lampinen, Differential Evolution, Springer (2005) Differential Evolutionary Refinement P2 Self scaling Easily avoids local minima Two control parameters Scale factor f Cross over probability P1 Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Price, Storn, Lampinen, Differential Evolution, Springer (2005) Initial Implementation DIFFEV (Generic refinement program) Define population size, parameter range Initialize generation zero For all refinement cycles MPI Start DISCUS slave program Load crystal building protocol Build crystal Population size Widely different CPU times Population size = n(CPU) Calculate pattern Store pattern MPI Start KUPLOT slave program Load instr, Exp. / calc. pattern Calculate cost function Excessive I/O on /lxfs Store cost function value on disk Compare cost function / create next generation Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Initial Implementation Low Mflop rate Excessive I/O on /lxfs Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Implementation DISCUS_SUITE Define population size, parameter range Initialize generation zero Load crystal building protocol Load experimental data / post processing instructions For all refinement cycles Population size MPI Widely different CPU times Build crystal Calculate pattern Store pattern Population size = n(CPU) Calculate cost function value Compare cost function / create next generation Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Implementation For all refinement cycles MPI n(CPU) More even CPU times For Population size / n(CPU) Build crystal Calculate pattern Store pattern Population size ~ 200 n(CPU) ~ 48 to 96 nodes 2 to 4 Calculate cost function value Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Implementation For all refinement cycles MPI n(CPU) More even CPU times For Population size / n(CPU) For Repetitions Build crystal (Child, kid) Calculate pattern (Child, kid) Population size ~ 200 Repetitions ~ 50 n(CPU) ~ 48 to 96 nodes 2 to 4 Store pattern internally Calculate cost function value Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Initial Implementation Reasonable Mflop rate No input from /lxfs Low output to /lxfs Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Implementation For all refinement cycles MPI n(CPU) More even CPU times For Population size * repetitions / n(CPU) Build crystal (Child, Kid) Calculate pattern (Child, Kid) Store pattern (Child, Kid) /lxfs/mpkr04 Population size Repetitions ~ 200 ~ 50 n(CPU) ~ 192 to 384 nodes 8 to 16 MPI For Population size / n(CPU) Load pattern (Child, *) /lxfs/mpkr04 Average pattern = > Child Calculate cost function value Excessive I/O on /lxfs Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Implementation For all refinement cycles MPI n(CPU) More even CPU times For Population size * repetitions / n(CPU) Build crystal (Child, Kid) Calculate pattern (Child, Kid) Store pattern (Child, Kid) /tmp/mpkr04 Population size Repetitions ~ 200 ~ 50 n(CPU) ~ 192 to 384 nodes 8 to 16 MPI For Population size / n(CPU) Load pattern (Child, *) /tmp/mpkr04 Average pattern = > Child Calculate cost function value Requires knowledge of node on which a child/kid combination is executed Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Implementation For all refinement cycles MPI n(CPU) More even CPU times For Population size * repetitions / n(CPU) Build crystal (Child, Kid) Calculate pattern (Child, Kid) Transfer pattern (Child, Kid) to master Population size Repetitions ~ 200 ~ 50 n(CPU) ~ 192 to 384 nodes 8 to 16 MPI For Population size / n(CPU) Receive pattern (Child, *) from master Average pattern = > Child Calculate cost function value Excessive data transfer via infiniband ??? ~ 60 MB per refinement cycle Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Outlook P2 Parameter points from all generations Refinement of N-dimensional parabola to - All points - Points with low cost function P1 Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg Outlook Data collection ~ 8 GByte / 30 min Evaluation on the fly Single Crystal data ~ 1000 x 1000 x 1000 data points 3d Fourier transformation Measure of distances in crystal Refine model with some 1 to 10 million atoms Apply 3D pattern recognition Measure distribution of diffuse scattering Deconvolute components Cooperation Oak Ridge National Lab / Argonne National Lab Lehrstuhl für Kristallographie und Strukturphysik Universität Erlangen-Nürnberg