ENABLING ELECTRONIC STRUCTURE CALCULATIONS OF HIGH Z ELEMENT

CONTAINING MATERIALS USING DIRAC RELATIVISTIC DFT METHODS

A DISSERTATION IN Physics and Mathematics

Presented to the Faculty of the University of Missouri–Kansas City in partial fulfillment of the requirements for the degree

DOCTOR OF PHILOSOPHY

by PATRICK RYAN THOMAS B. S., University of Missouri - Kansas City, USA, 2012 M. S., Univeristy of Missouri - Kansas City, USA, 2014

Kansas City, Missouri 2020 © 2020 PATRICK RYAN THOMAS ALL RIGHTS RESERVED ENABLING ELECTRONIC STRUCTURE CALCULATIONS OF HIGH Z ELEMENT

CONTAINING MATERIALS USING DIRAC RELATIVISTIC DFT METHODS

Patrick Ryan Thomas, Candidate for the Doctor of Philosophy Degree

University of Missouri–Kansas City, 2020

ABSTRACT

Novel properties may be induced in a host material by doping it with high Z elements to alter its underlying electronic states. Presently, no method exists that can accurately capture both large system sizes and the intricate fundamental physics of the induced multiplet states in the electronic structure. As part of a collaborative effort to merge a configuration interaction (CI) and density functional theory (DFT) method into one method that is capable of calculating the properties of high Z doped materials, an entirely new scheme for relativistic consideration of a localized orbital basis set and en- ergy calculation was devised. This work presents a novel scheme for the creation of single-component scalar relativistic and four-component fully relativistic atomic orbital basis sets of -type functions. A minimal norm least squares method was used to fit numerically represented, four-component Dirac spinors into a set of Gaussian basis

iii functions possessing exponential coefficients expressed over a geometric series. A si- multaneous parameter sweep of both the maximum range of exponential coefficients and number of terms in the expansion for each quantum number was used to optimize the basis set efficiency. An algorithm that circumvents the error prone direct calculation of relativistic kinetic energy terms has been adapted from the CI method of our collabora- tor into one compatible with the Orthogonalized Linear Combination of Atomic Orbitals

DFT package. Lastly, an application of the current state-of-the-art in high-throughput relativistic DFT to a well-known material science problem will be discussed.

iv APPROVAL PAGE

The faculty listed below, appointed by the Dean of the School of Graduate Studies, have examined a dissertation titled “Enabling Electronic Structure Calculations of High Z Ele- ment Containing Materials Using Dirac Relativistic DFT Methods,” presented by Patrick Ryan Thomas, candidate for the Doctor of Philosophy degree, and hereby certify that in their opinion it is worthy of acceptance.

Supervisory Committee

Paul Rulis, Ph.D., Committee Chair Department of Physics & Astronomy

Michael Kruger, Ph.D. Department of Physics & Astronomy

Elizabeth Stoddard, Ph.D. Department of Physics & Astronomy

Noah Rhee, Ph.D. Department of Mathematics & Statistics

Xianping Li, Ph.D. Department of Mathematics & Statistics

v CONTENTS

ABSTRACT ...... iii

List of Figures ...... viii

List of Tables ...... x

ACKNOWLEDGEMENTS ...... xi

Chapter

1 INTRODUCTION ...... 1

1.1 Context ...... 1

1.2 Motivation ...... 3

1.3 Outline ...... 5

2 METHODS ...... 6

2.1 Overview ...... 6

2.2 The OLCAO Method ...... 6

2.3 The Discrete Variational Multi-Electron (DVME) Method ...... 11

2.4 GRASP2K ...... 11

3 FULLY RELATIVISTIC CAPABLE BASIS SET CREATION ...... 20

3.1 Context ...... 21

3.2 Fitting Method ...... 23

3.3 Python Scripts ...... 29

4 INCLUSION OF RELATIVISTIC KINETIC ENERGY THEORY ...... 36

vi 4.1 Nature of the Problem ...... 36

4.2 Kinetic Energy Algorithm ...... 40

5 HYDROGEN TRAPPING IN FECRNI ALLOYS ...... 47

5.1 Background ...... 47

5.2 Methods and Techniques ...... 51

5.3 Hydrogen Trapping ...... 57

5.4 Conclusion ...... 70

6 CONCLUSIONS AND FUTURE WORK ...... 76

6.1 Conclusions ...... 76

6.2 Future Work ...... 77

Appendices ...... 80

A Python Codes ...... 80

A.1 org radwavefn.py ...... 80

A.2 make veusz graph.py ...... 84

A.3 interFit.py ...... 84

B Code Operation Examples ...... 90

B.1 Standard Operation ...... 91

B.2 Modular Operation ...... 92

REFERENCE LIST ...... 96

VITA ...... 104

vii List of Figures

Figure Page

1 Ideal Four Step Lasing Process...... 2

2 Non-relativistic vs. Relativistic Uranium 2p Orbital Comparison . . . . . 3

3 Uranium Isodata File ...... 13

4 Uranium CSL Sample Program Output ...... 14

5 Radial Wavefunction Output File ...... 19

6 Section of Isotope Data File for Uranium ...... 30

7 Area Differences for Single Gaussian with One Percent Change . . . . . 39

8 Augmented Self-Consistent Field Cycle ...... 45

9 ICME System Design Chart Explanation ...... 50

10 Hydrogen Trapping PSP Linkage ...... 51

11 fcc-bcc Crystallographic Orientation ...... 56

12 Headley-Brooks Crystallographic Orientation ...... 57

13 MedeA UNCLE Calculation of Fe0.7Cr0.2Ni0.1 ...... 58

14 Single Fe-Cr-Ni Structure ...... 59

15 UNCLE Parsed Structure Chemistry Distribution ...... 60

16 Sample Lattice Parameter Distribution ...... 61

17 Sample Binding Energy Analysis ...... 62

18 Binding Energy Nearest Neighbor Ternary by Chemistry ...... 63

viii 19 Trapping Energy Scheme ...... 64

20 fcc Lattice Vacancy ...... 65

21 Trapping Energy Flowchart ...... 72

22 Sample MedeA Workflow ...... 73

23 Total Energy Ternary ...... 73

24 Trapping Energy by Interstitial-Vacancy Distance ...... 74

25 Trapping Energy by Vacancy Element ...... 74

26 Trapping Energy Dependence on Interstitial and Vacancy Chemistry . . . 75

ix List of Tables

Tables Page

1 Main Program Attributes and Purpose ...... 7

2 Atomic Orbital Basis Function Types ...... 21

3 Orbital Spectroscopic Labels ...... 24

4 Parameter Sweeping Values ...... 35

5 Observed Austenite (fcc) and Ferrite (bcc) Interfaces ...... 55

6 Statistics on the trapping energy by vacancy ...... 69

x ACKNOWLEDGEMENTS

I would like to thank all the people that have played a vital role in finishing this dissertation. In truth, I could fill volumes with the names and contributions of each person in reaching this milestone.

First, I would like to thank, my advisor, Professor Paul Rulis. Any praise of the fantastic job Professor Rulis has done would fall well short of describing its actual value.

Professor Rulis is as equally knowledgeable as he is kind in his consistent advising to his students. I cannot thank him enough for all the opportunities he has given me to do excellent research and prepare for the future.

Next, I would like to thank Professor Michael Kruger. Professor Kruger is nothing short of family to my wife and I. Professor Kruger gave us both our first research jobs and championed my first academic post as adjunct faculty at UMKC. Every time I see

Professor Kruger I learn or am reminded about how fascinating the field of physics is.

His council is always welcomed and valued.

I would also like to thank Professor Elizabeth Stoddard who has been my boss, supervisor, and friend. Professor Stoddard promoted me to the position of co-head teach- ing assistant which I had the pleasure of working as for four years. Professor Stoddard encouraged me to pursue research in relativistic quantum theory.

I am also immeasurably thankful for Professor Anthony Caruso who continuously supplied the most interesting and complex problems while providing unparalleled support and guidance. I would like to thank both Professors Rhee and Li for agreeing to be part of my committee and for providing pivotal conversations around some of the mathematics prob- lem that were necessary to solve for this work.

Last but most absolutely not least, I would like to thank Professor Fred Leibsle very much for all that he has done for me and my family. Among the many blessings in this life, Professor Leibsle ranks amongst the highest. Without his selfless compassion and concern, I would never had made it through undergraduate studies let alone a doctorate.

I would like to thank my wife, Amanda, for her constant love and support while

finishing this work.

I would like to thank my parents, Pat and Debbie, for the most encouraging up- bringing in both faith and scientific inquiry. Dad gave me my first physics and chemistry book at an early age that sparked a lifetime love of math and physics.

I would like to thank two of my closest friends, James Curie and Jake Pursley, who provided important conversations and incredible friendship.

I would like to thank my professional mentor, friend, and colleague, Dr. Ben

Sikora, for all of your help and advice on wrapping up this work.

Lastly, a countless number of students are to thank for fostering an environment at UMKC that encourages scientific minds and research.

xii CHAPTER 1

INTRODUCTION

1.1 Context

The development and discovery of complex materials with tunable properties is key to maintaining the rapid rate of advancement of technology [1–6]. The physical search for suitable candidate materials with precise properties incurs a large cost in both time and money as numerous materials must be fabricated over a range of each possi- ble parameter. The theoretical and computation studies of condensed matter systems can mitigate a sizable portion of the cost by eliminating the need for physically creating and testing numerous candidate materials. With access to high performance computing envi- ronments becoming more easily obtainable, advanced programming techniques applied to extremely large mathematical problems have made it possible to calculate the properties of systems previously thought impossible. The so-called ”materials-by-design” approach can guide a material from inception to production by cost effectively eliminating unfavor- able materials prior to fabrication and providing insights not limited to just the material but also the fabrication process. Laser host crystals and lighting phosphors are a unique family of materials whose energy output directly depends on a complex arrangement of the electron energy states in the . Solid state lasers have a broad range of ap- plications including but not limited to scientific research, national defense, and medical procedures [7–11]. There are multiple lasing methods [12–18], but at the fundamental

1 Figure 1: Ideal Four Step Lasing Process. level the emitted radiation energy is caused by the electons moving from a metastable excited state (E2,excited) to a lower energy excited state (E1,excited) by stimulation from an incoming photon of energy equal to E2,excited − E1,excited. The energy levels necessary for the lasing process are often induced by dopants and/or co-dopants which create a flat, highly localized energy state in the energy band structure of the crystal.

Because hν = ∆E, the ability to predictively calculate the multiplet energy states is of vital importance to driving the improvement in the design and fabrication of laser host crystals. From a chemical perspective, these dopant and co-dopant contributions are usually rare-earth or transition elements that have a reasonably large atomic number

(also called Z). Due to the nature of the Coulombic repulsion of a nucleus containing a large number of protons, the core electrons are accelerated to speeds near the speed of light. The resulting velocities require that relativistic theory be included when solving for

2 the wavefunction of such electrons. We see this manifested in two ways: (1) The core electrons path will experience a length contraction and therefore the radial function is likewise contracted about the nucleus and (2) due to the contraction of the core electrons, the higher principal quantum number, n, electrons experience a shielding effect and will therefore have more elongated orbitals than their non-relativistic counterparts.

Figure 2: Non-relativistic vs. Relativistic Uranium 2p Orbital Comparison

1.2 Motivation

The materials-by-design approach for predicting the properties of laser host crys- tals hinges on the ability to fully characterize and calculate the electronic and optical properties of the constituent crystal. Numerous challenges exist to accomplish such a calculation. (1) Large crystal cell sizes (on the order of 100 to 200 atoms or more); (2)

Inclusion of relativistic corrections; (3) Inclusion of spin-orbit coupling; (4) Presence of

3 highly correlated d- and/or f-orbital electrons; (5) Determination of excited-state elec- tronic structure; and (6) Electron-phonon interactions. As stated in the Introduction, the dopant and co-dopant atoms comprise a particularly challenging hurdle that necessitates the inclusion of relativistic effects in the descriptions of the electrons themselves but also their interactions. However, at this time, no such software package exists that can accu- rately calculate these energies and therefore the subsequent properties of the laser host crystal.

The following dissertation work is part of a much larger initiative to merge to- gether two highly successful software packages - the density functional theory (DFT) based, orthogonalized linear combination of atomic orbitals (OLCAO) method and the hybrid DFT - configuration interaction (CI) discrete variational multi-electron (DVME) method into one that can better predict the multiplet energy levels induced by dopant and co-dopants. This dissertation work will aid in that effort in two main ways: (1) the creation of a completely new atomic orbital basis set that is compatible with the require- ments of the OLCAO package and that accurately reflects the relativistic nature of high

Z dopants; and (2) the incorporation of a fully relativistic Hamiltonian into the OLCAO code base. The first aim requires that we solve a complex mathematical and program- ming problem to generate the basis set. That aim has been fully accomplished. For the second aim, I will detail the mathematics and theory involved in the implementation of an algorithm adapted from DVME as it must be applied for OLCAO.

4 1.3 Outline

The second chapter of the dissertation will contain information regarding the soft- ware and mathematical methods utilized in the work. The third chapter will discuss the math, theory, and code implemented to create the fully relativistic basis set for the OL-

CAO method. The fourth chapter will discuss the theory and mathematics developed to implement relativistic kinetic energy calculations in the OLCAO method. Chapter 5 will discuss a different project completed in employment with Honeywell Federal Manufac- turing & Technologies on the chemistry dependent trapping of hydrogen in single element lattice vacancies in iron - nickel - chromium alloys. Lastly, the sixth chapter will discuss conclusions and future work. Additionally, an appendix of the code base, data, and user guide will be included at the end of this work.

5 CHAPTER 2

METHODS

2.1 Overview

In the effort to aid in the creation of a method capable of calculating the energy of induced multiplet states of high Z dopants and co-dopants, three established software packages as well as several python scripts will be employed: (1) the orthogonalized linear combination of atomic orbitals (OLCAO) method [19, 20] will serve as the target for im- provements both in the basis set description as well as relativistic energy; (2) the discrete variational multi-electron (DVME) [21, 22] will serve as the source for understanding a novel method for calculating the relativistic kinetic energy term of the Hamiltonian; and

finally, (3) Grasp2K [23–26] will be used through the self-consistency to provide inputs to developed python scripts that will generate the basis set.

Due to the immense challenge of the basis creation process, the developed python scripts will be discussed in Chapter 3.

2.2 The OLCAO Method

The OLCAO method is a density functional theory based program suite with a combination of features that makes it particularly applicable to large and complex mate- rial systems. The method is described in detail in reference [20] so therefore only certain aspects relevant to the research at hand (specifically the generation of the basis functions)

6 Table 1: Main Program Attributes and Purpose Grasp2K DVME OLCAO Attributes • CI method • DFT+CI hybrid • DFT method

• Isolated atom • Clusters of • Periodic lattice calculations atoms calcula- calculations tions • Numerical • Gaussian based occupied and • Numerical atomic orbital unoccupied atomic orbital basis functions electron states basis functions • Scalar relativis- • Dirac fully rela- • Dirac fully rela- tic tivistic tivistic

Purpose • Creation of • Source for • Target program relativistic basis methodology for improve- functions and algorithm ments

will be presented here. The OLCAO method attempts to maximize the size of the atom- istic systems capable of being calculated by striking a balance between the accuracy of the calculations and the efficiency in the algorithms. To achieve this, the OLCAO method expands the solid-state electronic wavefunction on a periodic lattice using a basis set of atomic orbitals that are themselves expanded in a basis of real-valued Gaussian-type orbital (GTO) functions. This approach has the advantage of succinctly describing the electronic structure in the region near atomic nuclei while also allowing for analytic ex- pressions for the interactions between atoms. However, it is less adept as describing the interstitial region between atoms compared to a basis of plane waves and therefore the

7 GTOs must be carefully constructed. Formally, the solid-state wavefunction in OLCAO is shown in Equations 2.1,2.2, and 2.3.

X n ~ ~  Ψn~k (~r) = Ciγ k biγ k, ~r (2.1) i,γ

where bi,γ are the Bloch functions formed by a linear combination atomic orbital wavefunctions.

   1  ~ ~   ~ X i(k·Rν ) ~ bi,γ k, ~r = √ e χi ~r − Rν − ~tγ (2.2) N ν where γ denotes the atom in the cell, i is the set of quantum numbers (i.e. n and ~ `) for a specific atom, Rν denotes the lattice vector and ~tγ represents the position of the atom corresponding to γ.

N ! 2 X ` −αtr m χ (~r) = Atr e · Y` (θ, ϕ) (2.3) t=1

where At is the pre-factor coefficient, ` is the angular momentum quantum num-

m ber, m is the magnetic spin quantum number, and Y` are the spherical harmonics. The coefficients of the basis functions in Eq. 2.1 are obtained as solutions from the secular equation detailed further in the book written by Professor Ching and Professor Rulis. [20].

The choice of the exponential coefficients in orbital basis functions, αt, have been ob- tained through rigorous experimentation and past experience. The use of analytical func- tions and specifically those of Gaussian type functions is desirable due to the inherent properties of the functions themselves: (1) there is a known analytical solution to the integral of a Gaussian function and (2) the product of two Gaussian functions is another

8 Gaussian function. Therefore, if the Bloch functions and atomic potentials are represented as a linear combination of Gaussian functions, then we have a summation of analytical expressions for the matrix elements of the Hamiltonian. The benefit then being a more accurate expression calculated much quicker than could be achieved with numerical inte- gration of matrix elements. Conversely, the analytic formulas for the interaction integrals quickly become complicated as the orbital quantum number, `, corresponding to the or- bital increases. The approach that has been taken is to establish a basis set with stability and transferability among different material systems: insulators, metals, nano-structured systems, molecules, liquids, etc. and focus less on quantitative chemical accuracy than on reliable prediction of important energetic and electronic structure trends. Following this design, the OLCAO method uses three distinct basis sets - minimal (including only the orbitals that are occupied in the atomic ground state allowing for degeneracy when orbitals are partially filled), full (addition of one orbital of higher quantum number for each angular momentum quantum number in the minimal basis), and extended (addition of one orbital of higher n quantum number for each angular momentum quantum number in the full basis). The description of virtual states described by the full and extended basis sets become vitally important in calculations that involve excited state electrons.

Because this dissertation is an extension of the Master’s thesis work [27] to de- velop a new fully relativistic, four-component basis set for the OLCAO, we will briefly describe the the traditional OLCAO basis set creation. The database of basis functions

(minimal, full, extended for each atom in the periodic table) was created with the use of

9 three programs: ATOMSCF, GAUSSFIT, and CONTRACT. The creation process is as fol- lows: (1) The ATOMSCF program uses a numerically expressed atomic orbital basis set to compute the electronic structure of a single isolated atom. A product of this calcula- tion is the spherically symmetric total potential of the isolated atom in numerical form.

(2) The GAUSSFIT program performs a non-linear fit of the numerical potential with a set of spherical Gaussian functions. (3) The CONTRACT program runs an OLCAO-style calculation with single GTOs as the basis. The set of single Gaussian functions is cho- sen according to a geometric series defined by a minimum exponential coefficient (αmin), maximum exponential coefficient (αmax), and the number of Gaussians for each orbital angular momentum quantum number. The range and number of exponential coefficients inputted into the CONTRACT program has been defined through physical insight and man- ual testing to optimize and minimize calculation time. Finally, each orbital is represented as a linear combination of GTO functions where the same set of exponential alphas, αt

, is used for all orbitals in a given element and only the coefficients, At , and number of terms vary from orbital to orbital. The shortcomings of basis functions will be discussed in the introduction to Chapter 3.

However, even equipped with the most versatile and accurate of basis sets, OL-

CAO must be further modified to use a relativistic framework for the actual calculation.

While theory has been developed for OLCAO to use a scalar relativistic approximation to the Hamiltonian in its calculations [28], functioning program code does not exist in an accessible and usable form. Additionally, the previously derived approach for computing the relativistic kinetic energy has a deficiency that will be detailed in Chapter 4 and which

10 may be addressed by incorporating a technique used in the DVME method.

2.3 The Discrete Variational Multi-Electron (DVME) Method

The DVME method is developed by Professor Kazuyoshi Ogasawara at Kwansei

Gakuin University in Sanda, Japan. It employs a hybrid configuration interaction (CI) and DFT approach for solving the solid state wavefunction. The method is based on the relativistic DV-Xα method [29] and it uses a basis set of fully relativistic, numerically expressed atomic orbitals obtained from solving the Dirac equation for isolated atomic systems. While DVME has been successfully applied to dopant atom systems to deter- mine the energies of multiplet states [21, 30–32]; due to the computational expense of the CI method DVME has historically been applied to clusters of atoms which can in- clude unwanted surface effects in the wavefunction description. However, one unique characteristic of the method is its approach to determining the relativistic kinetic energy contribution to the Hamiltonian during the self-consistent field cycle. As will be discussed in a later chapter, direct application of the relativistic kinetic energy operator is prone to a compounded error that must be mitigated for accurate calculations.

2.4 GRASP2K

The Grasp2K package is a suite of thirty-five modular programs and tools used to calculate precise properties of single atom systems. The method is based on the multi- configurational Dirac Hartree Fock (MCDHF) method. Grasp2K implements relativistic quantum theory in its treatment of the atomic nucleus and its electrons. [26] Grasp2K’s

11 primary application space is performing detailed electronic structure calculations of in- dividual atoms such as predicting the fine and hyper-fine atomic spectra and radioactive decay rates of various isotopes. It bears mentioning that Grasp2K employs a configura- tion interaction method in the post self-consistent field cycle of the rci; but the MCDHF method defines a static electron orbital set for use in diagonalizing the Hamiltonian. The

Dirac equation is given by the following [33]

∂ c~α · ~p + βmc2 φ (~x) = −i φ (~x) (2.4) ~∂t

The eigenfunctions of the Dirac equation are in the form of central field, four- component spinors 1 P (r)χ (θ, ϕ)  φ(~x) = κm (2.5) r iQ(r)χ−κm(θ, ϕ) where P (r) and Q(r) are the large and small components respectively; χ is the an- gular component orbitals; and κ and m are the so-called relativistic quantum number and magnetic quantum number respectively. For the total atomic wavefunction in Grasp2K, the atomic wavefunction is expressed as a linear combination of atomic state functions

(ASFs) which are linear combination of configuration state functions (CSFs) which are a linear combination of Slater determinants per the configuration interaction method.

K ˆ X ˆ Ψ = CI ΦI (2.6) I=1

12 2.4.1 GRASP2K Programs

Within the thirty five programs and tools for the Grasp2K package, an exemplar algorithm is used for obtaining the numerical electron orbitals. A brief description of the programs and the workflow used will be described below.

2.4.1.1 ISO Program

The iso program takes as input fundamental descriptions of the isotope that will be used in the calculation. Input parameters are atomic number, mass number, atomic mass, nuclear spin, nuclear dipole moment, and nuclear quadrupole moment. The values from literature [34] are compiled in a data input file for the graspElems script described in detail later in the Appendix. The program generates a text file, isodata (Fig. 3), which is input to later programs.

Figure 3: Uranium Isodata File

Note that for unknown values for a specific isotope, the documentation for Grasp2K

13 recommends that a value of 1 be supplied. The values in this program will also be used by the developed python program discussed later to characterize the atomic system and are stored in the atomic_system.isodata_file class.

2.4.1.2 CSL Program

Following the iso program, the next task is to generate the so-called configura- tion state lists (Fig. 4). While there are a couple programs in the package capable of generating such lists, i.e. jjgen, we have found the csl program to work best in our applications. The csl program takes as input the list of core subshells, peel subshells, the ground state electron occupation of the peel orbitals, and number of simultaneous electron substitutions to make when defining the configuration state functions.

Figure 4: Uranium CSL Sample Program Output

In the inputs to the csl program, the formatting of the orbital descriptions (rela- tivistic or non-relativistic) is requested. We make note that this applies only to the input formatting and not the description themselves; thus, choosing non-relativistic formatting

14 will still yield relativistic calculations of the orbitals. The non-relativistic format is sim- pler and requires less syntax because it does not require specification of the spin occupa- tion. One of the most important inputs to the workflow process is the number of electron substitutions. Particularly for full and extended basis set descriptions of the atom, having enough of the configuration space sampled is essential for later convergence of the self- consistent field cycle. The output of the program is the rcsl.inp file. An example of the formatting for a uranium minimal basis description can be seen in Figure 4.

2.4.1.3 JSPLIT Program

The jsplit program must be invoked when running either version 2 or 3 of

Grasp2K because it uses a blocked format for the configuration state list generated above.

The blocks in the file are organized by κ quantum number (see Table 3) and by parity.

Additionally, duplicate states that may exists from the sampling have the option to be re- moved during the operation of this program. The program takes as input the configuration state list file generated by csl.

2.4.1.4 MCP3 Program

The mcp3 program computes the angular integration coefficients from the kappa, parity delimited list generated by the jsplit program. Adaptations and extensions in version 2 to version 3 have made Grasp2K more robust at handling high Z atomic systems.

One key consideration is that the mcp.* files generated by the program can be extremely large, especially in the case of high Z systems so it is necessary to consider the overall hard disk space as well as the number of concurrent calculations being submitted. The

15 developed scripts automate the removal of the mcp.* files once they are no longer needed in the calculation process.

2.4.1.5 ERWF Program

The erwf program is invoked to estimate the relativistic wavefunctions for each orbital specified in the rcsl program. The orbitals can be estimated in either hydrogenic or Thomas-Fermi potential environments. The erwf program outputs a file, rwfn.inp, that serves as input to the self-consistent field process and subsequent programs. At this point, it is possible to use the readrwf tool to visualize the orbitals.

2.4.1.6 RSCF2 Program

The rscf2 program performs a self consistent field calculation using the starting points of the estimated relativistic electron orbitals in the rwfn.inp file, the isodata nuclear descriptors, and the angular integration coefficients in the mcp.* files. The doc- umentation for Grasp2K recommends copying rscf2 to the v3 bin directory as rscf3 for consistency. Multiple files are generated by the program, but the desired output is rwfn.out. The file is in binary format and requires the use of a separate tool for sub- sequent conversion. There exists a few important considerations for operation of the program:

1. Convergence: In the documentation for the program, this is listed as the key prob-

lematic area for the rscf2 program. The most effective input parameters to achieve

convergence are not obvious from operation of the program and therefore, most of

the effort in obtaining the electron orbitals was expended at this stage.

16 (a) Spectroscopic orbitals: By defining orbitals to be counted as so-called spectro-

scopic orbitals, it enforces counting the number of nodes in the convergence

criteria for the SCF process. The documentation does recommend an algo-

rithmic approach for reducing which orbitals are classified as spectroscopic in

order to reach convergence if errors are encountered.

(b) Radial grid: The electron orbitals are solved over the number of radial grid

points which in turn controls the radial distance. The parameters.def

file in the source code for the software contains variables that can be changed

to update the radial grid, specifically the NNNP value. It is worth noting that in-

creasing the radial grid comes with a corresponding computational cost. From

Chapter 1, we have a physics-based understanding of the underlying difficul-

ties. When considering relativistic effects of the nuclei on the electrons, we

know that the shielding effect of the core electrons cause a more diffuse be-

havior the outer electrons. Since we are calculating electron orbital wave-

functions for isolated atomic systems, the radial grid must be correspondingly

lengthened.

Increasing the radial grid and the number of spectroscopic orbitals appreciably increases the computational cost of a calculation. Due to this increase, access to high performance computing environments become necessary for the determination of full and extended basis sets while minimal basis sets can be accomplished on more robust personal computers. The current work utilized a combination of personal computers, Stampede 1

& 2 at The Texas Advanced Computing Center [35], and Lewis supercomputer at the

17 University of Missouri [36].

2.4.1.7 READRWF Tool

The readrwf tool is used next in the workflow to convert the binary output rwfn.out file to a text file. The formatting of the generated file can be see in Fig. 5.

The formatting contains a repeated pattern for each orbital in the system and is arranged by increasing n and κ quantum numbers. The first line is n quantum number, κ quantum number, energy eigenvalue, and number of radial grid points in the description of the orbital. The single number on the next line is the so-called zeroth order approximation

(ZORA) coefficient which is not needed for this work. After the ZORA coefficient line starts three groupings of single lines with number equal to number of radial grid points.

The order of the segments are the large component (P (r)), small component (Q(r)), and radial distance values (r).

From this point in the workflow, we now have to consider how to fit the numeri- cally expressed orbitals to the linear combination of Gaussian functions used in the OL-

CAO method. The next chapter will go into detail on the algorithms used to find the isolated electron orbitals.

18 Figure 5: Radial Wavefunction Output File

19 CHAPTER 3

FULLY RELATIVISTIC CAPABLE BASIS SET CREATION

Initially two options were presented when creating a new relativistic AO basis set for the OLCAO method: (1) use an existing successful atomic structure package to obtain numerically represented AOs and then fit to GTOs or (2) attempt to create an entirely new package that would duplicate the results of many successful atomic structure packages.

The first option was deemed the more viable and time conservative option for this work.

Significant effort has been expended to ascertain the most appropriate atomic or- bital (AO) basis set for use in obtaining the solid state wavefunction for given condensed matter systems. [37–43] Materials containing high Z dopant and co-dopant atoms pose a more difficult problem due to the necessary inclusion of relativistic effects such as spin- orbit splitting; and simultaneous radial contraction of the core electron wavefunctions and related shielding effects of the outer electrons. [26, 44, 45] In , the AO basis sets are tailored to include the most accurate description of the electron orbitals so that methods such as configuration interaction [46] which are more computationally expensive but extremely precise can be used to find the solid state wavefunction. The drawback to such an approach is that only systems of reasonably small size can be used due to the expense of the calculations. Quantum chemical basis sets will often include such enhancements as polarization and diffusion effects in the mathematical description

20 Table 2: Atomic Orbital Basis Function Types Plane wave Slater-type Gaussian-type ei~k·~r e−ζr e−αr2 of the AOs. Conversely, condensed matter physicists and material scientists, who are pri- marily concerned with modeling large scale atomic systems, will forfeit a certain amount of accuracy in the basis set description in order to be able to perform calculations on very large systems to obtain a reasonable approximation of properties.

Within the myriad of methods used by both quantum chemists and condensed mat- ter physicists, there are also a multitude of fundamental basis set representations. Without the inclusion of additional effects, there are three primary classifications of AO basis sets currently used in calculations; slater-type orbital (STO), Gaussian-type orbital (GTO), and plane wave; all of which can also be described numerically or analytically (see Ta- ble 2). The primary motivation of the basis set development described in this dissertation is to be able to probe the properties of high Z dopant and co-dopant atomic contributions to the electronic structure of laser host crystals, lighting phosphors, and other condensed matter systems containing high Z elements.

3.1 Context

From its inception, little work has been done to thoroughly and systematically profile and improve the description of the atomic orbital (AO) basis set in the OLCAO method. [19,20] Further, the current basis set description only describes single-component,

21 non-relativistic AOs because OLCAO does not have the ability to perform calculations be- yond scalar relativistic calculations. [28] The AO form in OLCAO expanded as a linear combination of Gaussian-type functions is given by

N ! 2 X ` −αtr m χ (~r) = Atr e · Y` (θ, φ) (3.1) t=1 where At is the pre-factor coefficient, ` is the angular momentum quantum number, m is

m the magnetic spin quantum number, and Y` are the spherical harmonics. The exponential coefficients, αt, are members of a geometric series from αmin to αmax over a number of n terms.

( i−1 )   n−1 αmax αt = αmin for 1 ≤ i ≤ N(sg) (3.2) αmin There are two main constraints in the OLCAO method that must be considered when constructing basis sets. The first is that a single series of exponential coefficients,

αt, is defined for use by all angular momentum quantum number (s, p, d, f, g, . . . ) AOs.

The difference between the AOs for different angular momentum quantum numbers is the specific subset of the series that is used. I.e., all s-type use the same subset, all p-types use the same subset and so on. The restriction to a single set of exponential coefficients considerably reduces the number of integrals needed for calculations such as kinetic energy and overlap between basis functions. Second, the number of terms used in the summation of Gaussian functions must decrease as the `−quantum number increases, specifically (N(sg) ≥ N(pg) ≥ N(dg) ≥ N(fg) ≥ N(gg)). Because the values of the m-quantum numbers are defined as the integer values from −` to +`, a

22 higher angular momentum quantum number corresponds to more terms for that type of spherical harmonic and therefore more integral calculations. The traditional OLCAO values for these parameters (αmin, αmax, and n(l)) has been determined through physical insight and repeated testing. For this reason, we believe a rigorous optimization of the parameters and concrete definition of the algorithmic steps to a solution will lead to an AO basis set for both relativistic and non-relativistic calculations that is both more compact and accurate.

3.2 Fitting Method

As has already been mentioned, the Grasp2K [23,24,26] package was used through the self-consistent field cycle (program: RSCF2) [23] in order to acquire the static, numer- ical, four-component representation of every AO in a given ground state atomic system.

The output from Grasp2K using the included readrwf tool expresses these orbitals nu- merically by providing sets of values for the large components, small components, and radial grids organized by n and κ quantum numbers. However, to make the orbitals viable in the OLCAO method, the numerical orbitals must be fitted by a sum of Gaussian-type functions. To accomplish this goal, a considerable number of challenges must be over- come.

1. While the current OLCAO basis functions possess flexibility to accurately model a

wide range of atomistic systems, the current maximum angular momentum quan-

tum number is limited to ` = 3, i.e., f orbitals. From relativistic quantum number, κ,

used in Grasp2K, we know that the small components, Q(r), in a four-component

23 solution have `small ± `large. In short, for a p-type orbital, one of the small com-

ponents has s-type behavior while the other has d-type behavior. Therefore, atoms

possessing f-type orbitals will need the inclusion of g-type behavior for j = 7/2 as

seen in Table 3.

Table 3: Orbital Spectroscopic Labels Spectroscopic Label s p¯ p d¯ d f¯ f g¯ ... κ -1 +1 -2 +2 -3 +3 -4 +4 ... 1 1 3 3 5 5 7 7 j 2 2 2 2 2 2 2 2 ... ` 0 1 1 2 2 3 3 4 ... `¯ 1 0 2 1 3 2 4 3 ...

2. Similarly, the OLCAO database was created from Schrodinger¨ solutions and there-

fore the original definitions for the number of terms in the GTO expansion as well

as the minimum and maximum exponential alpha in the series are not sufficient to

describe the relativistic orbitals.

3. To probe the space efficiently while changing the geometric series of exponential

alphas and the number of terms for each ` value, a straightforward fitting approach

can be extremely computationally expensive. For instance, during the Master’s

work [27], a fitting of the Bi orbitals for just a minimal basis set took on the order

of the two days. If the plan was to create and never re-evaluate the basis functions,

this approach could be viable; but because an iterative approach of improvement is

desired to search the space for an optimized basis set a new algorithmic approach

must be developed.

24 4. The number of terms to describe each GTO expansion for each corresponding `

varies. Therefore, it is possible that one could just break up the orbitals into groups

by ` quantum number and perform fitting on each group. However, it is more

advantageous to keep all orbitals in a single matrix. Thus, the problem becomes

how to fit subsections of a matrix most effectively.

From multiple discussions with Professor Rhee and concepts in his Linear Alge- bra II and Matrix Theory courses, the following method was developed to solve the above concerns. First, all orbitals must be defined on a common radial grid so a linear interpo- lation must be completed using simple point slope form to find new function values.

  yn+1 − yn−1 yn = (xn − x1) + y1 (3.3) xn+1 − xn−1

Next, we create a matrix where the columns are the numerically defined orbitals,

Y ∈ Rm×n where m is the number of points in the radial grid and n is the number of orbitals in the system. An important property is to ensure that the columns are arranged in descending order of ` quantum number and within each section the principal quantum numbers, n, are in increasing order.

h i Y = g...f...d...p...s (3.4)

We can then focus on the left hand side of the two dimensional minimum norm least squares process given by

AT AC = AT Y (3.5)

We will then define A ∈ Rm×n where the matrix elements are given by

25 2 −αj (ri) ai,j = e (3.6)

Visually, we can see this matrix as the following equation such that in the defini- tion of A we have that m is the number of points in the commonly defined radial grid from the interpolation process and n is the number of terms in the s-type orbital expansion.

 2 2  e−α0(r0) . . . e−αn(r0)  . .   . .  (3.7)   2 2 e−α0(rm) . . . e−αn(rm) Continuing with the left hand side, we take AT A which yields a square matrix of dimensions n × n or the total number of terms in the expansion of s-type orbitals. For the right hand side, because we desire the number of terms to decrease as ` increases, we can

T take rows of A corresponding to the number of Gaussian functions N(`g) and multiply the submatrix of columns for `. In practice this looks like

 2 2  e−α0(r0) . . . e−α0(rm)  . .   . .   . .   −α (r )2 −α (r )2  e N(`g) 0 . . . e N(`g) m      · [y`,i, . . . , y`,j] (3.8)  0 ... 0     . .   . .    0 ... 0 If we repeat this for every block of columns corresponding to `, then we end up with a structure resembling the following

26  T T T T  a1 · y1 . . . a1 · yx . . . a1 · yy . . . a1 · yz ...  . . . .   . . . .     T . . .  a · y1 ......   N(gg)   T . .   0 a · yx ... . .  (3.9)  N(fg)   . T .   . 0 a · yy ... .   N(dg)   . . .   . . 0 ... .    0 ... 0 ... 0 . . . aT · y ... N(s||pg) z We make note that the maximum dimension is equal to the number of terms in the expansion for s and p type orbitals N(sg||pg). Next, we consider how to solve for C in

Equation 3.5 which will be the corresponding coefficients, At, in Equation 2.3 for each orbital. For this, we consider a particularly difficult problem in how to effectively use

AT A in an iterative approach that can be also be computationally efficient. The so-called

LU decomposition method is a standard approach for solving such linear problems. By repeated application of Gauss-Jordan elimination, we can express AT A in the form of a lower triangular matrix multiplied to an upper triangular matrix; hence LU. Most com- putational methods use the so-called pivoted method where the rows can be swapped.

However, for our purposes, this is problematic as we wish to use the same LU decom- position multiple times. Very briefly, the algorithm used is as follows. Beginning from an arbitrary square matrix, A, with dimensions n × n, n ∈ Z > 0 we define matrices, L and U, with the same dimensions but with U initialized to A and L initialized to all zero values. Starting from i, j = 0, 0 we calculate the quantity t which is given by

t = u1,0/u0,0 (3.10)

27 We set the value of l1,0 = t and following Gauss-Jordan elimination we augment the row of U by R1 = R1 +t·R0. The process is continued until the first column of U has only a single value in u0,0 with the rest of the column filled with zeros. Next, we increment the column and start from u1,1 and the process repeats down the column. The algorithm continues until un,n−1 is reached at which point U is completely upper triangular and L is lower triangular. The approach requires a pivotless LU decomposition because of the need to maintain the block format on the right hand side. The matrices will then have the following forms

  l00 0 ...... 0  . . . .   ......   . .   . .  l l .. .   g0 gg   . . . .   ......     . .  L = l l .. .   f0 ff   . . . .   ......     .. .  ld0 ldd . .     . .   . .. 0    ls0 ...... lss

28   l00 . . . lg0 . . . lf0 . . . ld0 . . . lgg  . .   0 .. .   .   . . .   . .. l .   gg   . . . .   ......     . . .  U =  . .. l .   ff   . . . .   ......     . .. .   . . ldd .     . . . .   ......    0 ...... 0 lss

Next, we are able to solve for the At coefficients in C by selecting a submatrix of

T L and U with dimensions N(`g) × N(`g) and the corresponding submatrix of A Y for with the columns for the orbitals `. The subroutines in the LAPACK and BLAS packages possess numerous options for solving linear systems and can be applied to this particular problem. [47] Last, if we want to search a parameter space and nest the for-loops in the code such that N(sg||pg) is the last to increment, the single LU decomposition can be used for all increments for N(dg), N(fg), and N(gg).

3.3 Python Scripts

Full descriptions of the underlying class and function structure for the developed python scripts can be found in the Appendix. For this section, we will focus on under- standing the concepts behind the generation of the Grasp2K input files through the fitted function generation.

29 Figure 6: Section of Isotope Data File for Uranium

3.3.1 grasp elems.py

Due to the need to generate basis function descriptions for each atom in the peri- odic table, it became necessary to have the nuclear data aggregated in a central and easily updated location as well as a high-throughput process for generating the Grasp2K input

files. For the nuclear data, a file was created isotopedata.dat which tabulates the nuclear data in the format given by Fig. 6.

The first sections define the atomic symbol for the element, the atomic number, the orbitals that are considered in the core of the atom and then the valence orbitals for the minimal, full, and extended basis sets. The line below OCCUPATION defines the reference state occupation in the ground state of the atom. The line below that defines the

30 number of simultaneous electron substitutions for the minimal, full, and extended basis sets. Lastly, a code is given to tell the erwf program which potential to use to estimate the orbitals with. The syntax is repeated for every orbital through Lawrencium. The val- ues are taken from a combination of the existing OLCAO definitions and CRC Handbook of Chemistry and Physics [34]. The graspElems.py script takes command line argu- ments MB, FB, and EB for specification of the basis set and can then take either single basis set - element pairs (e.g., C MB); the keyword total with a basis set designation to generate input files for all elements (e.g., total EB); or lastly just a single keyword total to create input files for all elements for all basis sets.

3.3.2 org radwavefn.py

After the Grasp2K calculations have been completed, the orbitals need to be orga- nized in data structures to be effectively passed to the fitting program. As was discussed in the Methods Section 2.4.1.7 corresponding to the readrwf tool in Grasp2K, the syntax of the outputted rwfn.out file and isodata is known and can be easily parsed into lists and values within the class. As the functions are read in to the data structures, we di- vide each function by the corresponding radial grid value of the functions corresponding to the 1/r in Eq. 2.5. The Appendix section provides lists and explanations of the class structure.

3.3.3 interfit.py

A PYTHON script, interFit, has been developed as part of the OLCAO package to optimize the sweeping of the requisite parameters [48]. The interFit script performs the

31 following algorithm to generate the GTO basis functions from the numerically defined

Grasp2K output:

1. Perform a weighted linear interpolation of all of the numerically described large and

small components onto a radial grid defined by ri ∪ rj∀i, j. New function values

are calculated using linear interpolation from the numpy.interp(x,xp,fp)

function as part of the numpy python package.

2. If desired, parameters can be passed that will apply a radial shrinking of the large

and small components [49]. The shrinking function is applied to the numerically

expressed orbitals prior to fitting and is given by the following:

 2 2 (−(r−rc) /(2σ )) (1 − e r ≤ rc s(r) = 0 r ≥ rc

where rcis the critical radii and σ is the so-called smoothing parameter. The purpose

of such an adjustment is to simulate the difference in radial extent between isolated

electron wavefunctions and those occurring in solid state systems.

3. Next, the number of components (one, two, or four) desired to be produced should

be specified. One component representation discards the small components, Q(r)/r,

and averages the large components, P (r)/r, into a single electron description which

is then fit by the minimal norm least squares method to Gaussian-type functions.

Specifying two components will again discard the small components, but fit each

spin (up and down) large component independently. Lastly, specifying four compo-

nents will result in Gaussian-type function descriptions of all four components of

32 each orbital.

4. The orbitals are arranged as columns in a matrix by descending order of ` quantum

number and within each group by ascending n quantum number. This is done to

ensure a block-like structure when solving the least squares problem.

5. We then define the well-known least squares matrix A ∈ Rm×n, where

2 −αj (xi) Ai,j = e (3.11)

where m is the number of radial grid points, and n is the number of terms desired

in the expansion for s−type orbitals.

6. The first improvement in the efficiency of the fitting algorithm is that loops are

nested in order of increasing ` quantum number. Since the maximum matrix di-

mension will always be equal to N(sg), a single pivotless LU decomposition is

used repeatedly in all nested calculations until the value for N(sg) is decreased.

7. Next, we have to modify the right hand side of the least squares equation, AT AC =

T A Y , such that the number of terms corresponding to N(`g) are used. Note that

Y = [y1, y2, . . . , yn] where yi are the numerically defined large or small compo-

nents output from Grasp2K. If i ≤ N(`g), then traditional matrix multiplication is

T performed. However, for i > N(`g) we set a yij = 0.

8. Due to the resulting block structure of step 7, submatrices of the LU decomposition

T of A A, L(N(`g)×N(`g))U(N(`g)×N(`g)), are used to solve for the corresponding block

33 of coefficients such that C results in the same block structure as AT Y .

9. Improvements in the fitting are then determined by both an improvement in weight

and a reduction in root mean square error (RMSE) for all orbital components. The

RMSE is calculated by the following method s PN (ˆy − y )2 RMSE = 0 i i (3.12) N

where yˆ is the fitted function values and y are the Grasp2K values. The weight

serves as a measure for reducing the number of orbitals that will need to be cal-

culated in the Cartesian expansion of the spherical harmonics. We calculate the

weight as follows:

w = 4N(sg) + 5N(dg) + 7N(fg) + 9N(gg) (3.13)

and an improvement occurs when the current weight is less than or equal to the

previous best fit. Also, the RMSE must either decrease or increase less than a user-

defined tolerance. The recommended number of terms for each orbital are swept

over the values shown in Table 4. Similarly, the maximum exponential coefficient

is increased over the range by a step size specified by the user.

10. Once the best-fit set of exponential coefficients and the corresponding term coef-

ficients have been calculated, the values are outputted to a format that is easily

ported into the input files in the OLCAO method. A database directory within the

OLCAO package can be produced to contain the new basis functions and code can

34 Table 4: Parameter Sweeping Values Minimum Value Maximum Value

Maximum Alpha (αt) 0.30 · αmax 10 · αmax Number of s Terms 8 20 Number of p Terms 8 n(s) Number of d Terms 8 n(s) Number of f Terms 8 n(d) Number of g Terms 8 n(f)

now be added to the OLCAO input file generation scripts allowing for selection of

a relativistic basis set.

The method has been successfully applied to the creation of considerable amounts of isolated atomic basis functions. In order to properly categorize the nature of the im- provements, the full implementation of the scalar and Dirac four-component fully rela- tivistic kinetic energy algorithm in the OLCAO package must be in place.

35 CHAPTER 4

INCLUSION OF RELATIVISTIC KINETIC ENERGY THEORY

During completion of the Masters of Science degree, I was awarded the National

Science Foundation (NSF) East Asia and Pacific Summer Institute (EAPSI) Fellowship which is jointly funded by the Japan Society for the Promotion of Science (JSPS) Sum- mer Program. Ten weeks were spent collaborating with Professor Kazuyoshi Ogasawara at Kwansei Gakuin University in Sanda, Japan to create a scalar relativistic basis set and more importantly to adapt the relativistic kinetic energy algorithm in the DVME method to one usable in the OLCAO method. By clever choice of basis set and application of quantum theory, we are able to bypass the application of certain derivatives that are nor- mally needed to solve for the solid state wavefunction and instead pre-calculate most of the kinetic energy contribution to the Hamiltonian.

4.1 Nature of the Problem

During the self-consistent field cycle of the DFT method, the Hamiltonian, com- prised of kinetic and potential energy operators, is applied to the wavefunction in each iteration. Equation 4.1 represents the current scalar relativistic Hamiltonian implemented in the OLCAO method. [20]

 1 1 e  (E0 + eφ)ψ = ∇~ 2 − ∇~ 4 − ~ ∇~ · ∇~ φ ψ (4.1) 2m 8mc2 8m2c2

36 The first two terms on the right side of the equation result from an expansion of the equation for relativistic energy (E = p(pc)2 + (mc2)2) in the limit of low ~p and contains the traditional expression for kinetic energy as well as an additional ∇~ 4 term.

The last term on the right is the so-called Darwin term which serves as a correction to the Coulomb potential energy due to fluctuations in the electron’s motion. To explore the problematic nature of directly applying this formalism, let us consider the quantum mechanical momentum operator expressed in position representation which is given by

Planck’s reduced constant, ~, divided by the square root of -1 given by i multiplied by the partial derivative with respect to position. [50]

∂ pˆ = ~ (4.2) i ∂r

As we have resolved ourselves to consider the fitting radial component of the wavefunction to a linear combination of Gaussian functions, we can consider as an exam- ple a single Gaussian function from the expansion describing the Bismuth 1s orbital of the form

2 −αtr ψ1 = Ate (4.3)

We then can vary the pre-factor coefficient, At, by one percent to form an addi- tional function.

2 −αtr ψ2 = 1.01 · ψ1 = 1.01 · Ate

If we apply first, second, third, and fourth-order derivatives to the single Gaussian

37 functions then we have the following expressions

2 −αtr ψ1 =Ate

∂ψ 2 1 = − 2A α re−αtr ∂r t t 2 ∂ ψ 2 2 1 = − 2α A e−αtr + 4α2A r2e−αtr ∂r2 t t t t 3 ∂ ψ 2 2 1 =12α2A re−αtr − 8α3A r3e−αtr ∂r3 t t t t 4 ∂ ψ 2 2 2 1 = + 12α2A e−αtr + 16α4A r4e−αtr − 48α3A r2e−αtr ∂r4 t t t t t t

Let us then consider the difference in area by this simple variation of pre-factor coefficient by examining the differences in areas for the absolute values of the respective functions given by:

Z ∞ i i ∂ ψ1 ∂ ψ2 ∆Ai = i − i dr (4.4) 0 ∂r ∂r

For this single 1s Gaussian, we have At = 10.912574 and αt = 50000000 which then gives the following when applied in Eq. 4.4.

5 9 13 ∆Ai = [10.80344826, 1.130524520 · 10 , 2.044574882 · 10 , 3.792044856 · 10 ]

Figure 7 is a graphical representation of the above expression showing how a one percent change in the pre-factor coefficient corresponds to rapidly increasing differences in area and therefore a correlated increase in the difference in integrals of the Gaussian functions.

With this analysis, it is evident that directly applying higher order derivatives to a

38 Figure 7: Area Differences for Single Gaussian with One Percent Change

39 single Gaussian function with even the smallest variation in accuracy can yield exponen- tially increasing error. The fact is even more troublesome considering that we are using a basis set that is entirely composed of a linear combination of similar such Gaussian functions. Thus, it becomes imperative to find another way to calculate the relativistic kinetic energy contribution to the Hamiltonian. The subsequent algorithm was adapted from multiple conversations during the NSF EAPSI Fellowship with Professor Kazuyoshi

Ogasawara and Professor Paul Rulis.

4.2 Kinetic Energy Algorithm

To find the relativistic kinetic energy, we begin by forming Bloch functions as a linear combination of isolated atomic orbitals wavefunctions, χi where we sum over each atomic site, m.

~k X ~k φm = Bm · χi (~r − ~rm) (4.5) m

~k −1/2 i~k·~rm The term, Bm = N e , is a phase factor containing a normalization con- stant and the Bloch term describing the periodicity of the lattice. [51] Two applications of the identity operator allow us to express the Hamiltonian in the representation of Bloch functions.

ED ED ˆ X ~k ~k ˆ ~k ~k H = φi φi H φj φj (4.6) i,j D E ~k ˆ ~k In Heisenberg’s matrix formalism of quantum mechanics, φi H φj represents the corresponding matrix elements of the Hamiltonian. As we know, the Hamiltonian

40 operator can be expressed as the sum of kinetic energy and potential energy, thus by properties of the inner product, we can separate the Hamiltonian into kinetic energy, Tˆ, and potential energy, Vˆ , terms.

ED ED ED ED ED ED X ~k ~k ˆ ~k ~k X ~k ~k ˆ ~k ~k X ~k ~k ˆ ~k ~k φi φi H φj φj = φi φi T φj φj + φi φi V φj φj i,j i,j i,j (4.7) ED ED P φ~k φ~k Vˆ φ~k φ~k The potential energy term, i,j i i j j , is determined by in each iteration of the self-consistent field cycles of density functional theory. However, the kinetic energy term may be manipulated further in a very elegant fashion. We expand the

Bloch functions in terms of the underlying isolated atomic orbitals.

D E  ∗ ~k ˆ ~k X ~k ~k ˆ φi T φj = Bm Bn hχi (~r − ~rm)|T |χj (~r − ~rn)i (4.8) m,n As a quick aside, we consider the straightforward application of the Hamiltonian to an arbitrary orbital state in an isolated atomic system as shown in the equations below.

The Hamiltonian applied to the system on the left hand side yields the energy eigenvalue of the orbital, εj. The orbital is solved in the total potential of the atomic system and thus

Vˆ is vatom∈j. We can then solve for the kinetic energy operator applied to the state.

ˆ ˆ ˆ H |Ψji = (T + V ) |Ψji

ˆ ˆ ˆ H |Ψji = T |Ψji + V |Ψji

ˆ atom∈j εj |Ψji = T |Ψji + v |Ψji

41 ˆ atom∈j Solving for the kinetic energy term, yields T |Ψji = εj |Ψji−v |Ψji. There- fore, with this form, we can express the kinetic energy term between Bloch functions as the following.

D E  ∗ ~k ˆ ~k X ~k ~k atom∈j φi T φj = Bm Bn hχi (~r − ~rm)|εj − v (~r − ~rn)|χj (~r − ~rn)i (4.9) m,n

We again apply the properties of the inner product in Dirac notation which yields the following form for the kinetic energy terms.

D E ~k ˆ ~k φi T φj = ∗ X  ~k  ~k atom∈j  Bm Bn εj hχi (~r − ~rm)|χj (~r − ~rn)i − hχi (~r − ~rm)|v |χj (~r − ~rn)i m,n (4.10)

From this, we can make the following observations about the form of the kinetic energy terms.

1. By choosing a basis set of atomic orbitals belonging to an isolated atomic system

(like those previously described in the second and third chapters), application of the

kinetic energy operator yields two overlap integrals with components determined by

the basis set creation and other components that can be entirely calculated during

the setup of the OLCAO software.

2. As was mentioned in the python script org_radwavefn.py, a list of the energy

eigenvalues corresponding to each orbital in the system is saved to a class that

42 can be accessed from atomic_system in the subclass list orbital_file.

energy_eigenvalues.

3. From the operation of the Grasp2K program, we should be able to extract a numer-

ical expression for the total atomic potential for the system. Because this potential

needs to be fitted to an s-type Gaussian-type orbital, the interFit.py script can

be leveraged to find the optimum expression for the total atomic potential.

In the existing OLCAO code base, we can re-purpose the two- and three-center overlap integral code to pre-calculate overlap integrals corresponding to matrix elements of the kinetic energy matrix. The first term inside the sum is a two-center overlap integral with two centers at two different locations, ~rm and ~rn. The form of the integral would then become the following.

hχi (~r − ~rm)|χj (~r − ~rn)i =

Z 2 2 X  `i −αi(~r−~rm)   `j −αj (~r−~rn)  3 Ai,j (~r − ~rm) ei (~r − ~rn) ej d r (4.11) i,j

The second term inside the summation of the kinetic energy is a three-center inte- gral where two centers are at the same location. Again, we make note that the total atomic potential is expressed as an s-type Gaussian centered at the ionic position of the atom, j, located at ~rn which of course implies that ~rn ≡ ~rv in (4.12).

43 atom∈j hχi (~r − ~rm)|v (~r − ~rn)|χi (~r − ~rn)i =

Z  2   2   2  X `i −αi(~r−~rm) −αv(~r−~rv) `j −αj (~r−~rn) 3 Ai,j,v (~r − ~rm) ei ev (~r − ~rn) ej d r i,j,v (4.12) Because we will also know the symmetry of the crystal and the k-point spacing, we can evaluate the entire sum to get matrix elements between Bloch functions in the kinetic energy matrix prior to entering the SCF cycle. During the iterative loops of the SCF cycle (determining the wavefunction, finding the charge density, and reformulating the

Hamiltonian) only the Potential matrix will need to be determined as the Kinetic Energy matrix will remain constant. An augmented scheme for the SCF process is shown in

Figure 8 where the charge density is used to inform the potential energy matrix after which the kinetic energy contribution is added and again used to solve for the wavefunction.

The last step, of course, in the process is to diagonalize the Hamiltonian in the basis of Bloch functions which yields the solid state wavefunction expressed as a linear combination of Bloch functions.

E X ~k ~k |ψi = Cµi φi (4.13) i Within the current OLCAO code base is a file, elements.dat, which has a syntax of PROPERTY_NAME followed by new lines for a property corresponding to each atom. Using this syntax, we propose to adding in the first field and augmenting the already existing last three fields - ENERGY_EIGENVALUES, NUM_POT_TERMS,

MIN_POT_ALPHA, and MAX_POT_ALPHA which would then be followed by 103 lines

44 Figure 8: Augmented Self-Consistent Field Cycle

45 with values for the energy eigenvalues for each orbital, number of terms in the linear com- bination of s-type GTOs describing the total atomic potential, the minimum exponential coefficient in the geometric series describing the potential, and the maximum exponential coefficient in the geometric series describing the potential respectively. The storage and parsing of the data should be straightforward. However, since the fitting method heavily utilizes the pandas dataframe scheme; the data can easily be ported into any convenient format for future development.

46 CHAPTER 5

FIRST-PRINCIPLES INVESTIGATION OF HYDROGEN TRAPPING IN CHEMISTRY DEPENDENT VACANCIES OF FECRNI ALLOYS

The following work was completed in the course of employment at Honeywell

Federal Manufacturing & Technologies. The Department of Energy’s Kansas City Na- tional Security Campus is operated and managed by Honeywell Federal Manufacturing

& Technologies, LLC under contract number DE-NA0002839.

5.1 Background

Hydrogen is the most abundant, naturally occurring element in the universe. How- ever, its intrinsic properties and more importantly interaction with various states of matter is still not fully understood. [52–57] Due to its natural abundance, metals will almost cer- tainly come into contact with hydrogen. The interaction is accelerated when metals oper- ate in an environment with high concentrations of hydrogen such as compressed hydrogen storage. Hydrogen has been known to cause catastrophic failure in alloys and particularly those constructed by additive manufacturing (AM) methods by embrittling the alloy. AM provides many benefits to the manufacturing process with the primary being the ability to fabricate components in novel and interesting geometries tailored to needed applications.

However, the underlying increased occurrences of dislocations, defects, vacancies and grain boundaries make the structure more likely to experience embrittlement due to hy- drogen. [57] The fundamental mechanisms responsible for hydrogen interactions within

47 materials remain debated and therefore it is difficult to optimize manufacturing processes and / or restrict chemical composition to improve additively manufactured part perfor- mance in the presence of hydrogen.

Extensive research efforts have been expended over many years leading to a con- sensus on the chief known mechanisms of hydrogen embrittlement. [52, 54] The most widely agreed upon mechanism is the so-called hydrogen enhanced localized plasticity

(HELP) [52, 58–62]; the ten most prominent mechanisms are as follows:

1. High hydrogen pressure bubble or void

2. Hydrogen induced reduction in surface energy

3. Hydrogen-enhanced dislocation ejection from the surface or near surface region

4. Hydrogen-induced reduction in cohesion strength

5. Hydrogen enhanced localized plasticity (HELP)

6. Hydrogen- and deformation assisted vacancy production

7. Hydrogen-triggered ductile to brittle transition

8. Hydride formation and cleavage

9. Hydrogen- and strain-induced phase transformations

10. Reactants and hydrogen

48 The current working hypothesis of hydrogen interaction is that hydrogen or one of its isotopes / containing molecules dissociates at the surface (especially in cases where the partial pressure creates enough of a chemical potential gradient) and diffuses into the material. A couple of key problems are now in part understood but have not yet been widely agreed upon. The segregation energy of hydrogen does not make a preference in semi-stable position of bulk or grain boundary though in the case of diffusion; we know that hydrogen will most likely diffuse along the grain boundaries given the relative energies. In areas of high triaxial stress, hydrogen is predisposed to accumulate. It is not known whether or not the presence of hydrogen is due to the high triaxial stress or whether it is the result. As cracks begin to form, gaseous hydrogen accumulates into so-called bubbles and keeps the the crack separated. The HELP description states that the presence of hydrogen in the system reduces the barrier to dislocation motion [62–67] and causes a highly localized plastic behavior in the material. In order to model these effects, the far more fundamental questions of how does the hydrogen get into the system, where does it go, and how does it interact with nanostructures and individual elements can elucidate the more advanced effects and give insights into how best to mitigate them through chemical manipulation and processing parameters. Finally, to understand the nature of diffusion of hydrogen the interaction of hydrogen with trapping sites in the materials must simultaneously be understood.

In a paper by Richard Karnesky, he outlines the many possible explanations for the difference in hydrogen diffusion coefficient between traditional wrought and AM 304L.

His closing deduction is that ”[i]t seems that the most likely explanation for the increased

49 trapping is an increase in the density of sites that exist in conventional 300-series steels, such as vacancies and/or dislocations.” [57] While dislocations require a level of atomistic modeling beyond the scale of current quantum mechanical calculations, the nature of elemental vacancies and the chemical sensitivity of trapping hydrogen are well within the capabilities of methods like DFT.

The Integrated Computational Materials Engineering (ICME) [68, 69] framework

(a synergistic theoretical, computational, and experimental approach) provides under- standing of how manufacturing processes effect the resultant material properties.

Figure 9: ICME System Design Chart Explanation. Process-Structure-Property- Performance (PSPP) linkages for both design of materials and improvement of processes for final part performance

As part of a multi-year project to continue the implementation of the ICME frame- work; the current research seeks to contribute to probable solutions of a previously un- known linkage between processing parameters, underlying material structures, and hy- drogen embrittlement phenomenon. Specifically, hydrogen-induced embrittlement (HE) and subsequent failure of stainless steels remains a largely unknown problem that must be understood and mitigated through informed variation of the processing parameters and

50 / or chemistry. The problem is difficult due to the multi-length scale, multi-physics phe- nomena that occur in the embrittlement process. The following work will discuss the implementation of the ICME methodology to understand chemical concentration impact on the trapping of hydrogen in lattice vacancies by use of first-principle calculation tech- niques.

Figure 10: Hydrogen Trapping Process-Structure-Property (PSP) Linkage. The linkage between the manufacturing process and service conditions to the metal matrix and hydro- gen prone trapping sites; and from the structures to the understanding hydrogen embrit- tlement resistance is the only portion of the overall PSP without a functioning model.

5.2 Methods and Techniques

5.2.1 MedeA

Materials Design, Inc.’s MedeA environment [70] is a GUI based, tcl driven code that wraps well-known first-principles, classical, Monte Carlo codes. The environment also has several proprietary calculation, analysis, and builder modules that interface with the calculation engines. Perhaps one of the most desirable features of the environment

51 is the ability to leverage high throughput workflows that automate calculation schemes and allow for more time spent on the analysis of the results. All of the following first- principles calculations on individual atomistic models were completed using the MedeA environment.

5.2.2 VASP

The Vienna Ab Initio Simulation Package (VASP) [71–74] created by the Univer- sity of Vienna is the most cited first-principles technique employing density functional theory [75, 76] (DFT) in literature. VASP possesses the ability to perform calculations such as single point energy, structural optimizations, ab initio , time- dependent DFT / hybrid, quasi-particle spectrum (GW), random phase approximation

(RPA), and mechanical and elastic properties. A host of other post self-consistent field process calculations are included in the package to calculate things such as electronic band structure, density of states, and Bader charge analysis [77–79].

The following calculations for both geometric relaxations and total energies were completed using the Vienna Ab-Initio Simulation Package (VASP) [71–74] wrapped by the MedeA environment [70]. Calculations were based on density functional theory

(DFT) and the GGA-PBE exchange-correlation functional [80–83] for describing the in- teractions. The calculations were completed with spin-orbit magnetic considerations for magnetics and relativity, while using ‘normal’ precision and a user-defined planewave cut- off energy of 320.000 eV. The k-spacing used in the calculation is 0.143967 per Angstrom, which leads to a 7x7x7 mesh. Both the planewave cutoff and k-mesh were found by

52 convergence study. This corresponds to actual k-spacings of 0.129 x 0.129 x 0.129 per

Angstrom. The k-mesh is forced to be centered on the gamma point. The electronic it- erations convergence were 1.00E-05 eV using the Normal (blocked Davidson) algorithm and reciprocal space projection operators. Linear-tetrahedron method with BlA¶chl˜ cor- rections to the energy were included in the calculations.

5.2.3 UNCLE

The Universal Cluster Expansion (UNCLE) method [84–86] is a technique which allows for the simulation of large systems of atoms by expanding an observable, i.e. en- ergy, as a function of interactions of clusters on a lattice. VASP is used as the calculation engine to determine the energies of each configuration. After a cluster expansion cal- culation is obtained, the interaction parameters for the clusters are used in Monte Carlo metropolis algorithm to determine the free energy and entropy of structures. The resulting heating and cooling curves are useful in determining phase stability and phase segrega- tion. The software can be applied to a number of systems, but our primary interest is in determining thermodynamically stable structures for alloys.

5.2.4 Python Scripts

Several custom python scripts were created to interact with the currently running

VASP calculations as well as aggregate the input and generate data analysis plots. Four in particular were vital to the project:

1. Grain Boundary Building: A python script was developed to create cubic symme-

try grains, cleave on desired planes and rotate to the desired angle relative to one

53 another. The script is usable inside of a python-based jupyter notebook that can

be used by engineers and materials scientists unfamiliar with crystallography and

rotation matrices in linear algebra.

2. OSZICAR Parsing: The script utilizes the plotly python library [87] to display cur-

rent progress in both self consistent field cycle and geometric relaxation progress.

A trio of graphs is provided to display real time calculation status.

3. Energy - Structure Aggregation: Using a combination of the slurm submitted jobs

and lists of structures corresponding to terms in trapping energy, the script mines the

directories for the structures, atomic positions, cell parameters, and energies which

are then stored in a pandas dataframe [88] and exported to csv files. The script

calculates total energies as a function of chemistry, calculates binding energies, and

calculates trapping energies which will be discussed in more detail in a later section.

4. Data Analysis Plots: A python module file was created to rapidly create a multitude

of data analysis plots from the plotly package. All of the plots below will be cre-

ated by this module file make full characterization of a set of structures and their

chemistry dependent properties easier to analyze.

5.2.5 Modeling of Steel

The modeling of austentic stainless steels is approximated by atomistic models with total chemical concentration of Fe0.7Cr0.2Ni0.2 on a face centered cubic (fcc) lattice, but the material is known to have both body centered cubic and fcc grains within the

54 structure. The paper by Lo [54] lists the experimentally observed crystallographic inter- faces between austenite and ferrite. Though the impact of the interface on the trapping of hydrogen has yet to be fully correlated, we do know from other literature [52] that the interface is a factor in the overall embrittlement behavior. For bulk properties and systems like mirrored grain boundaries, the MedeA environment is capable of creating represen- tative structures, but for more niche structures such as the observed bcc - fcc interfaces in steels (Table 5) there was not an option to strictly enforce parallel Miller indices and rotation directions to make the vector directions align.

Table 5: Observed Austenite (fcc) and Ferrite (bcc) Interfaces [54] Crystallographic OR Plane and Vector Directions

Headley-Brooks (HB) [89] (111)fcc k (110)bcc, [110]¯ fcc k [110]¯ bcc Kurdjumov-Sachs (KS) (111)fcc k (110)bcc, [110]¯ fcc k [110]¯ bcc, [112]¯ fcc k [11¯ 2]¯ bcc Nishiyama-Wasserman (111)fcc k (110)bcc, [101]¯ fcc k (NW) [001]bcc, [12¯ 1]¯ fcc k [110]¯ bcc Bain (010)fcc k (010)bcc, [001]fcc k [101]bcc, [100]fcc k [101]¯ bcc, [101]fcc k [100]bcc, [101]¯ fcc k [001]bcc ◦ Greninger-Troiano (GT) ∠ ≈ 1 (111)fcc and (110)bcc, ∠ ≈ ◦ ¯ 2 h112ifcc and [110]bcc Pitsch (001)fcc k (101)bcc, [110]¯ fcc k [111]¯ bcc, [110]fcc k [121]¯ bcc

The Grain Boundary script mentioned in the Methods section was used to create models for Headley-Brooks (HB), Kurdjumov-Sachs (KS), and Nishiyama-Wasserman

(KS) as show in Fig. 11 and Fig. 12. The three grain boundaries shown are the most

55 commonly occurring orientations as a result of the processing conditions being explored.

Figure 11: Experimentally observed fcc-bcc crystallographic orientations represented as single atom-type slabs. Headley-Brooks (HB), Kurdjumov-Sachs (KS), and Nishiyama- Wasserman (KS)

One particular challenge of modeling these observed interfaces is the nature of the periodicity at the interface which is required for the application of periodic boundary conditions. The KS and NW interfaces have a periodicity that creates an atomistic model of size well beyond the current capabilities of DFT to calculate. With that in mind the parameterization, creation, or through collaboration, a classical molecular potential de- scribing FeCrNi:H will be needed to model those systems. Our collaborator is currently creating potentials to describe the FeCrNi:H system and we are providing first-principles confirmation of the behaviour.

In order to determine how the atoms are arranged on the fcc lattice, we employ the previously mentioned UNCLE package in the MedeA environment. By performing the cluster expansion method followed by Monte Carlo simulated heating and cooling curves, we were able to generate a structure before phase separation occurred (seen at 1100K).

56 Figure 12: Headley-Brooks Crystallographic Orientation

A needed future step is to map the results of UNCLE to the structures generated by the script thereby ensuring representative chemistry in the observed structures. In addition, we plan to use the MedeA - Forcefield Optimizer module to feed in the extensive

DFT energy calculations of Fe-Cr-Ni:H models.

5.3 Hydrogen Trapping

With the materials themselves modeled, we now focus on the modeling of the hydrogen embrittlement behaviour. As mentioned above, we started from an UNCLE calculation of Fe0.7Cr2.0Ni0.1 and selected a structure above the phase separation. The structure was then parsed into 1728 32 atom 2x2x2 supercells (Fig. 14). A convergence study was done using the automated convergence methods to 1 meV in total energy of the system. The converged parameters are mentioned in Section 5.2. Each calculated term in the trapping (Eq. 5.2) and binding (Eq. 5.1) energies have dependence on the total and local chemistry in the structure, thus it is necessary to sample a statistically significant

57 Figure 13: Energy per atom as a function of temperature of an alloy with Fe0.7Cr0.2Ni0.1. For the present alloy models, structures just above the temperature of phase separation are chosen. portion of the chemical space both in terms of the total chemical ratios but positional variation.

An analysis for the parsed structures (Fig. 15) shows a normal distribution about the defined chemistry. The overall chemistry of each supercell varies for iron atoms from

30 (93.75%) to 13 (40.63%), chromium atoms from 14 (43.75%) to 1 (3.13%), and for nickel from 13 (40.63%) to 0 (0.00%). The average values are 70.05%, 19.91%, and

10.04% respectively.

The first step in validating the structure - calculation parameter combination is to compare against experimental values. For this, we performed full double geometric relaxations of the models and compared against another DFT research group value for fcc-

Fe of 3.545 A˚ and an extrapolation to 0K from a 10K coefficient of thermal expansion for

304L of 3.575 A.˚ From the histogram of lattice parameters (Fig.16), the mean value of the

58 Figure 14: Single Fe-Cr-Ni Structure. One of the 1728 parsed structures from the UNCLE calculation representing local chemistry variation in austenitic stainless steels. sample of relaxed structures is 3.553 A˚ contrasted with that of the previously calculated

3.467 A.˚ The relative errors are ∆E = 0.23% − 0.62% and ∆E = 1.95% − 2.77% for the current value and the previously reported value respectively. Note that there exists some outliers which were due to structures that did not fully reach geometric convergence.

The computational cost of the performed calculations is more expensive than those of the other reported study but have provided a more accurate picture of the material’s geometric properties.

The binding energy can give insight into the preferential potential wells for hydro- gen to sit in inside the lattice. The values calculated for a single chemical configuration in another group’s work for binding energy showed a variance of -0.03 and 0.07 eV per atom. Further, the interstitial binding energy can be incorporated into the expression for

59 Figure 15: UNCLE Parsed Structure Chemistry Distribution. Each 32 atom fcc supercell has a varied local chemistry from the inputted Fe0.7Cr0.2Ni0.1 specification (red dot). The plot represents the chemistry of 1728 parsed structures and larger circles indicate a larger number of structures with that chemistry. the trapping energy as shown in eq. 5.3, but is given by

1 ∆E = E(F e , Ni , Cr : H ) − E (F e , Ni , Cr ) − E (H ) (5.1) bind x y z int x y z 2 2

where E(F ex, Niy, Crz : Hint) is the total energy of the structure with a hydro- gen atom in an interstitial site in the lattice, E (F ex, Niy, Crz) is the total energy of the pure structure, and E (H2) is the total energy of H2 in gas phase (given by -6.695964 eV from both Materials Design and our calculations). For the sake of space, a sample of the calculated systems is shown in fig. 17. Note while the chemistry may be the same, the geometric arrangement of the atoms on the lattice can vary and thus the local environment changes in the structure. The ternary plot for this sampling does not show a well defined

60 Figure 16: Relaxed Lattice Parameter Distribution. Comparison of double relaxed lattice parameters for Fe-Cr-Ni systems. Average value of lattice parameters is in between FCC Fe ideal lattice parameter and an experimental thermal expansion coefficient extrapolation of SS304L at 10K.

trend in the binding energy which may be due to the outlier values in Fe23Cr7Ni2 affect- ing the scale. A full ternary plot of the binding energies will be created in the journal publication.

If we break out ternary diagrams to describe the binding energy dependence on nearest neighbor by the individual system chemistry (Fig. 18), clear trends start to emerge in the gradient of the binding energy of each chemistry, but is not completely quantifiable.

It is entirely possible that a positional analysis rather than a chemical concentration anal- ysis could be more telling about the local binding environment for hydrogen. The data

61 Figure 17: Sample Binding Energy Analysis. (Left) Violin plot showing the distribution of binding energies as a function of total chemistry. (Right) For all chemistry values on the left, the binding energy as a function of first nearest neighbor concentration. is stored in csv files from pandas dataframes so the additional positional analysis can be easily completed.

The only possible origin of hydrogen migration in a lattice with a single vacancy is from an interstitial site to the elemental vacancy. Therefore, the trapping energy consists of the difference in energy between the pure structure, Erel, plus the energy of the struc- ture with hydrogen located in an elemental vacancy, EH∈, and the energy of the structure with an elemental vacancy, E, plus the energy of the structure with a hydrogen atom in an interstitial location, EH∈int. Each term in the expression has a strong correlation to the total chemistry and local chemistry.

∆Etrap = Erel + EH∈ − (E + EH∈int) (5.2)

62 Figure 18: Binding Energy Nearest Neighbor Ternary by Chemistry. The violin plot in fig. 17 is broken out by system chemistry and first nearest neighbor chemistry concentration around the lattice interstitial site.

As mentioned, if we wish to limit the number of terms in the calculation to analyze chemistry sensitivity, we can write the trapping energy in terms of the binding energy as

 1  ∆E = E − ∆E + E + E (H ) (5.3) trap H∈ bind  2 2

and a logical choice considering the hydrogen must leave the potential well of an interstitial site and diffuse to an elemental vacancy.

63 Figure 19: Trapping Energy Scheme. The numerically stable first-principles reaction scheme for determining the trapping energy of a hydrogen atom at an interstitial to an elemental vacancy with in the cell depends on four quantities [Left to Right] (1) hydrogen in an interstitial site, (2) Fe-Cr-Ni structure with a single elemental vacancy, (3) pure Fe-Cr-Ni structure, and (4) hydrogen in the single elemental vacancy.

At this point, it may be apparent that in order to effectively probe the chemistry space needed to develop a model for the trapping of hydrogen, a considerable number of calculations must be completed. For a single trapping energy data point, four structures must be fully relaxed and calculated. There are thirty-two atoms in each cell so there are the same number of possible elemental vacancies and coincidentally the same number of interstitial sites. When looking at the nature of the elemental vacancy (Fig. 20) in an fcc structure, there are fourteen possible binding locations for hydrogen (eight four- fold sites and six three-fold sites). For a single chemistry in a single configuration there are approximately 524,288 possible DFT calculations! This is, of course, assuming that all interstitial - vacancy pairs are viable. Due to the nature of the small cell and the incorporation periodic boundary conditions, we are limiting ourselves to those on the order of half of the cell diagonal distance away from each other which drastically reduces the sample size. However, it is clear that manual submission of that number of calculations is not feasible. Therefore, leveraging the high-throughput environment in the MedeA

64 workflows is key to completing a proper screening of the chemistry space.

Figure 20: fcc Lattice Vacancy. (Left) Pure Fe Cr Ni Lattice and (Right) a single ele- mental vacancy in the structure showing possible four-fold and three-fold binding sites for hydrogen with a single chemistry concentration.

The MedeA environment’s tcl backbone allows for the storage of a large list of structures in the so-called structure lists which are accessible and able to be iterated through by MedeA’s high-throughput environment. Described in Figure 21, is the al- gorithm for finding each term of the trapping energy.

5.3.1 Trapping Calculation Algorithm

1. Begin with a structure list of parsed structures from MedeA UNCLE above the

phase separation temperature.

2. Perform a geometric relaxation on each structure with the converged calculation

parameters listed above.

65 3. The relaxed structures are then passed to four different workflow paths:

(a) Erel

i. The structure has already been relaxed therefore we simply perform a

single point energy calculation.

(b) EH∈

i. Sub-Workflow 1

A. Randomly substitute a hydrogen atom for a Period IV atom in the

structure 300 times.

B. Remove duplicate structures from the list.

C. Repeat for each structure.

ii. Sub-Workflow 2

A. Loop over each newly created structure.

B. Loop over the fourteen possible binding sites in fractional coordinates

of the cell.

C. Extract the structure from the structure list.

D. Using a custom tcl stage, make the hydrogen atoms a subset.

E. Translate the subset by looped fractional coordinates calculated above.

F. Add to a new structure list.

iii. Perform a single relaxation followed by a single point energy calculation.

(see Fig. 22)

(c) EH∈int

66 i. Open each structure and use the capability to find empty space in the

structure where the radius is greater than 0.5 Angstroms. There should be

32 interstitial vacancy locations which can also be checked via coordina-

tion number in the method.

ii. Substitute hydrogen atoms into each of the found empty spaces.

iii. Sub-Workflow 1

A. Randomly substitute thirty one vacancies for the hydrogen atoms in

the structure three hundred times.

B. Remove duplicate structures from the list.

C. Repeat for each structure.

iv. Perform a single relaxation followed by a single point energy calculation.

(see Fig. 22)

(d) E

i. Sub-Workflow 1

A. Randomly substitute a single vacancy for a Period IV atom in struc-

ture three hundred times.

B. Remove duplicate structures from the list.

C. Repeat for each structure.

ii. Perform a single relaxation followed by a single point energy calculation.

(see Fig. 22)

67 The above yields tables of energy data and structures that then must be paired and analyzed for trends and quantities. With the data calculated and aggregated by the previously mentioned python scripts, we can discuss the results of the calculation and trends. For the first term in the calculation, Erel, which is the energy of the pure structure we make note of a clearly defined and expected trends in the total energy as shown in

Figure 23. The most strongly correlated increase in energy comes from adding in nickel to the system, second is the amount of chromium in the system while iron doesn’t show a particularly well defined trend. The mean value of the total energy seems to be centered around the target chemistry of Fe0.7Cr0.2Ni0.1.

Therefore, Erel ∝ XNi. We note the binding energy lacked clearly defined trends while the total energy has a strongly defined correlation. Because the binding energy depends on the total energy, it must mean that energy of hydrogen in interstitial sites is occluding the trends and needs further investigation. Next, we examine the nature of the elemental vacancy. A removal of a single element will obviously lower the total energy of the structure, but the choice of atom does show a trend for a decrease in trapping energy. If we break out the trapping energy by element removed to create the vacancy in the structure, we note that overall chromium has less a more negative trapping energy than iron vacancies. We also expect to see this sort of imbalance in the population due to iron being of larger overall concentration and thus more opportunities for a vacancy to exist. Figure 24 shows the vacancy element trapping energy by distance in between the interstitial site and the elemental vacancy. We make note of two observations: (1) overall chromium vacancies have a more negative trapping energy than iron vacancies do; and

68 (2) even considering distances which are appreciable larger or smaller than approximately one half the three dimensional diagonal of the cell, the trend of chromium have a more negative trapping energy stays the same.

Figure 25 shows the values for the trapping energy if we summed together all of the data points from the Figure 24 across all of the distances between interstitial binding sites and elemental vacancies. As we made note, the overall average of the trapping energies for chromium are more negative than those of iron. If we look at presentations given at multiple conferences throughout the duration of the research, we will see parallel coordinate charts that show E has a very strong correlation to the overall trapping energy in that when E is more negative the trapping energy for that structure is a higher value. Overall values for trapping energy by vacancy element for this sampling of struc- tures is shown in the Table 6. As we observed from the figures, chromium possesses a more negative value in all three cases in the summation across interstitial distances.

Chromium Iron Max 0.298 eV 0.921 eV Mean -0.325 eV -0.038 eV Min -1.336 eV -1.219 eV Table 6: Statistics on the trapping energy by vacancy.

Finally, we examine the trapping energy dependence on nearest neighbor chem- istry of both the interstitial trapping site and the elemental vacancy site as shown in Figure

26. For the interstitial site, the concentration of chromium has no discernible impact on the trapping energy. Iron concentration has loosely correlated trend in the trapping en- ergy and nickel concentration possesses the highest correlated impact on trapping energy.

69 When looking at the vacancy, however, we see an entirely different change in correla- tion to trapping energy. The entire correlated trend occurs in conjunction with the local chromium concentration.

5.4 Conclusion

The MedeA environment’s high throughput workflows and wrapped calculation methods were leveraged to generate thermodynamically stable atomistic models of an approximation of austentic stainless steels. A series of scripts were written to create grain boundaries and to manage, aggregate and perform calculations of binding energies and trapping energies for a large library of representative structures. Calculation of the lattice parameters using the converged planewave basis and k-spacing confirmed experi- mental validation of the choice of inputs to VASP. While chemical concentration trends are apparent in total energy as function of chemistry, the energy of interstitial hydrogen is occluding a possible trend and necessitates the consideration of more than just local chemistry but positional dependence of the atoms in the structure. The hydrogen trapping energy as a function of the local chemical concentration near the originating interstitial site nickel concentration has the largest correlation with change in trapping energy of the distant vacancy followed by iron. For the trapping energy as a function of the chemi- cal concentration at the terminating elemental vacancy, chromium content has the most significant impact on the trapping of hydrogen. The initial trapping results are in good agreement with our collaborator and were presented at multiple conferences such as TMS

2020 and MS&T; and including as a recommended speaker at the Materials Design, Inc.

70 User Group Meeting in Vienna, Austria.

71 Figure 21: Trapping Energy Calculation Workflow Flowchart. The four terms (or three 72 if using binding energy) can be fully automated through the use of the high-throughput MedeA workflow environment. The flowchart shows the complete calculation algorithm from structure list of parsed structures from UNCLE to final term. Figure 22: Sample MedeA Workflow. Automation of standard calculation procedure to geometrically relax a structure and then calculate its total energy.

Figure 23: Total Energy (eV) Ternary. The total energy of the relaxed system, a key term in the calculation of both binding and trapping energy, shows strong correlation to chromium and nickel concentration.

73 Figure 24: Trapping Energy by Interstitial-Vacancy Distance. An initial sampling of the energies show that the trends as a function of distance in Angstroms show no discernible trend.

Figure 25: Trapping Energy by Vacancy Element. An initial sampling of the structures show the difference between trapping energies when the vacancy is a chromium or an iron atom.

74 Figure 26: Trapping Energy Dependence on Interstitial and Vacancy Chemistry. The number of nearest neighbors to both the interstitial site (Left) and the elemental vacancy (Right) show clear trends of where hydrogen is mostly likely to diffuse from and to.

75 CHAPTER 6

CONCLUSIONS AND FUTURE WORK

6.1 Conclusions

The goal of this dissertation was to move forward an initiative to merge together the OLCAO and DVME methods into one capable of calculating the energy of multi- plet states in laser host crystals. The effort was accomplished by two specific aims (1) development of a four-component, fully relativistic basis set for each element in the peri- odic table and (2) the adaptation of a scheme for the calculation of the relativistic kinetic energy contribution to the total energy in the self-consistent field cycle. A method has been developed to create one, two, and four component relativistic atomic orbital basis functions represented as a linear combination of Gaussian-type functions. In the nomen- clature of quantum chemistry, the basis set would be denoted as: STO[s → N(sg)|p →

(pg)|d → N(dg)|f → N(fg)|g → N(gg)]. The method uses a weighted linear interpo- lation and submatrices of a customized pivotless LU decomposition to solve the minimal norm least squares problem for the coefficients of the linear combination. The improve- ment in the fit is driven by simultaneous minimization of the RMSE and the number of terms in the Gaussian expansion defined by a weight based on the number of terms in the

Cartesian expansion of spherical harmonics. The database of basis functions and calcula- tion script will be stored within the file structure of the OLCAO package on Github. To mitigate the error-prone direct application of the relativistic kinetic energy operator in the

76 self-consistent field cycle of the density functional theory method; we have successfully adapted a theory from the DVME method that bypasses the need for calculating deriva- tives in the determination of the kinetic energy matrix. By a clever choice of a basis of isolated atomic orbitals, the entirety of the kinetic energy matrix can be determined on the setup of the OLCAO calculation due to (1) repurposing of existing code base to calculate two- and three- center integrals, (2) a library of energy eigenvalues and total atomic po- tentials that may be obtained in the basis set creation process, and (3) knowledge of the system symmetry and k-spacing.

6.2 Future Work

One aspect of this work that would be optimal for improvement is the addition of machine learning algorithms for the determination of the fitted coefficients and expo- nential alphas. From the current fitting algorithm, large dataframes of fitting parameters,

RMSE, and calculation times have been generated. The data would be ideal for the train- ing set of a machine learning approach. Similarly, while the shrinking function is im- plemented in the fitting procedures, it has not yet been applied to the optimization of the basis set. A considerable high-throughput project would be needed to find the optimum parameters for the σ and rc to optimize the basis set for the environment inside of solids. It is entirely possible that leveraging a machine learning approach would also be successful in expediting and exploring the solution space.

The implementation of fully relativistic calculations will require an extensive over- haul of the underlying code base and input files. In the meantime, the kinetic energy

77 algorithm can be applied to both the non-relativistic and scalar relativistic algorithms that already exist in the OLCAO code base. Subsequent work will need to take place to continue the relativistic extensions in the software’s code although most of the required changes have been identified.

Lastly, with the ability to perform fully relativistic calculations, it would be desir- able to begin to systematically calculate base electronic structures and properties for not only laser host crystals but also other materials of interest that are strongly correlated and

/ or possess nuclei with a large number of protons. With a method capable of such calcu- lations, it could then be possible to drive fundamental material behavior improvements.

78 Appendices

79 APPENDIX A

PYTHON CODES

There are a considerable number of smaller functions that facilitate the conversion of quantum numbers and symbols, i.e. κ → ` and ` = 0 →s, but we will focus mainly on the major ones for operation of the fitting procedures.

A.1 org radwavefn.py

The org_radwavefn module is inital step in the organization orbitals, prede- termination of quantum properties, and setup for the calculation processes. For more information, the Methods section describes the outputs generated by the Grasp2K pro- gram.

• class atomic_system holds all of the input information from the isodata and

rwfn.out files.

– class orbital_info creates and instance of the orbital_file class.

– class atomic_info creates an instance of the isodata_file class.

– element stores the element symbol from the periodic table.

• class isodata_file

– Variables

* atomic_number

80 * mass_number

* fermi_dist_param_a

* fermi_dist_param_c

* nucleus_mass defined in atomic mass units.

* nuclear_spin (I) defined in units of ~

* nuclear_dipole_moment defined in units of nuclear magnetons.

* nuclear_quadrupole_moment defined in units of barns.

– Functions

* parse_file(isodata) - Reads in isodata file values.

• class orbital_file

– Variables

* num_orbitals - Number of orbitals in the system.

* n_qnums - List of principle quantum numbers n.

* k_qnums - List of relativistic quantum numbers κ.

* qnums - List of the quantum numbers for each orbital [n, κ, `(P (r)), `(Q(r)]).

* energy_eigenvalues - List of energy eigenvalues for each orbital.

* numerical_points - List of umber of points in numerical grid for each orbital.

* zero_point_energies - List of ZORA coefficients for each orbital.

* large_comps - List of lists of Pi(r)

81 * small_comps - List of lists of Qi(r)

* radial_comps - List of lists of r

* large_div_r - List of lists of Pi(r)/r

* neg_large_div_r - List of lists of −1 · Pi(r)/r

* small_div_r - List of lists of Qi(r)/r

* neg_small_div_r - List of lists of −1 · Qi(r)/r

* max_n - Maximum principle quantum number.

* max_l - Maximum angular momentum quantum number.

* max_small_l - Maximum angular momentum quantum number for Q(r)

* max_k - Maximum relativist quantum number

* orbital_list - List of names given by n κ naming scheme.

* interpolated_radial_grid - Interpolated radial grid that all or- bitals are expressed over.

* interpolated_large_components - List of lists of Pi on inter- polated radial grid.

* interpolated_small_components - List of lists of Qi on inter- polated radial grid.

* interpolated_ldivr_components - List of lists of Pi/r on in- terpolated radial grid.

82 * interpolated_sdivr_components - List of lists of Qi/r on in- terpolated radial grid.

* interpolated_nldivr_components - List of lists of −1 · Pi/r on interpolated radial grid.

* interpolated_nsdivr_components - List of lists of −1 · Qi/r on interpolated radial grid.

* fitting_max_l - Maximum ` value depending on single, two, or four component basis set.

* fitting_orbital_names - Orbital specific description names for the orbitals being fitted.

* fitting_functions - List of lists containing the numerical func- tions being fitted depending on number of components being considered.

* fitting_lvals - Aggregated number of orbitals for each ` quantum number.

* fitting_l_list - List of ` quantum numbers corresponding to the fitting_orbital_names.

– Functions

* parse_file(rwfn.out) - Parses and reads in values from outputted wavefunction descriptions

* single_component - Generates a single component description by

removing the small components (Qi) and averaging the large components

83 (Pi) together.

* two_component - Generates a two component description by only fit-

ting the large components (Pi) and removing the small components.

* four_component - Generates a full four component description for inputs to the fitting functions.

* apply_shrinking_function(critical_radius,sigma)

A.2 make veusz graph.py

The module is used to in conjunction with the Veusz software to visualize nu- merical and analytical orbital expressions. The module file contains one major function create_veusz_file(mode,atom). Acceptable mode values that can be passed to the function are ’plot grasp orbitals’ or ’plot orbital functions’. The other input, atom, is an instance of atomic_system class and therefore needs the isodata and rwfn.out files from Grasp2K.

A.3 interFit.py

The interFit.py script creates an instance of the atomic_system class or can be called as a module file to simplify what is in the main function of a python script.

An example of how to do this will be included at the end of this subsection.

• Variables

– orbital_fitting - Class holding multiple member functions:

84 parse_input, organize_orbitals, setup_calculations,

get_prefactor_coefficients, fitting_procedure.

– apply_shrink - Boolean variable to describe if shrinking is designated.

– shrink_critical_radius - The critical radius to use in the shrinking

function.

– shrink_sigma - The sigma parameter to use in the shrinking function.

– number_components - Integer value designating 1,2, or 4 components.

– grasp_description - This calls an instance of the previously mentioned

atomic_system class from the org_radwavefn module file. The class

is initialized with the isodata and rwfn.out files in the current working

directory.

– min_alpha - Minimum alpha in the geometric series of exponential alphas,

{αt}

– max_alpha - Calls a function that returns the maximum alpha based on the

atomic number of the atom, Z.

– fitting_columns - A list that contains values that will be columns in a

pandas dataframe. In this case, min alpha, max alpha, num s, num p, num d,

num f, num g, weight, total RMSE, RMSE, and time.

– fitting_results - List that will be converted to a pandas dataframe with

columns fitting_columns. A list of values will be added during each

iteration of the fitting process.

85 – RMSE - Float value of the sum of the RMSE values for each orbital.

– weight_factors - List containing the weight values for s,p,d,f,g orbitals

respectively in the form of [1, 3, 5, 7, 9].

– weight - Integer value of the current weight of the fitting.

– number_terms - List containing the value for the number of terms for each

` in the current fitting.

– fitted_max_alpha - Float value containing the maximum fitted expo-

nential alpha.

– orb_fit_tolerance - Float value containing the tolerance orbital fits.

The value is initialized to 10−4.

– alpha_step_size - Integer value to describe the how much the maximum

alpha will be incremented by in each iteration of the fitting process. The value

is initialized to one percent of the maximum alpha.

– loop_max_alpha - List containing all values of the maximum alpha to be

sampled in the fitting process. The list is initialized to 0.3·αmax → 100·αmax

– max_num_terms - Integer value of the maximum number of terms in the

expansion.

– min_num_terms - Integer value of the minimum number of terms in the

expansion.

• Functions

86 – parse_input() - The function parses the command line arguments for the

script. Acceptable options are:

* -help which will print out a predetermined help message about how to run the script.

* -comp 1/2/4 - The flag followed by an integer value tells the script how many components of the atomic orbitals to fit - one, two, or four

components. respectively. Values are updated to the above member vari-

able number_components

* -shrink rc sig - The flag indicates that a shrinking function is to be applied to the orbitals and is followed by two decimal values to denote

the critical radius, rc, and smoothing parameter, σ. Values are updated to

the corresponding member variables apply_shrink,

shrink_critical_radius, and shrink_sigma.

– organize_orbitals() - The member function calls the function inside

of the local class instance grasp_description based on the

number_orbitals. As can be seen above, there are three functions in the

orbital_info class that prepare one, two, and four component represen-

tations. The function will also call the apply_shrinking_function if

the designation on the command line is present. Lastly, the function will di-

vide each orbital in the resultant set of functions by r` to prepare for the fitting

process.

– setup_calculation() - The function calls the parse_input and

87 organize_orbital functions. The function was created purely to limit

the number of function calls in the program operation but having the two sep-

arate functions allows for a modular operation as will be seen in the next

Appendix chapter.

– get_prefactor_coefficients(LU,A,AT,B,N,alphas) - The func-

tion takes in the LU matrix in the form usable by the

scipy.lu_solve algorithm; A and its transpose AT as defined in Chapter

3; B which is a matrix where the columns are the orbital values organized by

decreasing `; N is a list of the number of terms to be used in the expansion for

each ` type; and alphas is the list of alphas to be used in the fitting of the

orbitals. The function returns the matrix of coefficients, C, the total RMSE

for all orbitals, a list of RMSE for each orbital’s fit and the time it took to

calculate the prefactor coefficients.

– fitting_procedure() - The function has a conditional based on

number_components that will use nested for loops of increasing ` as

further in the loop. Based on the current αmin, αmax, and N(sg), the function

will call another function

get_alpha_list(min_alpha,max_alpha,sp_num,mode). If

mode=’geometric’, the functions returns a geometric series of alphas but

room is left for the inclusion of other modes, i.e. linear. Next, the function

calls getA(sp_num,radial_grid,alphas) which simply calculates

the A matrix discussed in detail in Chapter 3 for the minimum norm least

88 squares fitting procedure. Next, pivotless_lu_decomp(ATA) is called which performs the custom pivotless LU decomposition on AT A. After the decomposition, the above function to get the prefactor coefficients is called and the RMSE values and weights are compared to the previous iteration. If it has improved per the designated criteria, the current best values are updated and the iterations continue until the space has been entirely calculated. Two csv files are generated in the operation of the script - Fitting Results.csv and

RMSE.csv which contain all of the information for each iteration. At the start of the fitting procedure, the current working directory is checked for these

files and if they exist, they are used as criteria in the loop structure to avoid recalculating the same values again. The returned output is a set of alphas, number of terms, and coefficients for all of the orbitals in a format easily swapped into the olcao.dat file. Similarly, a file in the input format for the graphing scripts is also generated.

89 APPENDIX B

CODE OPERATION EXAMPLES

For this chapter, we will follow through an examplar smaller system to show how the workflow progress in standard and modular operation. Both the standard and modular operation (which can be leveraged in an environment such as jupyter notebooks) of the scripts start with the same step. A Grasp2K calculation needs to be completed with the desired basis set (minimal, full, or extended) specified. From the command line, we can enter:

python graspElems.py C MB

In the current working directory, we will now see slurm submission scripts for

Grasp2K to HPC environments which do not necessarily need to be used as they will bash scripts inside of the element’s directory. In the directory, there is also now a folder

MB inside of which is another C. If we look inside of this folder, there are now two bash scripts, runC and runRSCF. As long as the Grasp2K environment has been properly installed and the environment variable, GRASP, has been set; the runC script can be immediately ran:

. / runC

If ran interactively as above, lines of the programs operation will be printed to terminal. One item of note is the number of blocks generated during the mcp operation as this is a key edit that will need to be made to the runRSCF script. If we open the script,

90 we should see something similar to the following

#!\ b i n \ bash s e t −x $GRASP / b i n / r s c f 2 <

100000 S1

at the top of the file. We will replace the line referencing the number of blocks with a value of 1 on it’s own line for each block present in the system. After which, we can save and run the script by the following in interactive mode:

. / runRSCF

The script will remove any of the generated files that are not used in the fitting process so the main two files left should be isodata and rwfn.out as expected. Next, we can decide on how to proceed where with a standard call to the interFit.py script or in a modular fashion.

B.1 Standard Operation

For the standard operation, we can call the interFit.py script directly from the call line using the flags mentioned in the previous Appendix. Let’s say that we wanted to create an four component basis set from the minimal representation of this atom system

91 without application of the shrinking function. We could then call from the command line:

python interFit.py −comp 4

The program’s operation will print out a status at every 20% completion though the list of maximum alphas. After which a file of equations for plotting and a file in similar syntax to that of olcao.dat will be in the directory. It is important to a cursory glance of the fitted functions in comparison to the numerical ones from Grasp2K to ensure that the fitting is acceptable. The plotting can be accomplished by running the following on the command line.

python make veusz graph . py

A file C_grasp_numerical_orbitals.vsz and

C_grasp_orbitals_equations.vsz will be in the directory. Similarly, inspect the RMSE.csv to be certain each orbital’s RMSE is within the desired tolerance for error. The fitting procedure is now complete and can be imported into the olcao input files or added to a database structure for storage.

B.2 Modular Operation

A decision was made in design of the algorithms to allow both for easier test- ing and a more deliberate operation by allowing the fitting procedure to be imported as modules in other python environments. Since we know the form of the classes from the previous Appendix, snippets of code will be applied here showing how to perform the

fitting after the Grasp2K description has been generated.

92 To perform a single Gaussian fit, the following should be entered into the environ- ment.

# Import the module files import o r g radwavefn as o p s i import interFit as iF import numpy as np

# Create an instance of the atomic system # and initialize with the Grasp2K values. e l = o p s i . a t o m i c system(’isodata’,’rwnf.out’)

# Specify a four component representation. e l . o r b i t a l i n f o . four component ()

# Generate a list of exponential alpha using # a minimum alpha of 0.12, a maximum alpha # in the traditional OLCAO definition , 30 # terms in the expansion, and using a geometric series. alphas=iF. get a l p h a l i s t ( 0 . 1 2 , iF . g e t m a x alpha(el.atomic info .atomic number ) , 30,’geometric’)

# Create the matrix A and transpose(A) A= iF . get A(30,el.orbital info.interpolated r a d i a l g r i d , a l p h a s ) AT=np. tranpose (A)

# Create tranpose(A) *A AM=np. dot(np. tranpose(A) ,A)

# Create the LU Decomposition LU=iF. pivotless l u d e c o m p (AM)

93 # Divide the radial functions by rˆl f o r i in range ( l e n (el.orbital i n f o f i t t i n g l l i s t ) ) : f o r j in range ( l e n (el.orbital info.interpolated r a d i a l g r i d ) ) : e l . o r b i t a l info.fitting functions[i][j]=el.orbital i n f o . f i t t i n g functions[i][j]/(el.orbital i n f o . interpolated r a d i a l g r i d [ j ]** np . f l o a t (el.orbital i n f o . f i t t i n g l l i s t [ i ] ) )

# Create column matrix B=np.transpose(np.matrix(el. orbital info.fitting functions)) num terms=[30,30,20,12,10]

coefficients ,total RMSE ,RMSE, fit time=iF.get p r e f a c t o r coefficients(LU, A, AT, B , num terms ,alphas) iF . e x p o r t t o functions(coefficients ,alphas ,el) iF . export to OLCAO(coefficients ,alphas ,el)

Similarly, if we wanted to optimize the fitting, the process would not be entirely different, except we would make a function call to fitting_procedure(). import o r g radwavefn as o p s i import interFit as iF import numpy as np

# Create an instance of the orbital fitting class. el=iF. orbital f i t t i n g

# Specify the number of desired components. e l . number components=4

# Organize the orbitals for fitting. el.organize o r b i t a l s ( )

94 # Call the fitting procedure function. e l . f i t t i n g procedure ()

95 Bibliography

[1] A. Zunger, S. Wagner, and P. M. Petroff, Journal of Electronic Materials 22, 3

(1993).

[2] L. J. Atherton, S. A. Payne, and C. D. Brandle, Annual Review of Materials Science

23, 453 (1993).

[3] R. Antoni, Infrared Physics & Technology 41, 213 (2000).

[4] C. C. Lin and R.-S. Liu, J. Phys. Chem. Lett. 2, 1268 (2011).

[5] T. Justel,¨ H. Nikol, and C. Ronda, Angewandte Chemie International Edition 37,

3084 (1998).

[6] P. Schlotter, R. Schmidt, and J. Schneider, Applied Physics A: Materials Science &

Processing 64, 417 (1997).

[7] J. Hecht, Optics and Photonics News 14, 42 (2003).

[8] H. M. Pask, Progress in Quantum Electronics 27, 3 (2003).

[9] Q. Ren, G. Simon, and J.-M. Parel, Ophthalmology 100, 1828 (1993).

[10] K. Naito et al., Japanese Journal of Applied Physics 31, 259 (1992).

[11] C. D. Orth, S. A. Payne, and W. F. Krupke, Nuclear Fusion 36, 75 (1996).

96 [12] D. Brida, G. Krauss, A. Sell, and A. Leitenstorfer, Laser & Photonics Reviews 8,

409 (2014).

[13] I. A. Bufetov et al., IEEE Journal of Selected Topics in Quantum Electronics 20,

111 (2014).

[14] M. N. Zervas and C. A. Codemard, IEEE Journal of Selected Topics in Quantum

Electronics 20, 219 (2014).

[15] B. A. Burnett and B. S. Williams, Optics Express 24, 25471 (2016).

[16] Y. Tang and J. Xu, High Power Tunable Tm3+-fiber Lasers and Its Application in

Pumping Cr2+:ZnSe Lasers, in Frontiers in Guided Wave Optics and Optoelectron-

ics, edited by B. Pal, InTech, 2010.

[17] F. L. Pedrotti, L. M. Pedrotti, and L. S. Pedrotti, Introduction to Optics (3rd Edition),

Benjamin Cummings, 2006.

[18] R. Powell, Physics of Solid-State Laser Materials, Atomic, Molecular, and Optical

Physics, Springer Verlag, New York, 1998.

[19] P. Rulis et al., OLCAO on Github, https://github.com/UMKC-CPG/olcao, 2016.

[20] W.Y. Ching and P. Rulis, Electronic Structure Methods for Complex Materials: The

Orthogonalized Linear Combination of Atomic Orbitals, Oxford University Press,

Oxford, UK, 2012.

97 [21] K. Ogasawara and S. Watanabe, Chapter 22 Current Situation and Future Devel-

opment of Discrete Variational Multielectron Method, in Advances in Quantum

Chemistry, volume 54, pages 297–314, Academic Press, 2008.

[22] Y. Kowada and K. Ogasawara, The DV-Xα Molecular Orbital Calculation Method

and Recent Development, in The DV-Xα Molecular-Orbital Calculation Method,

edited by T. Ishii, H. Wakita, K. Ogasawara, and Y.-S. Kim, pages 3–23, Springer

International Publishing, 2015.

[23] P. Jonsson,¨ X. He, C. Froese Fischer, and I. Grant, Computer Physics Communica-

tions 177, 597 (2007).

[24] P. Jonsson,¨ G. Gaigalas, J. Bieron,´ C. F. Fischer, and I. P. Grant, Computer Physics

Communications 184, 2197 (2013).

[25] F. Parpia, C. Fischer, and I. Grant, Computer Physics Communications 94, 249

(1996).

[26] I. P. Grant and W. Johnson, Relativistic Quantum Theory of Atoms and Molecules:

Theory and Computation, volume 61, Springer-Verlag, 2008.

[27] P. R. Thomas, Introduction of a Fully Relativistic Capable Basis Set in the ab ini-

tio Orthogonalized Linear Combination of Atomic Orbitals Method, University of

Missouri - Kansas City, Thesis, 2014.

[28] X.-F. Zhong, Y.-N. Xu, and W. Y. Ching, Physical Review B 41, 10545 (1990).

98 [29] H. Adachi, M. Tsukuda, and C. Satoko, Journal of the Physical Society of Japan 45,

875 (1978).

[30] K. Ogasawara, T. Ishii, I. Tanaka, and H. Adachi, Physical Review B 61, 143 (2000).

[31] M. Novita and K. Ogasawara, Japanese Journal of Applied Physics 51, 022604

(2012).

[32] S. Watanabe, K. Ogasawara, M. Yoshino, and T. Nagasaki, Physical Review B 81,

125128 (2010).

[33] P. A. M. Dirac, Proceedings of the Royal Society of London. Series A, Containing

Papers of a Mathematical and Physical Character 117, 610 (1928).

[34] CRC Handbook of Chemistry and Physics, 93rd Edition, 2012.

[35] Texas Advanced Computing Center (TACC) at The University of Texas at Austin,

https://www.tacc.utexas.edu/.

[36] Lewis HPC Resource, http://docs.rnet.missouri.edu/lewis-and-clark-clusters/.

[37] R. Ditchfield, W. J. Hehre, and J. A. Pople, The Journal of Chemical Physics 54,

724 (1971).

[38] W. J. Hehre, R. F. Stewart, and J. A. Pople, The Journal of Chemical Physics 51,

2657 (1969).

[39] W. J. Hehre, R. Ditchfield, R. F. Stewart, and J. A. Pople, The Journal of Chemical

Physics 52, 2769 (1970).

99 [40] W. J. Hehre, R. Ditchfield, and J. A. Pople, The Journal of Chemical Physics 56,

2257 (1972).

[41] W. J. Hehre and W. A. Lathan, The Journal of Chemical Physics 56, 5255 (1972).

[42] D. A. Pantazis and F. Neese, Wiley Interdisciplinary Reviews: Computational

Molecular Science 4, 363 (2014).

[43] A. J. Wallace and D. L. Crittenden, The Journal of Physical Chemistry A 118, 2138

(2014).

[44] A. Manchon, H. C. Koo, J. Nitta, S. M. Frolov, and R. A. Duine, Nat Mater 14, 871

(2015).

[45] L. H. Thomas, Nature 117, 514 (1926).

[46] A. Szabo and N. Ostlund, Modern Quantum Chemistry: Introduction to Advanced

Electronic Structure Theory, Macmillian Publishing Co. ,Inc., New York, N.Y.,

1982.

[47] E. Anderson et al., LAPACK Users’ Guide, Society for Industrial and Applied

Mathematics, Philadelphia, PA, third edition, 1999.

[48] P. Thomas, Interfit on Github, https://github.com/prtnpb/interFit, 2016.

[49] S. D. Kenny, A. P. Horsfield, and H. Fujitani, Physical Review B 62, 4899 (2000).

[50] H. C. Ohanian, Principles of Quantum Mechanics, Addison-Wesley, 1990.

100 [51] W. Jones and N. H. March, Theoretical Solid State Physics, Volume 1: Perfect Lat-

tices in Equilibrium, volume 1: Perfect Lattices in Equilibrium, Dover Publications,

Inc., Mineola, N.Y., 1973.

[52] I. M. Robertson et al., Metallurgical and Materials Transactions A 46, 2323 (2015).

[53] G. Han, J. He, S. Fukuyama, and K. Yokogawa, Acta Materialia 46, 4559 (1998).

[54] K. Lo, C. Shek, and J. Lai, Materials Science and Engineering: R: Reports 65, 39

(2009).

[55] Y. Murakami, T. Kanezaki, Y. Mine, and S. Matsuoka, Metall and Mat Trans A 39,

1327 (2008).

[56] T. Kanezaki, C. Narazaki, Y. Mine, S. Matsuoka, and Y. Murakami, International

Journal of Hydrogen Energy 33, 2604 (2008).

[57] R. A. Karnesky, P. Chao, and D. A. Buchenauer, Hydrogen isotope permeation

and trapping in additively manufactured steels, in Proceedings of the ASME 2017

Pressure Vessels and Piping Conference, ASME.

[58] D. P. Abraham and C. J. Altstetter, Metallurgical and Materials Transactions A 26,

2859 (1995).

[59] C. D. Beachem, Metallurgical and Materials Transactions B 3, 441 (1972).

[60] R. A. Oriani, Annu. Rev. Mater. Sci. 8, 327.

101 [61] H. Birnbaum and P. Sofronis, Materials Science and Engineering: A 176, 191

(1994).

[62] H. K. Birnbaum, Mechanisms of hydrogen related fracture of metals, Technical

report, Illinois Univ at Urbana Dept of Materials Science and Engineering, 1989.

[63] V. Olden, C. Thaulow, and R. Johnsen, Materials & Design 29, 1934 (2008).

[64] K. Nibur, D. Bahr, and B. Somerday, Acta Materialia 54, 2677 (2006).

[65] I. Robertson, Engineering Fracture Mechanics 64, 649 (1999).

[66] S. Lynch, Acta Metallurgica 36, 2639 (1988).

[67] R. Kirchheim, Scripta Materialia 62, 67 (2010).

[68] M. Horstemeyer, Integrated Computational Materials Engineering (ICME) for Met-

als: Using Multiscale Modeling to Invigorate Engineering Design with Science, Wi-

ley, 2012.

[69] D. Frankel et al., Improving manufacturing quality using integrated computational

materials engineering, in Proceedings of the 4th World Congress on Integrated Com-

putational Materials Engineering (ICME 2017), edited by P. Mason et al., pages

23–32, Springer International Publishing.

[70] Materials Design, Inc., MedeA® 3.0 software, 1998.

[71] G. Kresse and J. Hafner, Phys. Rev. B 47, 558 (1993).

102 [72] G. Kresse and J. Hafner, Phys. Rev. B 49, 14251 (1994).

[73] G. Kresse and J. Furthmuller,¨ Computational Materials Science 6, 15 (1996).

[74] G. Kresse and J. Furthmuller,¨ Phys. Rev. B 54, 11169 (1996).

[75] W. Kohn and L. J. Sham, Phys. Rev. 140, A1133 (1965).

[76] P. Hohenberg and W. Kohn, Phys. Rev. 136, B864 (1964).

[77] W. Tang, E. Sanville, and G. Henkelman, Journal of Physics: Condensed Matter 21,

084204 (2009).

[78] E. Sanville, S. D. Kenny, R. Smith, and G. Henkelman, Journal of Computational

Chemistry 28, 899 (2007).

[79] G. Henkelman, A. Arnaldsson, and H. Jonsson,´ Computational Materials Science

36, 354 (2006).

[80] J. P. Perdew et al., Phys. Rev. B 46, 6671 (1992).

[81] J. P. Perdew et al., Phys. Rev. B 48, 4978 (1993).

[82] J. P. Perdew et al., Phys. Rev. Lett. 100, 136406 (2008).

[83] J. P. Perdew and A. Zunger, Phys. Rev. B 23, 5048 (1981).

[84] D. Lerch, O. Wieckhorst, G. L. W. Hart, R. W. Forcade, and S. Muller,¨ Modelling

Simul. Mater. Sci. Eng. 17, 055003 (2009).

[85] S. Muller,¨ Journal of Physics: Condensed Matter 15, R1429 (2003).

103 [86] J. Sanchez, F. Ducastelle, and D. Gratias, Physica A: Statistical Mechanics and its

Applications 128, 334 (1984).

[87] P. T. Inc., plotly, Collaborative Data Science, https://plot.ly, 2015.

[88] W. McKinney, Data Structures for Statistical Computing in Python, in Proceedings

of the 9th Python in Science Conference, edited by Stefan´ van der Walt and Jarrod

Millman, pages 56 – 61, 2010.

[89] T. J. Headley and J. A. Brooks, Metall and Mat Trans A 33, 5 (2002). VITA

Patrick Ryan Thomas was born on August 31, 1983 in Tucson, Arizona. He was educated in local public and private schools and graduated from Camden Christian School in 2002. He graduated with a Bachelor of Science in Physics from the University of

Missouri Kansas City with Department of Physics and Astronomy Honors in 2012. Mr.

Thomas then graduated with a Masters in Physics from the University of Missouri Kansas

City in 2014. Mr. Thomas was awarded the 2013 National Science Foundation East Asia and Pacific Summer Institutes (EAPSI) Fellowship co-supported by the Japan Society for the Promotion of Science Summer Program Fellowship. Mr. Thomas is a member of the

National Society of Physics Students and the National Physics Honor Society ΣΠΣ.

105