Presentation is loading. Please wait.

Presentation is loading. Please wait.

Improving Atomistic Crystal Structure Prediction Searches through Symmetric Initialization By Patrick Avery.

Similar presentations


Presentation on theme: "Improving Atomistic Crystal Structure Prediction Searches through Symmetric Initialization By Patrick Avery."— Presentation transcript:

1 Improving Atomistic Crystal Structure Prediction Searches through Symmetric Initialization
By Patrick Avery

2 Why Generate Crystals with Random Space Groups?
Less than 1% of crystals in most databases are P1 “For large systems, [purely random initialization] leads to nearly identical ‘glassy’ structures that have similar (high) energies and low degree of order. From such starting conditions, it is difficult to obtain well ordered crystalline states.”[1] Higher success rate and efficiency for CSP Sometimes the space group and composition are known, but the structure cannot be determined by X-ray diffraction (especially true for hydrogen or crystals in extreme conditions) Stronger x-rays can pick up hydrogen. Argon synchrotron HPCAT – diamond anvil cell [1]: A. O. Lyakhov; A. R. Oganov; H. T. Stokes; Q. Zhu, Comp. Phys. Comm., 2013, 184,

3 CSP Programs that Use Symmetric Initialization
Atomistic: ab initio random structure searching (AIRSS)[1] Crystal structure AnaLYsis by PSO (CALYPSO)[2] Universal Structure Predictor: Evolutionary Xtallography (USPEX)[3] Molecular: PROMET3[4] Generation Ranking and Characterization Engine (GRACE)[5] [1]: C. J. Pickard; R. J. Needs, J. Phys.: Condens. Matter., 2011, 23, [2]: Y. Wang; J. Lv; L. Zhu; Y. Ma, Phys. Rev. B, 2010, 82, [3]: A. O. Lyakhov; A. R. Oganov; H. T. Stokes; Q. Zhu, Comp. Phys. Comm., 2013, 184, [4]: A. Gavezzotti, Acta Crystallogr. Sect. B, 1996, 52, 201–208 [5]: A. Asmadi; J. Kendrick; F. J. J. Leusen, Phys. Chem. Chem. Phys., 2010, 12, 8571–8579

4 Improvement Examples USPEX:
100 searches were conducted with 400 structures per run A. O. Lyakhov; A. R. Oganov; H. T. Stokes; Q. Zhu, Comp. Phys. Comm., 2013, 184, CALYPSO 3250 structures were generated and locally optimized for the % Min. data. 10 searches were run, until the global minimum was found, for the remaining data. Y. Wang; J. Lv; L. Zhu; Y. Ma, Comput. Phys. Commun., 2012, 183,

5 Brief Overview of Space Groups
Similar to point groups Translation operations screw axes and glide planes Hermann-Mauguin notation instead of Schoenflies E. g. 4/m instead of C4h Exactly 230 space groups Lattice constraints

6 Generated with RandSpg Image made with Avogadro
P21/m mirror plane Generated with RandSpg Image made with Avogadro

7 Generated with RandSpg Image made with Avogadro
P21/m screw axis Generated with RandSpg Image made with Avogadro

8 P21/m Comparison Generated with RandSpg Images made with Avogadro

9 How to Generate a Crystal with a Particular Space Group
Need a correct lattice for the space group Atoms should be in Wyckoff positions for that space group

10 Post-perovskite (Mg4Si4O12) – space group 63 (Cmcm)

11 The Wyckoff positions for space group 63 (Cmcm)
Unique Wyckoff positions contain no variables may only be used once Non-unique Wyckoff positions - may be used a theoretically infinite number of times The general Wyckoff position - an exclusive identifier for each space group Explain what the multiplicity, Wyckoff letter, site symmetry, and coordinates are

12 How many possible combinations are there for Mg4Si4O12
How many possible combinations are there for Mg4Si4O12? First – we look at one atom type at a time For O: For Si and Mg: Post-perovskite: 8g, 4c 8g, 4b 8g, 4a 4c Mg : 4c 8f, 4c 8f, 4b 8f, 4a 4b Si : 4a 8e, 4c 8e, 4b 8e, 4a 4a O : 8f 8d, 4c 8d, 4b 8d, 4a O : 4c 4c, 4c, 4c 4c, 4c, 4b 4c, 4c, 4a 4c, 4b, 4a The numbers of combinations become massive for larger compositions

13 findAllCombinations() flow chart in RandSpg

14 Loops through all Wyckoff positions
Loops through all Wyckoff positions. If the position is usable, it tries finding all solutions with it. If it is not usable, then it just keeps on going.

15 Cross-join Two lists: [“apple”, “banana”] and [“Joe”, “Sue”] A cross-join pairs every combination: [[“apple”, “Joe”],[“apple”, “Sue”], [“banana”, “Joe”],[“banana”, “Sue”]] Solutions for different types of atoms are combined via a cross-join. Solutions that use a unique Wyckoff position more than once are discarded.

16 Cross-join between Mg and Si for Mg4Si4O12
Mg : 4c, Si : 4c Mg : 4c, Si : 4b Mg : 4c, Si : 4a Mg : 4b, Si : 4c Mg : 4b, Si : 4a Mg : 4a, Si : 4c Mg : 4a, Si : 4b Because 4b and 4a are unique, they may only be occupied once: by either Mg or Si

17 Grouping in RandSpg to significantly reduce computation time
For O12: 1(8g, 8f, 8e), 4c 1(8g, 8f, 8e), 1(4b, 4a) 8d, 4c 8d, 1(4b, 4a) 4c, 4c, 4c 4c, 4c, 1(4b, 4a) 4c, 4b, 4a n(a, b, c...) means to choose n of the Wyckoff positions given in parentheses. For O12, the grouping reduced the number of combinations from 16 to 7. Big speed improvement for larger systems. Some space groups for Ti16O32 had millions of solutions.

18 Side note: USPEX techniques
Places atoms in general Wyckoff position first Merges atoms in the same Wyckoff position if they are close Places later atoms on special Wyckoff positions when remaining atoms is low A. O. Lyakhov; A. R. Oganov; H. T. Stokes; Q. Zhu, Comp. Phys. Comm., 2013, 184,

19 Side note: Molecular Symmetry

20 RandSpg Details and Tests
User Input File User sets the following options: Composition Spacegroup(s) How many of each space group to generate Min and max volume Mins and maxes for lattice parameters Whether to use the general Wyckoff position at least once or not Force any atoms to be in certain Wyckoff positions

21 User Input File (cont.) Explicitly set radii Set minimum radius
Set scaling factor for radii Set max attempts to generate the structure Output directory Verbosity

22 First line is a comment line # Anything to the right of a hash is a comment # Composition is set by atomic symbols followed by number as such: composition = Mg4Al2 # Which spacegroups to generate are set as follows (hyphens and commas work) spacegroups = 1-8, 10, 25, 28, # lattice mins and maxes set constraints on the lattice to be generated. # Distances are in Angstroms and angles are in degrees. # a, b, c, alpha, beta, gamma latticeMins = 3.0, 3.0, 3.0, 60.0, 60.0, 60.0 latticeMaxes = 10.0, 10.0, 10.0, 120.0, 120.0, # minVolume and maxVolume specify constraints on the volume in Angstroms # If the volume is not within this range, it will be rescaled so that it is # If you remove minVolume or specify it to be -1, there will be no minVolume # Same goes for maxVolume minVolume = 450 maxVolume = 500 # numOfEachSpgToGenerate tells us how many crystals of each spg to generate numOfEachSpgToGenerate = 3 # For advanced users: by default, the program will only generate a spacegroup # for a crystal if it can use the most general Wyckoff position at least # once. This is because the spacegroup is not guaranteed if the most # general Wyckoff position is not used at least once. The user, however, # may turn off that option here by setting it to false. # If this is the case, more compositions may be generated for a particular # spacegroup, but they may not be the correct spacegroup (about a 50 or 60% # chance overall - but it differs with each spacegroup) #forceMostGeneralWyckPos = false User Input File Sample

23 # For advanced users: this allows us to force an element to be assigned # to a specific Wyckoff position. If you wish to force an element to be in # the same Wyckoff position multiple times, just repeat the tag multiple times # i. e. add 'forceWyckPos Mg = a' on as many lines as you want to force the # Wyckoff position #forceWyckPos Mg = a # We can set minimum radii (Angstroms) for individual atoms #setRadius Ti = 0.5 # Or for all atoms. A min radius for an individual atom trumps this one # If the default min radius of the atom is less than this input value, then # the min radius of that atom is set to be this value # Value is in Angstroms setMinRadii = 0.3 # This scaling factor will scale all radii that were not explicity set # The new radii are equal to (radius * scalingFactor) # This is particularly useful when changing the pressure of a crystal scalingFactor = 0.5 # This sets the maximum number of attempts to generate any given spacegroup maxAttempts = 100 # This sets the output directory outputDir = randSpgOut # Verbosity indicates how much output to generate in the log file # 'n' is no output, 'r' is regular output, and 'v' is verbose output verbosity = r # In the output POSCAR, the name is <composition>_<spg>-<index> User Input File Sample

24 RandSpg Log File **** randSpgOut/Ti2O4_10-1 **** printing atom assignments: Atomic num : Wyckoff letter 8 : o 22 : d 22 : b *** Success! *** Number of structures attempted: 1 Number of structures succeeded: 1 Setup wall time (in seconds): Structure generation wall time (in seconds): Structure generation wall time per attempt (in seconds): Average success wall time (in seconds): Average failure wall time (in seconds): 0 Total wall time (in seconds):

25 Output files – POSCAR format
Ti2O4 -- randSpg with spg of: O Ti 4 2 Direct

26 FindSym algorithm at: stokes.byu.edu/iso/findsym.php
RandSpg Accuracy Tested with FindSym algorithm 10 crystals for each space group (total of 2300) were generated Use general Wyckoff position at least once? If yes: 100% accuracy If no: depends on composition, but I got around 98% FindSym algorithm at: stokes.byu.edu/iso/findsym.php

27 Factors affecting speed
Number of atoms Number of types of atoms Radii of atoms (so atoms are not overlapping) Min and max volume The space group itself (number of Wyckoff positions, multiplicities, and uniqueness of each) Main bottleneck: fitting all the atoms in the crystal with minIADs Functions for finding all combinations are relatively fast

28 RandSpg: Vary Number of Atoms of TiO2
Timing tests performed on a 1.7 GHz AMD Athlon(tm) X4 860 K Quad Core Processor

29 RandSpg: Vary Number of Types of Atoms (60 atom system)
Ti O Mg Si

30 RandSpg: Vary Space Group for Ti30O60

31 Improved Random Generation (Ti16O32)
Random generation: % are rutile randSpg: 1.78% are rutile 3250 structure generated total with XtalOpt. Structures optimized with GULP. # Rutile for Random: 2 (0.062%) # Rutile for RandSpg: 58 (1.78%)

32 Full Ranges

33 High energy structures
Little scientific value… but perhaps some value in art!

34 Increase the Initial Population with RandSpg
Number of optimized structures required to find Ti16O32 rutile (with XtalOpt and GULP) Initial pop size: 20 50 Random 107.7 141.0 RandSpg 72.3 63.2 Ti16O32 20 runs performed for each data point

35 1 TPa Water Y. Wang; H. Liu; J. Lv; L. Zhu; H. Wang; Y. Ma, Nat. Commun., 2011, 2, 563.

36 RandSpg in XtalOpt

37 RandSpg in XtalOpt

38 RandSpg P. Avery; E. Zurek, Comp. Phys. Comm., 2017, 213, 208-216
License: 3-clause BSD Source: Web interface: Paper: P. Avery; E. Zurek, Comp. Phys. Comm., 2017, 213,

39 Brief Mention:

40 Mutators in XtalOpt 1. Crossover 2. Strain 3. Exchange 4. Ripple
D. Lonie; E. Zurek, Comp. Phys. Comm., 2011, 182, ; Comp. Phys. Comm. 2012, 183,

41 Website: http://xtalopt.github.io
Publications: Source:

42 Brief Mention: Avogadro with YAeHMOP
k Easy interface for extended Hückel calculations on materials – great for teaching purposes Web page:

43 Conclusions Symmetric initialization
can be performed by adding atoms to Wyckoff positions and generating an appropriate lattice can be used to improve exploration of the PES can reduce the total number of structures needed to find the global minimum can be used to find a crystal with an already known space group and composition

44 THE END Acknowledgements: Dr. Zurek and Zurek Lab
NSF (DMR ) ONR (N )


Download ppt "Improving Atomistic Crystal Structure Prediction Searches through Symmetric Initialization By Patrick Avery."

Similar presentations


Ads by Google