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