Discovery and Implementation of fast, accurate, and transferable Many-body Interatomic Potentials

by

Adarsh Balasubramanian

A thesis submitted to The Johns Hopkins University in conformity with the requirements for the degree of Master of Science and Engineering

Baltimore, Maryland December, 2019

© 2019 by Adarsh Balasubramanian All rights reserved Abstract

This thesis deals with discussions on the motivation and approach for discovering new interatomic potential models, and methods of implementing new interatomic potentials in LAMMPS, followed by results obtained from caulculating physical properties like stacking fault energies, surface energies etc. The length and time scales of atomistic modeling approaches are limited by the com- putational cost of the methods used to predict material properties. In recent years there has been great progress in the use of machine learning algorithms to develop fast and accurate interatomic potential models, but it remains a challenge to come up with models that generalize well and have good performance capabilities. In this thesis, I shall discuss my contributions towards addressing this challenge. First, I shall provide an overview of and the role played by inter- atomic potential models in the same for accurately determining physical properties like energies and forces. Following this, I shall provide an outline of the symbolic regression approach, the developed for carrying out the interatomic potential evolution- ary search, and the methodologies that have been used for discovering the interatomic potential models. Then, I shall present the forms of the discovered models for copper, take a look at their computational aspects and walk through at the assessments of their speed and overall complexity by detailing their LAMMPS implementations. I also discuss in-depth about the LAMMPS internals and the various considerations to look at while implementing potential models in LAMMPS. Finally, with the model implementations in hand, I make attempts at validating the same by computing stacking fault energies, surface energies and present other relevant properties, and compare them against other popular interatomic potential models.

Advisor: Dr. Tim Mueller

ii Acknowledgments

I take this opportunity to thank all the people who have supported and helped me both in this work and on my path to this point. I am profoundly grateful to Dr. Tim Mueller for his continuous encouragement and expert guidance throughout the project to ensure that this project meets its milestones right from its commencement to its completion. His exceptional insight and broad view led me to the wonderful field of atomistic modeling and helped me avoid so many detours during the progress of my research. I would also like to express deepest appreciation towards Professor Mueller for having provided support and accommodations throughout the duration of my masters programme, which helped me drive the program to fruition. Next, I would like to express my deepest gratitude to my research colleague Alberto Hernandez who spearheaded this project on discovery of interatomic potentials and validated the work in this thesis by calculating the required properties and comparing them against previous work. His advice and suggestions have always helped me find the right direction and go through research difficulties, and without his help, I would not have achieved what I have today. I also take this opportunity to thank all my research colleagues at the Mueller group for having provided ideas and feedback throughout the project. I also would like to acknowledge the high-performance computing resources from the Maryland Advanced Research Computing Cluster (MARCC) and from the Homewood High-Performance Cluster (HHPC), which helped me perform voluminous amounts of simulations and obtain results for research. There are so many other great people at Johns Hopkins who have helped me in the past few months that I cannot list all of them. Special mention to the faculty and staff of and Engineering who, through the months of my education, provided a stimulating atmosphere for leaning.

Adarsh Balasubramanian

iii Preface

Scientific Articles

Fast, accurate, and transferable many-body interatomic potentials by symbolic regres- sion Alberto Hernandez, Adarsh Balasubramanian, Fenglin Yuan, Simon A. M. Mason & Tim Mueller npj Computational Materials volume 5, Article number: 112 (2019) URL: https://www.nature.com/articles/s41524-019-0249-1

Contribution to paper: I worked on implementing the newly discovered models in LAMMPS, assisted in open-sourcing the software and generated data for obtaining a portion of the results.

Scientific Work not part of the thesis

Algorithms and Code for the Generation of Generalized Monkhorst-Pack Grids Yunzhe Wang, Pandu Wisesa, Adarsh Balasubramanian & Tim Mueller Submitted to Modelling Simul. Mater. Sci. Eng. Preprint: https://arxiv.org/abs/1907.13610

Contribution to paper: I worked on the initial release of kpLib: the C++ implementa- tion of the algorithm for efficient generation of Monkhorst-Pack grids, and provided integrations with spglib.

iv Table of Contents

Table of Contentsv

List of Tables vii

List of Figures viii

1 Introduction1

2 An Overview of Molecular Dynamics3 2.1 Introduction ...... 3 2.2 Interatomic Potentials ...... 4 2.2.1 Lennard-Jones Potential ...... 5 2.2.2 Embedded Atom Method ...... 5 2.3 Integration Schemes ...... 6

3 An Overview of the Methodology for Interatomic Potential Discovery8 3.1 Motivation for our approach ...... 8 3.2 A brief overview of Genetic Programming ...... 9 3.3 Description of the Symbolic Regression approach ...... 10

4 Computational Details and Methods of Implementation 12 4.1 LAMMPS and the manybody package ...... 12 4.2 A peek into the core LAMMPS internals ...... 12 4.2.1 Setup of the MD environment ...... 12 4.2.2 Potential Model Design ...... 14 4.2.3 LAMMPS Optimizations for minimizing unnecessary computations 16

v 4.3 Details of GP1 and GP2 implementations in LAMMPS ...... 17

5 Results 19 5.1 Discovering new models for Copper ...... 19 5.2 Stacking Fault Energy Calculations ...... 21 5.2.1 Mechanistic insights of stacking fault formation in FCC metals . . . 22 5.2.2 Calculating Stacking Fault Energy with LAMMPS ...... 23 5.2.3 Stacking fault results for GP1 and GP2 ...... 24 5.3 Surface Energy Calculations ...... 25 5.3.1 Calculating Surface Energies with LAMMPS ...... 26 5.3.2 Surface Energy Results for GP1 and GP2 ...... 26 5.4 Other Property Calculations for Copper using GP1 and GP2 ...... 27 5.5 Benchmarking results ...... 29 5.5.1 Serial Performance ...... 29 5.5.2 Parallel Performance ...... 30

6 Discussions and Future Work 32 6.1 Other implementations ...... 32 6.2 Future Work ...... 33 6.3 Code Availability ...... 34

Appendix 35

A Useful information on LAMMPS 35 A.1 Anatomy of the LAMMPS EAM funcfl file ...... 35 A.2 Tips and tricks on creating potential models in LAMMPS ...... 36 A.3 Enabling GP1, GP2 and GP3 in LAMMPS ...... 37

B Useful information on POET 38 B.1 Details of the training data for running POET on Cu ...... 38 B.2 Description of the potential models ...... 39

vi List of Tables

5.1 Prediction errors for the intrinsic stacking fault (γISF) energy and the unsta- ble stacking fault (γUSF) energy. (a) ab initio target data. (b) experimental target data...... 25 5.2 Prediction errors for surface energies. (a) ab initio target data. (b) experi- mental target data...... 26 5.3 Error of the values predicted by interatomic potentials for copper relative to the respective reference. Details about EAM, ABCHM, CuNi, EAM1

are available in the Appendix. Cij are elastic constants, a0 is the lattice parameter, ∆E (bcc-fcc) is the energy difference between bcc and fcc phases,

Ev is the fcc bulk vacancy formation energy, Ev (unrelaxed, 2*2*2) is the

unrelaxed vacancy formation energy computed on a 2*2*2 supercell, Em is the migration energy for fcc bulk vacancy diffusion, Ea is the activation

energy for fcc bulk vacancy diffusion, Edumbbell is the dumbbell <100> forma- tion energy, γ is the phonon frequency, and γISF and γUSF are the intrinsic and unstable stacking fault energies, respectively. a SC was fit to the bulk modulus. b Elastic constants were used to select GP1, GP2, and GP3 from c d the convex hull. Fit to ensure that Ef cc < Ebcc and Ef cc < Ehcp. Fit to vacancy formation energy...... 28

A.1 Line-by-line description of a funcfl file...... 35

B.1 Acronyms used for the Interatomic Potential Models ...... 39

vii List of Figures

2.1 Simplified Schematic of the molecular dynamics algorithm . . . . .7

3.1 Tree graphs of a) Lennard-Jones potential parametrized for argon, equation , b) Sutton-Chen EAM potential parametrized for copper, equation , c) GP1 and d) GP2...... 9 3.2 Example of a crossover operation involving combining the pink subtree with the blue subtree to form a new individual...... 11

4.1 A pictorial representation of the LAMMPS internal treatment of atoms. The blue circles denote the primary atoms, and the gray atoms denote the ghost atoms. Atoms inside the red circle denote the neighbors of the central red border atom, and these atoms contribute primarily to the calculations of the energies and forces of the atom in consideration...... 13 4.2 A pictorial explanation of the LAMMPS interpolation procedure. Splines are interpolated from the EAM data file which are then used for calculating salient properties for the given system of atoms...... 15 4.3 A pictorial explanation of the terms involved in the force calculation. As- suming the red outline atom corresponds to atom i and the pink to atom j,

Fi will have contributions from dEi/drj as well as dEj/dri...... 16 4.4 A pictorial representation of Forward Communication which involves com- municating values computed in the primary atoms to the ghost atoms to avoid repetitive calculations...... 17

5.1 The three-dimensional convex hull of models found by the machine-learning algorithm. f(r) is the smoothing function. aCost is based on the number of summations over neighbors. bThe models with fitness 7.8230 and 4.7294 are named GP1 and GP2, respectively...... 20

viii 5.2 Schematic of stacking fault energetics in an FCC structure. The orange and red blocks correspond to the top and bottom halves of the slab respectively, and the purple block depicts the slipped-over half that has caused the for- mation of an extrinsic stacking fault. The blue curve depicts the comparison between the energies for intrinsic, extrinsic and unstable stacking faults. . . 22 5.3 Intrinsic stacking fault generated from a bulk slab (left) by moving top half atoms by a distance of one-sixth the supercell parameter along < 112̄ > (right). The red rectangle shows the stacking fault...... 24 5.4 Computational cost of potential models in LAMMPS. SC (5) uses a cutoff distance of 5 Angstrom, SC uses a cutoff distance of 10 Angstrom. The cost is similar for SC (5), EAM1, GP1, GP2 and GP3...... 29 5.5 Parallel efficiencies of GP1 and GP2 potential models in LAMMPS. . 30

ix Chapter 1

Introduction

In the recent years, atomistic simulations have been largely used to study the fundamentals of materials properties and phenomena [1,2]. Atomistic simulations for understanding melting, diffusion, dislocation motion, crystallization, crack propagation and other events often consist of large ensemble of atoms or statistical averaging over multiple events, which are constrained by computational limitations. Often these simulations are beyond the capabilities of first principles (ab-inito) methods. Semiempirical interatomic potentials which express the thermodynamics of the system as a relatively simple function of the configuration space, are commonly used as an affordable alternative providing faster energy calculations that scale linearly with number of atoms. The potential functions are controlled by adjustable parameters and fitted to give desired properties of the material known from experiment or computed by ab-initio methods. The underlying assumption in the above method is that a potential fit to energies or forces for a certain set of configuration points will lead to reasonable results for configura- tions between and beyond these points. This property of potentials is called transferability and is a critical measure of their quality. In our recent work [3], we have demonstrated a symbolic regression based machine learning algorithm which is capable of discovering accurate, computationally efficient and transferable many-body potentials for a metallic system from ab-initio calculations. Genetic programming has been used to rediscover fundamental physical laws [4] and to obtain descriptors of complex materials properties in material science. In the heart of our approach, we analyze interatomic potentials, derived from physical principles to construct a physically meaningful hypothesis space [5,6,7]. Many functional forms can be obtained in the hypothesis space taking advantage of natural similarities in the functional forms simple physics-derived models [5]. The hypothesis space we use consists of all functions that can be obtained by various mathematical oper- ators - addition, subtraction, multiplication, division, power operators; constant values

1 and distances between atoms; and an operator to perform sum over functions of distances between a given atom and all neighbors within a cutoff radius. Semiempirical potentials gain the advantage of sufficient accuracy being fitted to experi- mental data or first principles data, and enable the possibility of large-scale implementation and long-time simulations - perfectly justifying the rationale behind the development of semiempirical potentials. With the availability of open-source molecular dynamics package like LAMMPS [8] and GULP [9], and volumes of available documentation and modular source code, it is sufficiently hassle-free to implement a novel interatomic po- tential model for atomistic simulations. Emphasis in this work will be on discussing the various internal operations in LAMMPS and how one could make use of the same while building new potential models to score well on computational efficiency. First, I shall provide an overview of molecular dynamics and the role played by inter- atomic potential models in the same for accurately determining physical properties like energies and forces. Following this, I shall provide an outline of the symbolic regression approach, the software developed for carrying out the interatomic potential evolution- ary search, and the methodologies that have been used for discovering the interatomic potential models. Then, I shall present the forms of the discovered models for copper, take a look at their computational aspects and walk through at the assessments of their speed and overall complexity by detailing their LAMMPS implementations. I also discuss in-depth about the LAMMPS internals and the various considerations to look at while implementing potential models in LAMMPS. Finally, with the model implementations in hand, I make attempts at validating the same by computing stacking fault energies, surface energies and present other relevant properties, and compare them against other popular interatomic potential models.

2 Chapter 2

An Overview of Molecular Dynamics

2.1 Introduction

Molecular Dynamics (MD) is a branch of computational science that models the time evolution of a system of atoms over time by evaluating their forces and energies under specific conditions over time, and yields insightful information on the material specific properties and processes. Using a known set of physical approximations incorporated using computer simulations, molecular dynamics was first conceptualized by Alder and Wainwright [10] in 1959 in which they envisioned modeling “the behavior of several hundred interacting classical particles.” In the recent years, MD has gained popularity owing to the convenience of the ability to perform small-scale local simulations without the necessity of high performance computing. There also has been focus on utilization of massively parallel supercomputing resources for large scale calculations, which decom- pose the MD calculation into small chunks and distributing those smaller simulations to separate nodes. Plimpton [8] discusses three types of decomposition for parallelizing MD simulationms: atom decomposition, force decomposition, and spatial decomposition. Each method has its pros and cons, but by allowing the simulation run to be distributed across several processing units, runs which may take multiple CPU-months can be completed within hours or days. MD simulations are governed by two main components. First, we need to have information about the potential energy function to find the force equations for each atom. We discuss in more detail about interatomic potentials in Section 2.2. Second, the force coordinates for each atom must be integrated to obtain the spatial evolution of atoms in the system. Due to the complexity that may be involved in the system, analytical integration might not always be feasible, hence numerical methods are resorted to for calculating the positions of the atoms. An outline of integration schemes is outlined in Section 2.3.

3 2.2 Interatomic Potentials

Interatomic potential functions play an important role in MD simulations. They constitute the governing laws in describing how atoms evolve in space over time. In molecular dynamics, atoms experience motion due to forces acting on them which is given by Newton’s second law of motion:

d⃗v d2⃗x ⃗F = m⃗a = m = m (2.1) dt dt2 The force on each atom is calculated by taking the grad (∇) of the potential energy which is a function of each atom’s position:

⃗F = −∇U(r) (2.2)

A fundamental step of the simulation process is in working out the choice of potential to be used for MD simulations. A potential needs to be chosen such that it guarantees reasonable results while not being too computationally expensive. Usually, potential models which are based on quantum mechanical properties tend to be the most powerful but are also often among the most computationally intensive. Amongst the simplest forms of potentials available today are the pair potentials, where the potential energy is merely a function of pairwise atomic interatomic interactions. Pair potentials are quite simple to implement and are computationally inexpensive, but often inaccurate when it comes to using them to predict properties. The interatomic potentials of interest in this work mostly belong to a class of potentials called the many-body potentials. Many-body potentials are more complex than the simple pair potentials in the fact that they comprise of an embedding term which in essence is a function of another function, hence they usually are slightly expensive than pair potentials. Generally, without any additional optimization, the computational time for evaluating energies and forces for a system having N atoms grows on the order of N2. Therefore, doubling the size of the system causes the computational time to grow fourfold. Usually, a cutoff radius is used to reduce the computational time encountered using a many-body potential. With the cutoff radius, only those atoms within the cutoff radius of the individual atom are taken into account for calculating the potential energy and forces. The cutoff radius has to be chosen appropriately so that one can decrease the time dependence of the simulation but also not sacrifice much on the accuracy. One of the most commonly used pair potentials is the Lennard-Jones potential, and some of the commonly used many-body potentials include the embedded-atom method

4 (EAM), Tersoff potential and the Tight-Binding Second Moment Approximation (TBSMA). I provide more detail on the Lennard-Jones and the EAM potentials in the following sections.

2.2.1 Lennard-Jones Potential

The Lennard-Jones potential [11] is seldom used to model interatomic interactions in solids, although it is best used to fit the van-der-waal’s interactions in gases or fluids. The potential is given by: A B = (− + ) Ei ∑ 12 6 (2.3) j̸=i Rij Rij where Rij is the separation between atoms i and j, and A and B are fit by matching independent physical properties. For example, in case of copper, A = 1.38 ∗ 10−132 and B = 1.17 ∗ 10−69 [12].

2.2.2 Embedded Atom Method

The Embedded Atom Method (EAM) [13] calculates the energy of an atom by aggregating the atom’s embedding energies. In realistic sense, the embedding energy is interpreted as the energy needed to move the atom’s positive nucleus from infinity into the electron cloud created by all other atoms in the simulation. In the EAM formulation, each individual atom’s energy is given by:

Ei = Fi(∑ ρα(Rij)) + ∑ ϕαβ(Rij) (2.4) j̸=i j̸=i where Fi is the embedding function denoting the energy needed to embed atom i in the electron density indicated by ρα and α and β stand for the species of atoms i and j

respectively. ϕαβ is the pairwise interaction term for atoms α and β separated by a distance of Rij. A particular type of EAM is called the Sutton-Chen Potential [14], which takes the following general form: [︄ (︄ )︄n ]︄ 1 a √ Ei = ϵ ∑ − c ρi (2.5) 2 j̸=i Rij where Rij is the separation between atoms i and j, ρi is the density term corresponding to atom i, ϵ is a parameter with dimensions of energy, c is a dimensionless parameter, a is the lattice constant, and m and n are positive integers with n greater than m. As an example,

5 the values for copper are n = 9, m = 6 and c = 39.432.

2.3 Integration Schemes

In molecular dynamics, we integrate Newton’s equations of motion. To do this, we need an integration scheme, preferably one that conserves the energy of the system. The Velocity Verlet scheme [15] is designed for doing this, as well as being relatively simple. It is often considered the best algorithm for molecular dynamics simulations. We can also consdider using simple Euler algorithm, but this algorithm suffers from large energy drift which arises from the over-estimation of the solution. For instance, if we want to simulate solids using molecular dynamics where atoms experience oscillatory movement, the Euler algorithm is particularly not well suited. Here we state the scheme for integrating the molecular dynamics equations of motion. The scheme is derived from a Taylor expansion of the equations of motion, where for each atom i the steps are as follows:

F (t) v (t + ∆t/2) = v (t) + i ∆t (2.6) i i 2m

ri(t + ∆t) = ri(t) + vi(t + ∆t/2)∆t (2.7)

Fi(t + ∆t) = −∇iUi(r(t + ∆t)) (2.8)

F (t + ∆t/2) v (t + ∆t) = v (t + ∆t/2) + i ∆t (2.9) i i 2m

(2.10)

Here, ∆t is the length of the time step, and ri(t + ∆t), vi(t + ∆t) and Fi(t + ∆t) are the positions, velocities and forces at the time t + ∆t determined with respect to the potential

energy surface Ui(r). A key feature of the implementation is that we solve for the velocity at every half timestep, and use it further to obtain the positions and forces. LAMMPS also takes advantage of this scheme for dynamically updating the neighbor lists at every half timestep, instead of rebuilding the neighbor list all over from scratch. The accuracy of this equation is of order δt4. In other words, smaller time steps increase the accuracy of this discrete time approximation.

6 Set particle positions and initialize neighbor lists

Assign particle velocities

Calculate force on each particle based on inter- atomic potential / force field

Update particle posi- tions and velocities for half time step and up- date neighbor lists

Update force based on new positions

Apply T, P constraints and boundary condi- tions on forces

Update particle posi- tions and velocities for full time step

Calculate and Repeat output physical quantities of interest

Time step limit no reached?

yes

Stop

Figure 2.1: Simplified Schematic of the molecular dynamics algorithm

7 Chapter 3

An Overview of the Methodology for Interatomic Potential Discovery

3.1 Motivation for our approach

The use of machine learning methods to develop interatomic potential models has gained a lot of popularity in the recent years [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]. We have developed an approach to develop interatomic potential models by looking at the model determination objective as a supervised learning problem [36]. We have incorporated genetic programming for implementing symbolic regression, in which we simulate the process of natural selection [36, 37] and optimize simple ex- pressions for the potential energy surface. The benefits of potential models discovered using this methodology is that try combining the best of all things considered and often meet accuracies close to that of classical methods, with linear scalability and manifold improvements in performance. We have developed an end-to-end machine learning algorithm based interatomic potential discovery software called POET (Potential Optimization using Evolutionary Techniques) [3]. At the heart of POET’s evolutionary search lies genetic programming which searches a hypothesis space of models that is formulated by combining real numbers, addition, subtraction, multiplication, division, exponentiation, and a sum over neighbors of an atom. The hypothesis space is based on physical principles. Within this hypothesis space, each function can be represented as a tree graph, as shown in Figure 3.1.

8 Figure 3.1: Tree graphs of a) Lennard-Jones potential parametrized for argon, equation , b) Sutton- Chen EAM potential parametrized for copper, equation , c) GP1 and d) GP2.

3.2 A brief overview of Genetic Programming

Genetic programming involves exploring the space of computer programs and exploit- ing the best of possibilities based on Darwin’s theory of natural selection by performing crossover and mutation operations on candidates. Genetic algorithm is an evolutionary optimization technique where the evolution usually originates from a randomly initialized population and happens iteratively through generations. At each iteration, every individ- ual in the population is assessed for certain metrics (Eg: fitness), and a select number of individuals are filtered from the population (based on certain cutoff criteria), and modified to form a new population set. This newly created population is used for the next iteration of the algorithm. The algorithm is set to terminate when either a satisfactory metric criteria (Eg: fitness cutoff) has been reached for the latest population, or a maximum numberof

9 iterations has been achieved. Genetic programming and genetic algorithms, though often used interchangeably, slightly differ from each other. Genetic algorithm is a strategy for searching optima by simulating natural selection. The states undergoing optimization can comprise of real- valued vectors, binary coded strings, etc. [38]. Thus, the building blocks these states are made of are binary numbers, real numbers, etc. Genetic algorithms can be used to optimize a lot of things, eg: atomic structures, mathematical expressions etc. Genetic programming is the application of genetic algorithm to search for optimal dynamic expressions. In genetic programming, the states consists of hierarchically coordinated computer programs whose size and form change dynamically during the optimization [39]. The computer programs can have different notions based on the problem discussed. They can be mathematical expressions, control strategies, decision trees, sets of rules, etc. The computer programs consist of function nodes (arithmetical functions, Boolean functions, relation functions, program flow control functions, etc.) and terminal nodes (numerical constants, logical constants, variables, etc.). By selecting and going through different candidates through crossover and mutation, the evolution process tries to develop an optimal computer program. Inspired by the theory of natural selection, the two operations of population evolution in Genetic algorithm are crossover and mutation. In a crossover operation, two parent candidates in a population produce offsprings by two strategies: the features (chromo- somes) of the two parent candidates are copied to the next generation, or the two parent candidates are randomly recombined (crossed-over) to form new offsprings. On the other hand, mutation is an operation used to sustain genetic diversity in the population from generation to generation. It is analogous to biological mutation. Mutation alters gene encodings in a chromosome from its initial configuration. In mutation, the final state may also be entirely different from the initial configuration.

3.3 Description of the Symbolic Regression approach

In this section, I outline the symbolic regression approach implemented in POET, complete details of which can be found in our full paper [3]. In this symbolic regression approach, we iteratively explore the hypothesis space for interatomic potential expressions that are fast, accurate and simple by means of a multi-objective optimization. In the algorithm, crossover is performed by 2 different operations: by choosing a branch randomly from one tree and replacing it with a branch chosen randomly from another tree (Figure 3.2),

10 and by forming linear combinations of randomly selected branches from two different trees - the former was randomly used 90% of the time and the latter 10% of the time. The mutation operation is performed by 3 different sub-operations: crossover of a tree with a randomly generated tree, swapping the arguments of a binary non-commutative function, and slightly modifying the expression tree by replacing (or inserting) a randomly selected non-terminal node with a randomly selected operator [40] - each of the above operations is chosen with equal probability. The depth of the tree was drawn from a distribution of mean 5 and standard deviation of 1. The overall algorithm performed crossover with a probability of 0.9, and mutation with a probability of 0.1.

Figure 3.2: Example of a crossover operation involving combining the pink subtree with the blue subtree to form a new individual.

In such evolutionary algorithms that work on optimizing an objective function, it is important to retain diversity in the population so as to improve the quality of optimization [40]. Our approach ensures the same by means of a hierarchical implementation of running the algorithm and optimizing the individuals (i.e., potential models) in separate environ- ments. Each processor is allotted its own environment, consisting of a population set and a subset of the training data. Conceptually this allows the potentials within a particular environment to develop distinctive characteristics, thereby contributing to increasing the diversity. Candidates for crossover and mutation were chosen from candidates of the current processor, individuals from other processors and a global set of models with equal probability. Finer details on the crossover and mutation operations, and specifics of the parameter optimization strategies can be found in our full paper [3].

11 Chapter 4

Computational Details and Methods of Implementation

4.1 LAMMPS and the manybody package

LAMMPS [8] is a commonly used open-source molecular dynamics package written in C++ which can be used for modeling atomic, polymeric, biological, solid-state (metals, ceramics, oxides), granular, coarse-grained, or macroscopic systems using a variety of interatomic potentials (force fields) and boundary conditions. The manybody package in LAMMPS provides support for popular many-body potentials like EAM [13], Tersoff [41], Stillinger-Weber [42], and Brenner [43] potentials, which play an important role in modeling various materials. Many body potential forms have been shown to be able to produce very reasonable values of phonon dispersion relations, elastic moduli, thermal expansion, melting properties, stacking fault energies, vacancy formation and migration energies, surface and interface energies and many other properties of metallic materials.

4.2 A peek into the core LAMMPS internals

4.2.1 Setup of the MD environment

In LAMMPS, the atoms specified by the supercell in the input settings constitute thepri- mary atoms. Upon enforcement of the periodic boundary conditions, LAMMPS internally creates a list of ghost atoms. With the primary and ghost atoms in hand, LAMMPS then builds neighbor lists for each of the primary atoms. The primary parallelization scheme in LAMMPS is spatial decomposition, which was described in detail in [14]. For a spatial decomposition, the simulation box is divided

12 Figure 4.1: A pictorial representation of the LAMMPS internal treatment of atoms. The blue circles denote the primary atoms, and the gray atoms denote the ghost atoms. Atoms inside the red circle denote the neighbors of the central red border atom, and these atoms contribute primarily to the calculations of the energies and forces of the atom in consideration.

into non-overlapping sub-domains, one per MPI task or processor. The processor is responsible for updating the forces, positions and velocities of the primary atoms within its sub-domain. This requires communication with processors owning nearby sub-domains to acquire ghost atoms’ coordinates, which contribute to the forces on owned atoms. The thickness of the buffer region containing the ghost atoms for a given sub-domain is typically determined by the maximum cutoff distance of the non-bonded interactions, namely pair styles in LAMMPS, in use. The cutoff distance defined by the non-bonded force fields is used to construct the neighbor list of individual atoms, which isinvariant during a certain number of time steps, under the assumption that the atoms would not move farther than half some skin distance over that time period. In LAMMPS we have access to different neighbor lists. These lists are built so that they fit different interatomic potentials depending on how they demand different sums over neighboring particles. The two main neighbor lists are the full neighbor list and the half neighbor list. They are different in the way that for the half neighbor list, atom i stores the information about atom j, and atom j does not store that i is a neighbor. For the basic two-body LJ-potential and the many body type potentials, the half neighbor list is commonly used. For more complicated potentials such as the SW or usc-potential, the half neighbor list is insufficient, and a full-neighbor potential might be required. There also comes an added complexity depending on the choice of algorithm for building this

13 neighbor list. The Brute force involves testing each atom against all others, which is a O(N2) operation. Efficient approaches include building Verlet lists, where the list isbuilt once every few timesteps, and the list is rebuilt once any atom moves half of the specified skin distance, and cell binning, where the grid simulation box divided into bins and in each timestep, neighbor search is done based on efficient bin screening. To integrate the Newton’s equations of motion at every step, we need an integration scheme. LAMMPS uses the velocity Verlet algorithm to do this, as well as being relatively simple.

4.2.2 Potential Model Design

First I shall take a loot at how the various potential model C++ classes are designed in LAMMPS. The main constituents of the LAMMPS potential model source code include (1) reading the EAM file, (2) spline interpolation calls, (3) energy calculation, (4) forward and reverse communication and (5) force calculation. I shall discuss each of these with respect to the EAM model implementation. To recall, following is the expression for the EAM potential model: (︄ )︄ 1 Ei = Fi ∑ fj(rij) + ∑ ϕij(rij) j̸=i 2 j̸=i ⏞ ⏟⏟ ⏞ ρi

(1) and (2) are self-explanatory: LAMMPS does the required I/O and sets up piecewise

spline arrays for each of Fi vs ρi, ρi vs rij and ϕij vs rij. Values for the force and energy computations are used from these spline arrays. There are several advantages in setting up spline arrays. The primary reason is attributed to the fact that highly complex terms can be interpolated by a simple spline function, keeping in mind the reasonable assumption that the functions involved do not involve too many saddle points. Also, since retrieving values from a precomputed spline array is a constant time operation, it is certainly bene- ficial to set up these spline arrays instead of having to analytically compute thevarious components in the interatomic potential form, which will be computationally expensive. Spline interpolation offers the best balance between time and memory consumption in computing the energies and forces. Finally, the spline interpolation approach can serve as a standardized way of interpreting different functional forms that posses a common skeletal outlook. For calculating the forces, we need not have to explicitly calculate the analytical derivative of the complete function. Instead, the derivative of the piecewise spline can be used to accurately model the actual derivative expression.

14 Figure 4.2: A pictorial explanation of the LAMMPS interpolation procedure. Splines are interpo- lated from the EAM data file which are then used for calculating salient properties for thegiven system of atoms.

The energy calculation is fairly straightforward: the embedding term for the i’th atom is calculated by first computing the density term for the ith atom and then interpolating the embedding energy from the spline array. The pair term sum for the i’th is computed by summing over all neighbors of the i’th atom and summing the spline interpolations. The force calculation however requires additional care. Following is the expression for the force of the i’th atom:

⃗ = −∇⃗ Fi ⃗ri ETot

= −∇⃗ E ⃗ri ∑ i i [︄ ]︄ = −∇⃗ F ( ) + F ( ) + (r ) ⃗ri i ρi ∑ j ρj ∑ ϕij ij j̸=i j̸=i

[︄ ⃓ ⃓ ⃓ ⃓ ⃓ ]︄ ∂Fi(ρ)⃓ ∂ fj(r)⃓ ∂Fj(ρ)⃓ ∂ fi(r)⃓ ∂ϕij(r)⃓ (⃗ri −⃗rj) = − ⃓ ⃓ + ⃓ ⃓ + ⃓ ∑ ∂ρ ⃓ ∂r ⃓ ∂ρ ⃓ ∂r ⃓ ∂r ⃓ r j̸=i ρ=ρi r=rij ρ=ρj r=rij r=rij ij

Derivative calculation would have been straightforward if we only had a pair term, as the

derivative term also depends only on rij. The additional complexity involved here is in calculating the partial derivatives for the embedding terms, because the partial derivative terms that contribute to the sum total involve embedding derivatives that involve both

rij and rji, i.e., from both the i’th atom as well as the j’th atom (which is a neighbor of the

15 Figure 4.3: A pictorial explanation of the terms involved in the force calculation. Assuming the red outline atom corresponds to atom i and the pink to atom j, Fi will have contributions from dEi/drj as well as dEj/dri.

i’th atom). Internally, LAMMPS needs to keep track of ρ for the ghost atoms as well now. For more complex interatomic potentials, more complicated derivative terms might be involved. This process becomes quite expensive with large systems having large neighbour lists.

4.2.3 LAMMPS Optimizations for minimizing unnecessary computa- tions

In order to cut down on the overall number of computations, LAMMPS has some addi- tional optimizations that are geared towards duplicate calculations. More precisely, since we also require certain terms corresponding to the ghost atom neighbors, it would be sufficient to just compute the terms for the primary atoms and merely communicate them to the ghost atoms. There are two modes of value communication in LAMMPS. In forward communication, energies and energy derivatives are calculated for the primary atoms and communicated forward to the corresponding mirror ghost atoms. The communicated values are then use for calculating the forces. Similarly, there also is a reverse communication facility to commu- nicate back the values from the ghost atoms to the current atom under consideration.

16 Figure 4.4: A pictorial representation of Forward Communication which involves communicating values computed in the primary atoms to the ghost atoms to avoid repetitive calculations.

4.3 Details of GP1 and GP2 implementations in LAMMPS

GP1 and GP2 are two of the models newly discovered using POET for Copper. The complete functional forms of these models are outlined in Section 5.1. Implementation of GP1 is quite similar to that of traditional EAM models which I have discussed above. I make use of the pair_style eam/alloy class for GP1, which requires the GP1 potential model to be implemented in the tables form discussed previously. The cutoff radius for GP1 is 5 Angstrom. In case of GP2, I create a new C++ LAMMPS model that makes additional computations in the energy and force calculation, as the functional form involves additional terms on top of the traditional EAM model. Following is the general expression for the GP2 Potential model: (︄ )︄ [︄ ]︄ 1 Ei = Fi ∑ fj(rij) ∑ Vij(rij) + c + ∑ ϕij(rij) j̸=i j̸=i 2 j̸=i ⏞ ⏟⏟ ⏞ ρi

Instead of having just an embedding term, here I have a product of an embedding term

17 and a pair summation term. With this expression in hand, I calculate the force as follows:

⃗ = −∇⃗ Fi ⃗ri ETot

= −∇⃗ E ⃗ri ∑ i i [︄ [︄ ]︄ [︄ ]︄ ]︄ = −∇⃗ F ( ) V (r ) + c + F ( ) V (r ) + c + (r ) ⃗ri i ρi ∑ ij ij ∑ j ρj ∑ jk jk ∑ ϕij ij j̸=i j̸=i k̸=j j̸=i

More terms are now involved in accurately calculating the force. Accordingly, I have carefully implemented the force evaluation, by also making use of the various LAMMPS optimizations like forward communication and reverse communication. Also, the tables file that stores the tabulations of the various components of the model, will nowhavean additional tabulation for V vs r, on top of the traditional EAM format.

18 Chapter 5

Results

5.1 Discovering new models for Copper

POET has been applied to find potential models for Copper by training on data generated using density functional theory [44] (DFT). The following metrics have been used to evaluate the models: model complexity, defined by the number of nodes in the model tree; computational cost, given by the number of neighbor atom summations involved, as these typically take up a considerable fraction of the execution time; and fitness, given by a weighted sum of the mean squared errors of the energies, forces and stresses, which were normalized to unitless values as described in the methods section:

f itness = 1000 ∗ (0.5MSEenergy + 0.4MSEf orces + 0.1MSEstress) (5.1)

To identify promising models, a three-parameter convex hull has been constructed based on these metrics. Some of the models on this hull are shown in Figure 5.1. A detailed report on the various models in the convex hull is presented in our full paper [3]. Many of the models discovered by the genetic algorithm have forms comprising of pairwise interaction terms and a many-body “glue” type attractive term which consists of a nonlinear transformation (an “embedding” term) of a sum over neighbors (the “density”). With increasing complexity, more complex terms are involved, with the least complex function merely having simple pairwise interactions, and the most complex function having a product of two embedding functions. For this work, I limit my calculations to two of the models based on their favorable tradeoff between low complexity and prediction errors, which are labelled GP1 and GP2, and use these for further analysis. In the simpler GP1 model, the embedding function is simply the inverse of the density. In the slightly complex GP2, the embedding function is similar, but it is multiplied by a sum of pairwise

19 Figure 5.1: The three-dimensional convex hull of models found by the machine-learning algorithm. f(r) is the smoothing function. aCost is based on the number of summations over neighbors. bThe models with fitness 7.8230 and 4.7294 are named GP1 and GP2, respectively.

interactions to form a glue term. It is common to have a negative square root of density like form for the embedding function; this can be seen from the second moment approximation [45]. In addition to GP1 and GP2, I also present another model which I shall call GP3, which has been discovered by running POET with GP1 and GP2 seeded and using an augmented training set that includes low-index surface data [3]. Following is a summary of the equations for GP1, GP2 and GP3:

(︂ )︂ −1 GP1 : ∑ r10.21−5.47r − 0.21r f (r) + 0.97 (︁∑ 0.33r f (r))︁

(︂ )︂ −1 GP2 : 7.33 ∑ r3.98−3.94r f (r) + 27.32 − ∑(11.13 + 0.03r11.74−2.93r) f (r) (︁∑ f (r))︁

(︂ )︂ −1 GP3 : 7.51 ∑ r3.98−3.93r f (r) + 28.01 − 0.03 ∑ r11.73−2.93r f (r) (︁∑ f (r))︁

GP3 resembles GP2 but it performs better on surface energy calculations, as shall be demonstrated in Section 5.3. From the skeletal makeup, it appears like GP1, GP2 and GP3 resemble known potential models, but actually they have much simpler functional forms than most other copper potential models, and they have a different form for the

20 attractive “glue” part of the potential. In GP1 and GP2, the attractive term instead depends on the positive inverse of a sum over pairwise interactions. Unlike the other models, this embedding function has a bounded finite value in the limit of high densities and explodes to infinity at densities close to zero. It is also worth noting that GP1, GP2 and GP3possess terms of the form of ra−br, which grows by a power law before decaying superexponentially. The resulting models demonstrate high predictive power for condensed phases and defects that were not included in the training data, which I shall demonstrate by calculating specific physical properties using these models.

5.2 Stacking Fault Energy Calculations

Stacking fault is a commonly occurring planar fault in materials. Generalized Stacking Fault Energy (GSFE) is an important parameter in the theory of phase decomposition and plastic deformation. Studying these planar fault energies by Molecular Dynamics studies opens new opportunities for optimization and design of alloys.

The free energy difference per area (A2D) between the structure containing the ’wrong’

stacking sequence (Fs f ) and the perfect sequence (Ff cc) is defined as the Stacking fault energy (γ). For the FCC structure, it can be calculated as

(Fs f − Ff cc) γ = (5.2) A2D where A2D is the area corresponding to the slip plane. The stacking sequence of a ho- mogeneous FCC structure should be "...ABCABCABC..." along the ⟨111⟩ direction. An intrinsic stacking fault is formed by missing an atomic plane like A, leading to a se- quence like "...ABCBCABC...", and an Extrinsic stacking fault (ESF) can be formed by inserting an atomic plane in the stacking sequence, forming a stacking sequence like "...ABCACBCABC...". These faults cannot be externally created but are formed during plastic deformation in FCC materials by the movement of dislocations. Sometimes, de- pending on the mechanism of deformation, an unstable stacking fault configuration also is encountered. An unstable stacking fault is a high energy fault caused by completely disrupting the stacking sequence and causing the slip plane atoms to take up positions at unstable voids, forming a stacking sequence like "...ABCABCA’B’C’...". In my work, I shall mainly look at calculating the intrinsic stacking fault and unstable stacking fault energies for Copper using the models discovered.

21 5.2.1 Mechanistic insights of stacking fault formation in FCC metals

The most common slip system in a FCC structure is ⟨110⟩{111}. The smallest possible 1 dislocation caused by this shear deformation has a Burgers vector b = 2 ⟨110⟩. This dislocation has an energy proportional to |b|2. Energetically this full dislocation can be considered a combination of 2 partial dislocations:

1 1 1 [110] = [212] + [121] (5.3) 2 6 6 One of above partial dislocations, called the leading partial dislocation, can sweep over one of the {111} planes leaving behind an intrinsic stacking fault. The intrinsic stacking fault area can however be recovered, if the other partial dislocation, called the trailing partial dislocation, slides on the same plane similar to the leading partial. An extrinsic stacking fault can be formed if the second leading partial nucleates and slides on the adjacent slip plane next to the first leading partial. Considering the extrinsic stacking fault as a two-layer thin nucleus, the second partial is usually called twinning partial. The twinning grows as subsequent twinning partials continuously form. Twinning, stacking fault and full slip described above are the three most common deformation mechanisms of the FCC metals via movements of dislocations.

Figure 5.2: Schematic of stacking fault energetics in an FCC structure. The orange and red blocks correspond to the top and bottom halves of the slab respectively, and the purple block depicts the slipped-over half that has caused the formation of an extrinsic stacking fault. The blue curve depicts the comparison between the energies for intrinsic, extrinsic and unstable stacking faults.

22 Stacking fault energy plays a crucial role in determining the plastic deformation mecha- nisms of metals. Plastic deformations in fcc metals occur through different modes including partial and perfect dislocation gliding, phase transformation (resulting in transformation- induced plasticity, TRIP) and twinning (resulting in twinning-induced plasticity, TWIP). Stacking fault energy is an important parameter for understanding plastic deformation mechanisms in fcc metals, since it governs the activation of these mechanisms. Although dislocation gliding is abundant in metals, it is the dominant mechanism where the SFE is quite high. In case of steels, the TWIP mechanism occurs commonly in stable austenitic steels where the Gibbs free energy of the martensitic transformation, and the TRIP mecha- nism, on the other hand, appears in metastable austenite.

5.2.2 Calculating Stacking Fault Energy with LAMMPS

For calculating stacking fault energies in LAMMPS, I adopt the slab model. I first start with creating a slab of 18 to 20 layers of atoms (around 6 ABC stackings) such that the supercell is bounded by lattice vectors < 112̄ >, < 1̄10 > and < 111 >. It is recommended to limit the total number of atoms in the supercell to a low reasonable number, which in turn advocates short lattice vector lengths for < 112̄ > and < 1̄10 > (vectors along the plane of stacking). I use this slab for calculating the bulk energy, which simply is the sum total of the energy contributions due to each of the atoms in the supercell. For creating a stable intrinsic stacking fault, I create a copy of this slab and displace the upper half atoms by a distance of b = a/6 < 112̄ >. This disrupts the stacking sequence in the middle of the slab. For creating an unstable stacking fault, I displace the upper half atoms by a distance of b = a/12 < 112̄ >. This creates a totally new stacking sequence A’B’C’ for the displaced half atoms. The stacking fault energies can be calculated by simply finding the difference between the energy of the stacking fault supercell and theenergy of the bulk supercell which can be calculated by running simple energy calculations with LAMMPS. However, caution needs to be taken while considering the periodic boundary conditions especially for the unstable stacking fault. In case surfaceless slabs are being used, enforcing periodic boundary conditions could create two stacking faults, one in the middle of the slab and one at the surface. It is totally acceptable to have such a configuration as long as the z axis <111> length is long enough to prevent interactions between the two stacking faults. The difference between the bulk and the stacking fault supercells gives us twice the stacking fault energy. Once I find the stacking fault energy in units of J or mJ, I appropriate divide the energy by the slip plane area, which in this case will be the product of lengths of lattice vectors along < 112̄ > and < 110̄ >.

23 Figure 5.3: Intrinsic stacking fault generated from a bulk slab (left) by moving top half atoms by a distance of one-sixth the supercell parameter along < 112̄ > (right). The red rectangle shows the stacking fault.

5.2.3 Stacking fault results for GP1 and GP2

Table 5.1 outlines the DFT, GP1, GP2 and GP3 intrinsic stacking fault energy and unstable stacking fault energy computed with a (111) slab, with a gap between periodic slabs of 20 Angstrom and a thickness of 22 (111) atomic layers. The atoms were only allowed to relax in the direction normal to the slab interface for the USF computation. The errors associated with both GP1 and GP2 for the formation energy of a stable intrinsic stacking fault are greater than other models that have reported comparisons to this value. The largest absolute error, 29mJ/m2 for GP1, is 10.2 meV/atom along the (111) plane of the fault. The errors are also significantly higher for estimating the formation energy of an unstable stacking fault with GP1 and GP2, but it is hard to assess how this compares to other models as none of the other models I have compared against report

24 Model Complexity pred. - ref. (mJ/m2) pred. - ref. (mJ/m2)

Description Number of nodes γISF γUSF Units Count % % GP1 21 −29a −44a GP3 26 −6a −27a GP2 28 −20a −31a EAM2 113 −9b - CuNi 150 0b - EAM1 158 −1b - MCu31 584 6b 1a

Table 5.1: Prediction errors for the intrinsic stacking fault (γISF) energy and the unstable stacking fault (γUSF) energy. (a) ab initio target data. (b) experimental target data.

benchmark values for the unstable stacking fault energy.

5.3 Surface Energy Calculations

The surface energy γ of a solid is a fundamental physical parameter that governs a wide range of processes, such the stress needed for crack growth, the rate of sintering, and the shape and growth of particles. Surface energies of interacting surfaces are critical in industrial applications including adhesion, protective coating operations, and lubrication. With respect to the thermodynamics of small (nano) particles, the surface energy is an essential and often the dominant quantity. This is attributed to the fact that volume-to- surface ratio is fast decreasing with decreasing nanoparticle size, hence enhancing influence of the surface properties. For example, it has been frequently reported that a modification in the surface energy contributes to a corresponding change of the nanoparticle shape [46, 47]. Different approaches, such as classical thermodynamics calculations, molecular dy- namics simulations, and ab initio calculations exist to predict surface energy. However, there usually is a high degree of uncertainty associated with calculating surface energies accurately. In a periodic slab calculation which I also shall use in my surface energy calculations, the surface energy is defined as the difference between the total energy ofa surface slab and that of the bulk material. As such, only two quantities must be computed

25 Model Complexity % error % error % error Description Number of nodes (100) (110) (111) Units Count % % % GP1 21 −8.2a −1.3a −4.8a GP3 26 −10.5a −6.1a −5.1a GP2 28 −14.2a −9.7a −10.5a ABCHM 146 −49.7a −47.4a −53.8a CuNi 150 - - - EAM1 158 - - - Cu1 348 −50.0a −48.4a −53.8a Cuu3 503 - - - MCu31 584 −39.3a −37.7a −40.1a

Table 5.2: Prediction errors for surface energies. (a) ab initio target data. (b) experimental target data.

to determine the surface energy. This simple task is complicated by the fact that the results obtained with commonly used DFT exchange-correlation functionals and traditional in- teratomic potentials often differ by more than 30%. Moreover, due to the lack of reliable experimental surface energies to use as references, it is very difficult to determine which interatomic potential models are accurate and trustworthy.

5.3.1 Calculating Surface Energies with LAMMPS

For calculating surface energies in LAMMPS, I adopt the slab model as before. I consider two configurations: one with a bulk configuration containing 18 - 20 layers ofatoms,and another with the same configuration but with the top and bottom atom layers exposed to vacuum. The surface energy can be calculated by computing the difference between the surface slab and the bulk slab. Appropriate unit conversions can be done by dividing the surface energy (in J or mJ) by the corresponding surface area.

5.3.2 Surface Energy Results for GP1 and GP2

In the past, it has always been a challenge to predict surface energies using EAM models. But in this case, GP1 underpredicts surface energies by only 8%, 1% and 5% respectively,

26 and GP2 underpredicts them by 14%, 10% and 10% respectively. These errors are much lower as compared to predictions from other EAM type models which were trained on ab-initio calculations for copper. This shows how remarkable the performance of GP1 and GP2 on predicting surface energies is, mainly because information about surface energies has not been included in the training set; this is a case of machine-learning potential models demonstrating extrapolative predictive ability. GP3 demonstrates better performance as compared to GP1 and GP2 in surface energies. The absolute error for the weighted surface energies is 7% for GP3, as compared to 13% for GP2. In our full paper [48], we also have calculated weighted average surface energies over 13 different low-index surface facets, where the weights are based on the relative surface areas in Wulff constructions [49], to make a more accurate comparison with previously established interatomic potential models.

5.4 Other Property Calculations for Copper using GP1 and GP2

In addition to the above calculations on surface energies and stacking fault energies, I also report results on other properties calculated using the LAMMPS implementations 1. The errors on the elastic constants predicted by GP2 are almost as small as for EAM1, the elastic constant prediction errors for the simpler GP1 are in comparable ranges to ABCHM. The remarkable predictive power of GP1 and GP2 models is also seen from properties involving hcp and bcc phases, because no hcp or bcc data were included in the training set for POET. For the bcc lattice constant, the relative energy between the fcc and bcc phases, and the relative energy between fcc and hcp phases, GP1 and GP2 either outperform or perform comparably to other models. With regard to predicting phonon frequencies, GP2 performs well and GP1, even though has higher errors, still shows commendable results. For vacancy formation en- ergies in the dilute limit, GP2 performs very well, with an error of 2 meV relative to the extrapolated DFT energy. On average, GP2 outperforms all other models on phonon frequencies used for validation, with a mean absolute error of 2.0%. GP1 does not do as well as GP2 on phonon frequencies, performing on average slightly better than EAM2 but worse than EAM1 and CuNi. GP3 performs worse on average on elastic constants and phonon frequencies, but significantly better on the dumbbell formation energy and stack- ing fault energies. It is difficult to assess the extent to which these changes in performance

1These calculations have been performed by Alberto Hernandez, Johns Hopkins University

27 Property Metric SC GP1 GP3 GP2 EAM2 ABCHM CuNi EAM1 Complexity Number of nodes 15 21 26 28 113 146 150 158 a b b b C11 % error −3.6 5.8 2.9 −0.7 1.9 -0.6 0.1 -0.1 a b b b C12 % error 3.8 7.0 2.5 0.5 0.2 -4.1 0 0.1 b b b C44 % error -29.4 −2.0 −0.4 −1.2 0 -6.6 0 0.5

a0 (fcc) % error 0 -0.3 0.2 0.3 0 -0.7 0 0

a0 (bcc) % error - 0.1 -0.2 -0.1 - 2.4 0.9 - ∆E (bcc – fcc) pred. – ref. (meV/atom) - 8 12 4 2c -11 -13 2 ∆E (hcp – fcc) pred. – ref. (meV/atom) - -3 -1 -2 −6c -2 -4 -4

Ev (unrelaxed, 2*2*2) pred. – ref. (meV) - 32 -106 -123 - 80 - -

Ev pred. – ref. (meV) - 138 12 2 -17 - 6 -3

Em pred. – ref. (meV) - -106 -49 -37 -20 - -20 -21 d d Ea = Ev + Em pred. – ref. (meV) - 32 -36 -34 -37 −24 −14 -24 28 Edumbbell pred. – ref. (meV) - 49 -15 -56 - 250 - -

νL(X) % error - 8.2 4.1 3.2 7.6 - 0 6

νT (X) % error - 0.7 0.1 0 1.2 - -0.2 0.8

νL(L) % error - 6.5 1.7 0.5 6.6 - -0.8 4.6

νT (L) % error - -2.2 -2.3 -3 -1.5 - -9.4 -2.6

νL(K) % error - 9.1 5.1 4.3 8 - -0.8 5.4

νT1(K) % error - 1.6 0.3 0.1 2.4 - 1.1 1.1

νT2(K) % error - 6.9 3 2.2 9 - 0.9 7

γISF pred. – ref. (mJ/m2) - -29 -6 -20 -9 - 0 -1

γUSF pred. – ref. (mJ/m2) - -44 -27 -31 - - - -

Table 5.3: Error of the values predicted by interatomic potentials for copper relative to the respective reference. Details about EAM, ABCHM, CuNi, EAM1 are available in the Appendix. Cij are elastic constants, a0 is the lattice parameter, ∆E (bcc-fcc) is the energy difference between bcc and fcc phases, Ev is the fcc bulk vacancy formation energy, Ev (unrelaxed, 2*2*2) is the unrelaxed vacancy formation energy computed on a 2*2*2 supercell, Em is the migration energy for fcc bulk vacancy diffusion, Ea is the activation energy for fcc bulk vacancy a diffusion, Edumbbell is the dumbbell <100> formation energy, γ is the phonon frequency, and γISF and γUSF are the intrinsic and unstable stacking fault energies, respectively. SC was fit b c d to the bulk modulus. Elastic constants were used to select GP1, GP2, and GP3 from the convex hull. Fit to ensure that Ef cc < Ebcc and Ef cc < Ehcp. Fit to vacancy formation energy. can be attributed to the addition of surfaces to the training data due to the stochastic nature of the search. It is interesting to note the commendable predictive accuracies of these models. Possible reasons could be that GP1 and GP2 assume amongst the simplest functional forms, and in practice simpler models are less likely to overfit the training data [50]. Also, the hypothesis space used to discover these models was designed to prioritize models to resemble those having fundamental physical justification. In general, the more we can incorporate the notion of physics in the machine learning procedure, higher are the chances that the derived model will have extrapolative predictive power. It is also noteworthy to see the benefit of spinning up models in LAMMPS and using them to obtain reliable property calculations. The tradeoff between accuracy and model simplicity is clearly seen in the property predictions above. Even though GP2 assumes a more complex expression as compared to GP1, it is able to yield lesser errors as compared to simpler models in predicting properties like surface energies, vacancy formation energies, phonon frequencies etc.

5.5 Benchmarking results

5.5.1 Serial Performance

Figure 5.4: Computational cost of potential models in LAMMPS. SC (5) uses a cutoff distance of 5 Angstrom, SC uses a cutoff distance of 10 Angstrom. The cost is similar for SC (5), EAM1, GP1, GP2 and GP3.

29 The LAMMPS model performances were measured in a system with 32 atoms for 10 million relaxation steps with a timestep of 1 fs in a single core. The paper by Sutton and Chen does not report a cutoff radius, but we found that a radius of at least 10 Angstrom was required to reproduce their results. If I use the same 5 Angstrom radius as used for GP1 and GP2, Sutton Chen EAM and GP1 have similar speeds because both are EAM-type potentials with 2 summations. Although GP1, GP2, and GP3 have simpler functional forms as compared to other EAM-type models, they show similar computational costs when implemented in LAMMPS due to the extensive use of tabulated values. GP1 takes 2.1 µs/step/atom, GP2 3.5µ s/step/atom, and GP3 takes 3.6 µs/step/atom, whereas EAM1 has a cost of 3.0 µs/step/atom. These speeds rank them among the fastest potential models, capable of modeling systems at large time and length scales. EAM1 is slower than GP1 because it used a greater cutoff distance of 5.50679 Angstrom. GP2 is slower because it has 3 summations. However the difference in speed between the potentials compared in the figure is small compared to the difference in speed between EAM and other potential models, which can be several orders of magnitude [51, 52]. The computational cost was measured on a single core of a Haswell node with a clock speed of 2.5 GHz.

5.5.2 Parallel Performance

Figure 5.5: Parallel efficiencies of GP1 and GP2 potential models in LAMMPS.

The parallel performance benchmarks were measured on a multi-core Haswell node with a clock speed of 2.5 GHz. I assess the parallel performance by computing the parallel

30 efficiency. Parallel efficiency is defined as the ratio of speedup to the number ofprocessors [63]. Parallel efficiency measures the fraction of time for which a processor is usefully utilized. The above plot shows the parallel efficiencies for the same 10 million relaxation runas above, run on different numbers of processors and scaled-size efficiency for runs with 32K atoms/proc. Ideally, as per Amdahl’s law [53], the speedup of a program using multiple processors in should be limited by the time needed for the serial fraction of the problem, i.e. parallel efficiency must be within unity. But I have obtained parallel efficiencies greater than 1. This could be due to use of advanced parallel processing capabilities like superlinear speedup [54], which usually is attributed to efficient cache usage and better memory access algorithms. Albeit this, the overall message conveyed through the plot is that GP1 and the newly discovered GP2 models have good overall parallel efficiency.

31 Chapter 6

Discussions and Future Work

6.1 Other implementations

In this work [3], we have demonstrated POET as a proof of concept to discover interatomic potentials for single element systems. I have attempted to extend POET for multi-element systems as well. The challenge involved is in the treatment for different elementwise interaction terms in the genetic algorithm. In the current alpha release of POET, all the training data used are based on snapshots of DFT and MD runs from single element systems (for more information on the training data used for Cu, please refer to the Appendix). Here, I have begun by generating training data for simple multielement systems. The preliminary data I have generated are for Cu-Ni [55] and Al-Ni [56] systems using EAM-alloy-type potentials. I have generated snapshots (1 snapshot every 100 steps with a time step of 1 fs) of 32-atom DFT molecular dynamics simulations on several different phases of Cu-Ni and Al-Ni: 25-75, 50-50, 75-25 and the respective unary constituents. 50 snapshots at 300K (NVT), 50 snapshots at the melting points of the respective phases (NVT) and 50 snapshots at the melting point (NPT at 100 kPa) have been generated. In the current alpha release of POET, atom wise summation nodes do not explicitly check for specific conditions on the nature of the atom species over which the summation is carried out, because the system being a unary system contained only one elemental species and we had only interactions between the species and itself. Now, I have provided support to check for the specific species while performing the atom wise summation. This ensures that we have terms in the model that correspond to each possible pairwise species combination in the alloy. For example, in case of the Cu-Ni system, we can expect to have contributions from each of Cu-Cu, Ni-Ni and Cu-Ni terms.

32 Initial prediction results using this training data show promising results in terms of the functional forms discovered. During the evolution of the genetic algorithm training phase, the predicted models involved a good variety of interaction terms, and also had a mix of pair terms and manybody terms. Since the training phase is expected to be much longer than what it took for the single element system, obtaining well converged models will take much higher time. Hence, I leave the complete optimization and discovery of multi-element models for future work.

6.2 Future Work

As part of this thesis, I have demonstrated the steps involved in creating a new interatomic potential in LAMMPS. Clearly, implementing a potential from scratch requires a lot of manual effort and requires utmost care to be taken while calculating the analytical ex- pressions for the forces and derivatives. I envision creating an artificial intelligence tool that would allows a user to just choose the elements for which he/she would like to have new potential models discovered, and the AI tool will take care of all the rest of the stuff including choosing the training data, setting up and running POET, creating the LAMMPS scripts, performing the post-processing operations etc. Clearly, this would involve a lot of brainstorming and manpower in the forward deployment side, but there would be immense benefits for having such a tool. Having such a tool would enable any enduserto easily obtain interatomic potentials for their own choice of systems. There are also some notable limitations and areas for improvement for the genetic algorithm approach. Firstly, for each system studied, it would be important to make sure that the hypothesis space contains components that capture important physical contributions to the potential energy; for example, for many systems it will likely be necessary to introduce terms that depend on bond angles, which was not done in the current implementation of POET. Second, in our current work we have used fixed inner and outer cutoff radii, but it would certainly be beneficial to let them participate inthe optimization strategy so that they could arrive at optimal values based on the algorithmic search. There is also the question of finding which of the discovered models have the best balance between speed and predictive accuracy. A number of strategies could be adopted to achieve this, including by evaluating performance against validation data, but it still remains hazy on which approach works best. Despite these current limitations, we have been instrumental in demonstrating that machine learning holds great value in improving the accuracy of atomistic calculations at extreme time and length scales.

33 In addition, as mentioned in the previous section, active efforts are underway in establishing multi-element compatibility for POET, upon which we will have the ability to discover accurate and efficient interatomic potentials for alloys and intermetallics. Since the bottleneck involved here is in the overall training time and the diversity required in training data to be able to accurately represent various atomic environments, we shall require deeper investigation and a step-by-step bottom-up approach in attempting to "rediscover" and then discover new interatomic potentials for multi-element systems.

6.3 Code Availability

The instructions and files required to use GP1, GP2 and GP3 with LAMMPS are provided in the full paper [3]. The code for POET is open source and available at https://gitlab. com/muellergroup/poet.

34 Appendix A

Useful information on LAMMPS

A.1 Anatomy of the LAMMPS EAM funcfl file

Line # Description 1 Comment (ignored) 2 atomic number, mass, lattice constant, lattice type (e.g. FCC) Nrho, drho, Nr, dr, cutoff

Nrho = number of data points of rho in the file, Drho = increment of rho, Nr = number of data points for r_distance, 3 dr = cutoff/Nr, cutoff = the greatest max. range of repuls. potential from the 2 elements Example: 10000 5E-02 10000 5.3E-04 5.3E+00 4 - (Nrho/5 + 3) each line contains 5 values, each value is calculated from the embedded function at intervals of drho. Contd. from prev. line until each line contains 5 values, each value is calculated the next (Nr/5) from the density function at intervals of dr. Contd. from prev. line until each line contains 5 values, each value is calculated the next (Nr/5) from the density function at intervals of dr.

Table A.1: Line-by-line description of a funcfl file.

35 A.2 Tips and tricks on creating potential models in LAMMPS

• First, take some time to go through the installation instructions and install a basic version of LAMMPS locally. Take a look at what all add-on packages you might require. For example, running and testing many-body potential models like EAM will require installing the manybody package. If you have access to high performance facilities with GPU, you might also take a look at the GPU optimized versions of LAMMPS.

• The best place to start at would be by brushing through the documentation of LAMMPS (https://lammps.sandia.gov/doc/Manual.html). Each and every small detail of LAMMPS is well documented, and there are plenty of example simulations to try out. The documentation also could provide a rough idea of the breakdown of various features in LAMMPS.

• The next step would be to take a look at the implementation of the simplest LAMMPS potential: The Lennard Jones potential. The implementation is very straightforward and simple, and this would provide a flavor of how LAMMPS classes are designed, how the environment is set up internally, how the energies and forces are calcuulated, and how the final results are reported.

• Next, take a look at the various potential models already implemented in LAMMPS, and try finding a model that is closest to the model you are dealing with, andmakean attempt in first executing a dry run of either an MD calculation or a simple relaxation run with this particular potential model.

• While trying to understand the source code of the potential model, create break- points and debug wherever possible! It is important that you get a concrete un- derstanding of what is going on under the hood and what levels of LAMMPS optimizations are being carried out.

• While beginning to implement a new potential model, break down the problem into smaller parts. For example, if you’re trying to implement an EAM-type model, begin with the pair term, analyse the energy and the derivative terms, plug them appropriately in the LAMMPS source code, verify if the implementation is correct, and then repeat the same for the many-body term as well. Be very careful while calculating the analytical derivatives for the force expressions: Jot down the complete expression in a piece of paper and capture the fine details by considering the complete details of an atom i in a system of N atoms.

36 • If you are dealing with implementing a potential data file (like the EAM file), un- derstand the anatomy of the data file and verify that the parsing operations in LAMMPS go in accordance with the data file anatomy. Also, pay attention to the cutoff radii, spacing values, value counts etc. The choice of these values depend on the complexity of the model and the system: more complex systems generally require higher orders of resolution.

• Finally, perform benchmark tests and check if the implementation is on comparable standards with existing potentials.

• If you are stuck in understanding certain implementations or feel like a certain LAMMPS feature is lacking documentation, feel free to reach out to the LAMMPS help community.

A.3 Enabling GP1, GP2 and GP3 in LAMMPS

Note: All of the LAMMPS source code and the potential files can be found in the full paper [3]. GP1 can be used under the pair_style eam/alloy in LAMMPS. Cu_GP1.eam is the corresponding potential file. The following is an example input specification:

pair_style eam/alloy pair_coeff * * Cu_GP1.eam Cu

GP2 and GP3 use pair_style poet and require the potential file Cu_GP2.poet or Cu_GP3.poet, respectively. The following is an example input specification:

pair_style poet pair_coeff * * Cu_GP2.poet Cu

The poet pair_style can be compiled in LAMMPS following these steps:

• Copy the files pair_poet.cpp and pair_poet.h to /src/MANYBODY and edit the file /src/Makefile.list by adding pair_poet.cpp and pair_poet.h to the end of the respective lines.

• make LAMMPS by including the yes-manybody flag

37 Appendix B

Useful information on POET

B.1 Details of the training data for running POET on Cu

We ran POET to find potential models from data generated using density functional theory [44] (DFT). For this purpose, 150 snapshots have been generated (1 snapshot every 100 steps with a time step of 1 fs) of 32-atom DFT molecular dynamics simulations on fcc copper: 50 snapshots at 300K (NVT), 50 snapshots at 1400 K (NVT) and 50 snapshots at 1400 K (NPT at 100 kPa). The copper had melted and lost its fcc structure for the simulations at 1400 K. The data consisted of 150 energies, 14400 components of forces and 900 components of virial stress tensors. One half was randomly selected for training and the other half for validation.

38 B.2 Description of the potential models

Following is a description of models used in Table 5.1 for comparing against GP1, GP2 and GP3.

Acronym Description Fitting procedure

SC1 Sutton-Chen (SC) EAM interatomic potential. Experimental data Defined by a Finnis-Sinclair [48] potential with a van der Waals term for long-range interactions. Developed for metallic bonding and mechanical interactions between clusters GP1, GP2 Interatomic potential developed in this work Ab initio data and GP3 EAM2 [57] Compared against EAM1 in the article. [57] De- Experimental data fined by a Morse [58] function, the universal equation of state [59] and the density related to a 4s orbital. Developed for energies and me- chanical stability of non-equilibrium structures ABCHM Extended the potential by Ackland et al. [61] Ab initio and experimental [60] (a Finnis-Sinclair potential [48]) by adding a data. Melting properties and quadratic term in the embedding function to im- crystalline properties prove the melting point. Developed for - lization kinetics from deeply undercooled melts CuNi [55] Defined by a Morse function [58], the universal Experimental data to train the equation of state [59] and a hyperbolic tangent Cu potential which considers the shape of the 3d orbital. De- veloped for Cu-Ni alloys EAM1 [57] Based on Morse potentials, unit step functions, Experimental data with ab- and other terms. Widely used, especially for initio data for relative en- defect properties in copper. [62] Developed ergies of hcp, bcc, and fcc for energies and mechanical stability of non- phases, and energies of the equilibrium structures fcc phase and a diatomic molecule under strong com- pression

Table B.1: Acronyms used for the Interatomic Potential Models

39 References

[1] S. Yip. “Handbook of Materials Modeling”. In: Springer (2005). [2] J. Hafner. In: Acta Mater 48 (2000), p. 71. [3] A. Hernandez et al. “Fast, accurate, and transferable many-body interatomic poten- tials by symbolic regression”. In: npj Comput Mater 5 (2019), p. 112. [4] M. Schmidt and H. Lipson. “Distilling Free-Form Natural Laws from Experimental Data”. In: Science 324 (2009), pp. 81–85. [5] D. W. Brenner, O. A. Shenderova, and D. A. Areshkin. “Quantum-Based Analytic Interatomic Forces and Materials Simulation”. In: Reviews in (1998). [6] S. B. Sinnott and D. W. Brenner. “Three decades of many-body potentials in materials research”. In: MRS Bulletin 37 (2012), pp. 469–473. [7] M. W. Finnis. “Concepts for simulating and understanding materials at the atomic scale”. In: MRS Bulletin 37 (2012), pp. 477–484. [8] S. J. Plimpton. “Fast Parallel Algorithms for Short-Range Molecular Dynamics”. In: J Comp Phys (1995), pp. 1–19. [9] J.D. Gale. “GULP - a computer program for the symmetry adapted simulation of solids”. In: JCS Faraday Trans. 93 (1997), p. 629. [10] B. J. Alder and T. E. Wainwright. “Studies in Molecular Dynamics. I. General Method”. In: The Journal of Chemical Physics (1959), pp. 459–466. [11] Lennard-Jones and J. E. Cohesion. In: Proceedings of the Physical Society 43 (1931), pp. 461–482. [12] Y. N. Zhang et al. “Modified Lennard-Jones potentials for Cu and Ag based onthe dense gaslike model of viscosity for liquid metals”. In: Phys. Rev. B 75 (2007). [13] M. I. Baskes and Murray S. Daw. “Embedded-atom method: Derivation and appli- cation to impurities, surfaces, and other defects in metals”. In: Physical Review B 29 (1984). [14] A. P. Sutton and J. Chen. In: Phil. Mag. Lett. 61 (1990). [15] Loup. Verlet. “Computer "Experiments" on Classical Fluids. I. Thermodynamical Properties of Lennard-Jones Molecules”. In: Physical Review 159 (1967), pp. 98–103.

40 [16] A. P. Bartók et al. “Gaussian Approximation Potentials: The Accuracy of Quantum Mechanics, without the Electrons”. In: Phys. Rev. Lett. 104 (2010). [17] A. P. Thompson et al. “Spectral neighbor analysis method for automated generation of quantum-accurate interatomic potentials”. In: J. Comput. Phys 285 (2015), pp. 316– 330. [18] J. Behler and M Parrinello. “Generalized neural-network representation of high- dimensional potential-energy surfaces”. In: Physical Review Letters 98 (2007). [19] T. D. et al Huan. “A universal strategy for the creation of machine learning-based atomistic force fields”. In: npj Computational Materials 37 (2017). [20] A Shapeev. “Moment Tensor Potentials: A Class of Systematically Improvable In- teratomic Potentials”. In: Multiscale Modeling and Simulation 14 (2016), pp. 1153– 1173. [21] M. Rupp et al. “Fast and Accurate Modeling of Molecular Atomization Energies with Machine Learning”. In: Physical Review Letters 108 (2012). [22] R. M. Balabin and E. I Lomakina. “Support vector machine regression (LS-SVM)—an alternative to artificial neural networks (ANNs) for the analysis of quantum chem- istry data”. In: Physical Chemistry Chemical Physics 13 (2011), pp. 11710–11718. [23] A. Seko, A. Takahashi, and I Tanaka. “First-principles interatomic potentials for ten elemental metals via compressed sensing”. In: Physical Review B 92 (2015). [24] W. M. Brown, A. P. Thompson, and P. A. Schultz. “Efficient hybrid evolutionary optimization of interatomic potential models”. In: The Journal of Chemical Physics 132 (2010). [25] T. Mueller and G. Ceder. “Bayesian approach to cluster expansions”. In: Physical Review B 80 (2009). [26] J. Behler. “Machine learning potentials for atomistic simulations”. In: The Journal of Chemical Physics 145 (2016). [27] S. et al Chmiela. “Machine learning of accurate energy-conserving molecular force fields”. In: Science Advances 3 (2017). [28] Z. Li, J. R. Kermode, and De Vita. “Molecular Dynamics with On-the-Fly Machine Learning of Quantum-Mechanical Forces”. In: Physical Review Letters 114 (2015). [29] V. Botu and R. Ramprasad. “Adaptive machine learning framework to accelerate ab initio molecular dynamics”. In: International Journal of 115 (2015), pp. 1074–1083. [30] N. Artrith, A. Urban, and G. Ceder. “Efficient and accurate machine-learning inter- polation of atomic energies in compositions with many species”. In: Physical Review B 96 (2017).

41 [31] J. S. Smith, O. Isayev, and A. E. Roitberg. “ANI-1: an extensible neural network potential with DFT accuracy at force field computational cost”. In: Chemical Science 8 (2017), pp. 3192–3203. [32] L. Cao, C. Li, and T Mueller. “The Use of Cluster Expansions To Predict the Structures and Properties of Surfaces and Nanostructured Materials”. In: Journal of Chemical Information and Modeling 58 (2018), pp. 2401–2413. [33] L. Zhang et al. “Deep Potential Molecular Dynamics: A Scalable Model with the Accuracy of Quantum Mechanics”. In: Physical Review Letters 120 (2018). [34] C. C. Yunxing Zuo et al. “A Performance and Cost Assessment of Machine Learning Interatomic Potentials”. In: arXiv:1906.08888v3 [physics.comp-ph] (2019). [35] C. et al. Nyshadham. “Machine-learned multi-system surrogate models for materials prediction”. In: npj Computational Materials 5.51 (2019). [36] T. Mueller, A. G. Kusne, and R. Ramprasad. Vol. 29. John Wiley and Sons, Inc., 2016. [37] J. R. Koza. Genetic programming - on the programming of computers by means of natural selection. 1992. [38] M. Gen and R. Cheng. John Wiley & Sons, 1997. [39] J.R. Koza. The MIT Press: Cambridge, MA, 1992. [40] R. Poli, W. B. Langdon, and N. F McPhee. A Field Guide to Genetic Programming. 2008. [41] J. Tersoff. “Modeling solid-state chemistry: Interatomic potentials for multicompo- nent systems”. In: Phys. Rev. B 31 (1985), pp. 5566–5568. [42] F. H. Stillinger and T. A. Weber. “Computer simulation of local order in condensed phases of silicon”. In: Phys Rev B 31 (1985), pp. 5262–5271. [43] D. W. Brenner et al. “A second-generation reactive empirical bond order (REBO) potential energy expression for hydrocarbons”. In: J. Phys.: Condens. Matter 14 (2002). [44] P. Hohenberg and W. Kohn. “Inhomogeneous Electron Gas”. In: Physical Review 136 (1964), B864–B871. [45] D. W. Brenner, O. A. Shenderova, and D. A Areshkin. “Quantum-Based Analytic Interatomic Forces and Materials Simulation”. In: Reviews in Computational Chemistry (1998). [46] Y. Chen et al. “Shape controlled growth of gold nanoparticles by a solution synthesis.” In: Chem. Commun. 33 (2005), pp. 4181–4183. [47] M. Grzelczak et al. “Shape control in gold nanoparticle synthesis.” In: Chem. Soc. Rev. 37 (2008), pp. 1783–1791. [48] M. W. Finnis and J. E. Sinclair. “A simple empirical N-body potential for transition metals.” In: Philosophical Magazine A 50 (1984), pp. 45–55. [49] G. Wulff. “Zur Frage der Geschwindigkeit des Wachstums und der Auflösung der Krystallflagen.” In: Z. Kryst. Mineral. 34 (1901).

42 [50] D. M. Hawkins. “The Problem of Overfitting.” In: Journal of Chemical Information and Computer Sciences 44 (2004), pp. 1–12. [51] S. J. Plimpton and A. P Thompson. “Computational aspects of many-body poten- tials”. In: MRS Bulletin 30 (2012), pp. 513–521. [52] H. et al Park. “Ab initio based empirical potential used to study the mechanical properties of molybdenum”. In: Phys. Rev. B 85 (2012). [53] Gene M. Amdahl. “Validity of the Single Processor Approach to Achieving Large Scale Computing Capabilities”. In: Proceedings of the April 18-20, 1967, Spring Joint Computer Conference. AFIPS ’67 (Spring). Atlantic City, New Jersey: ACM, 1967, pp. 483–485. [54] X. Ye et al. “Hierarchical Multialgorithm Parallel Circuit Simulation”. In: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 30.1 (Jan. 2011), pp. 45–58. ISSN: 1937-4151. [55] Berk Onat and Sondan Durukanŏglu.“An optimized interatomic potential for Cu–Ni alloys with the embedded-atom method”. In: Journal of Physics: Condensed Matter 26.3 (Dec. 2013), p. 035404. [56] Aakash Kumar et al. “Charge optimized many-body (COMB) potential for dynamical simulation of Ni–Al phases”. In: Journal of Physics: Condensed Matter 27.33 (Aug. 2015), p. 336302. [57] Y. Mishin et al. “Structural stability and lattice defects in copper: Ab initio, tight- binding, and embedded-atom calculations.” In: Physical Review B 63 (2001). [58] P. M. Morse. “Diatomic Molecules According to the Wave Mechanics. II. Vibrational Levels.” In: Physical Review 34 (1929), pp. 57–64. [59] J. H. Rose et al. “Universal features of the equation of state of metals.” In: Physical Review B 29 (1984), pp. 2963–2969. [60] M. I. Mendelev et al. “Analysis of semi-empirical interatomic potentials appropriate for simulation of crystalline and liquid Al and Cu.” In: Philosophical Magazine 88 (2008), pp. 1723–1750. [61] G. J. Ackland et al. “Computer simulation of point defect properties in dilute Fe—Cu alloy using a many-body interatomic potential.” In: Philosophical Magazine A 75 (1997), pp. 713–732. [62] M. I. Mendelev and A. H. King. “The interactions of self-interstitials with twin boundaries.” In: Philosophical Magazine 93 (2013), pp. 1268–1278.

43 Biographical Statememt

I was born in 1997 in Chennai, India, and have completed my Master’s degree in Materials Science and Engineering at Johns Hopkins University. Throughout my time at Johns Hopkins University, I have worked extensively with Dr. Tim Mueller in Computational Materials Science. My projects include developing interatomic potential models for artificial intelligence, and developing C++ libraries for implementing efficient k-point generation algorithms. My career interests lie in Software Development and Machine Learning. I am also an active open-source developer, and have developed Molecular Dynamics visualisation tools for software as part of the Google Summer of Code Programme.

44