the atomic simulation environment and genetic algorithms
TRANSCRIPT
The Atomic Simulation Environment and genetic algorithms
Steen Lysgaard
Department of energy conversion and storageTechnical University of Denmark
2
Outline
● Genetic algorithms (GA) in materials science
● The GA in the Atomic Simulation Environment (ASE)– Alloy nanoparticles (Cu-Ni, Cu-Au)– Combining machine learning with GA– More examples at ASE website (bulk systems for
ammonia storage, small particles on support)
● Quick intro to ASE
● Introduction to the following tutorial
3
GA intro
● Very simple principle based on natural selection
● Random initial population
● Define fitness function (stability, storage capacity, band gap, mechanical property)
● Selection of fittest candidates
● Procreation operators
● Population evolves
4
GA advanced
Jennings, Lysgaard, Hummelshøj, Vegge, Bligaard (in preparation)
5
GA in materials science
• Two major areas where GAs have been employed in materials science
Deaven and Ho, Phys Rev Lett. 75, 288 (1995)Johnston, Ferrando, Fortunelli ...
● Prediction of crystal structure from composition [1, 2, 3]
[1] Glass, Oganov and Hansen, Comput. Phys. Commun., 2006, 175, 713–720.[2] Abraham and Probert, Phys. Rev. B, 2006, 73, 1–6.[3] Trimarchi and Zunger, Phys. Rev. B, 2007, 75, 104113.
Nanoparticles / nanoalloys Crystal structure predictionNanoparticles / nanoalloysNanoparticles / nanoalloys
6
When to use genetic algorithms?
When a complete sampling is not possible…– Massive materials combinations (multiple mixing elements) – Structural prediction
– Corrugated energy landscapes
– Geometrical relaxation possible– Any parameter can be optimized
– …
7
Genetic algorithms for nanoparticle alloys
Initial Population
Operators
Generation
Crossover
Mutate/Permutate
Population
1.
2.
3.
...
Ranked according to fitness
com2surf poor2rich
Evaluation
Lysgaard, Landis, Bligaard, Vegge, Topics in Catalysis 57, 33 (2014)
8
Optimizing a 309 atom Cu-Ni nanoparticle – fixed composition
Lysgaard, Landis, Bligaard, Vegge, Topics in Catalysis 57, 33 (2014)
● Tailored operators needed when search space is large
● The GA shows the development of an icosahedral structure with a Cu skin for a 50:50 composition
● Dynamic operators are more efficient
9
Optimizing a 309 atom Cu-Ni nanoparticle – fixed composition
Lysgaard, Landis, Bligaard, Vegge, Topics in Catalysis 57, 33 (2014)
● Tailored operators needed when search space is large
● The GA shows the development of an icosahedral structure with a Cu skin for a 50:50 composition
● Dynamic operators are more efficient
10
Cu-Au nanoparticles – variable composition
Lysgaard, Hansen, Myrdal, Vegge, Phys. Chem. Chem. Phys. 17, 28270 (2015)
Emix=E (Cu x Au y)−E (Cu309) x
N−E (Au309) y
N
Cu
Au
11
Cu-Au nanoparticles – variable composition
Lysgaard, Hansen, Myrdal, Vegge, Phys. Chem. Chem. Phys. 17, 28270 (2015)
12
Cu-Au nanoparticles – variable composition
Lysgaard, Hansen, Myrdal, Vegge, Phys. Chem. Chem. Phys. 17, 28270 (2015)
13
Cu-Au nanoparticles – variable composition
● Unfortunately the Au-Cu clusters tend to retain the scaling relation for steps
Lysgaard, Hansen, Myrdal, Vegge, Phys. Chem. Chem. Phys. 17, 28270 (2015)
20
Combining Machine Learning and GA
Serial GA
Niching GA
Veto GA
MLGA
MLaGA
# E
ner
gy
eval
uat
ions
104
103
102
101
100
Pt Au
Jennings, Lysgaard, Hummelshøj, Vegge, Bligaard (in preparation)
• Five repetitions to check the robustness
21
Combining Machine Learning and GA
Jennings, Lysgaard, Hummelshøj, Vegge, Bligaard (in preparation)
• Identification of the convex hull with the different approaches • MLaGA: ~250 x speed-up
Em
ix
Pt Au
22
Atomic simulation environmentA Python library for working with atoms
23
Atomic simulation environment● An object-oriented scripting interface to a legacy electronic
structure code, Sune R. Bahn and Karsten W. Jacobsen, Comput. Sci. Eng., Vol. 4, 56-66, 2002
● The Atomic Simulation Environment — A Python library for working with atoms, Ask Hjorth Larsen, Jens Jørgen Mortensen, Jakob Blomqvist, Ivano E. Castelli, Rune Christensen, Marcin Dulak, Jesper Friis, Michael N. Groves, Bjørk Hammer, Cory Hargus, Eric D. Hermes, Paul C. Jennings, Peter Bjerre Jensen, Kristen Kaasbjerg, James Kermode, John R. Kitchin, Esben Leonhard Kolsbjerg, Joseph Kubal, Steen Lysgaard, Jón Bergmann Maronsson, Tristan Maxson, Thomas Olsen, Lars Pastewka, Andrew Peterson, Carsten Rostgaard, Jakob Schiøtz, Ole Schütt, Mikkel Strange, Kristian Thygesen, Tejs Vegge, Lasse Vilhelmsen, Michael Walter, Zhenhua Zeng, and Karsten Wedel Jacobsen, Journal of Physics: Condensed Matter, 29 (2017) 273002
24
A small example
25
Calculators in ASE
26
Tutorial on ASE GA
● Goal: Determine the convex hull of a binary alloy slab– Real use: looking for
catalysts to break the scaling relations
27
Tutorial on ASE GA
● Goal: Determine the convex hull of a binary alloy slab
● Number of combinations– N = 24– 16,777,216 candidates
(symmetry not accounted for)
– Brute force search not relevant, intelligent search is necessary
∑i=0
NN !
i !⋅(N−i)!
28
Tutorial on ASE GA
● Goal: Determine the convex hull of a binary alloy slab
● Number of combinations
● Population type– Rank based across
composition– All compositions equally
likely to evolve– Constructive interplay
due to similar chemical ordering
29
Tutorial on ASE GA
● Goal: Determine the convex hull of a binary alloy slab
● Number of combinations
● Population type– Rank based across
composition– All compositions equally
likely to evolve– Constructive interplay
due to similar chemical ordering
30
Tutorial on ASE GA
● Goal: Determine the convex hull of a binary alloy slab
● Number of combinations
● Population type
● Operators– Cut-splice crossover– Permutation– Substitution
31
Tutorial on ASE GA
● Goal: Determine the convex hull of a binary alloy slab
● Number of combinations
● Population type
● Operators
● Duplicate detection– Avoid superfluous
calculations– Keep population diverse
32
Tutorial on ASE GA
● Goal: Determine the convex hull of a binary alloy slab
● Number of combinations
● Population type
● Operators
● Duplicate detection
● Convex hull
33
Tutorial on ASE GA
● Goal: Determine the convex hull of a binary alloy slab
● Number of combinations
● Population type
● Operators
● Duplicate detection
● Convex hull
To get started with the tutorial go to:nomad-handson.github.io
Thanks for the attention Good luck!
34