Elastic properties of copper¶
This example demonstrates the computation of elastic constants using an embedded atom method (EAM) potential based on user defined functions. The potential form and parameters have been taken from [MisMehPap01]. The example also illustrates the use of XML Inclusions.
In particular this example provides a demonstration of the calculation of both “clamped ion” and “relaxed ion” elastic constants for a hexagonal lattice structure.
Location¶
examples/elastic_constants_Cu
Input files¶
main.xml: main input file
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
<?xml version="1.0" encoding="iso-8859-1"?> <job> <name>Structural relaxation and elastic constants for copper using an EAM potential</name> <verbosity>medium</verbosity> <fitting> <BFGS conv-threshold="1e-5" max-iter="20" /> </fitting> <atom-types> <species>Cu</species> </atom-types> <potentials> <xi:include href="potential.xml" xmlns:xi="http://www.w3.org/2003/XInclude" /> </potentials> <deformations> <deformation id="FCC_lattice_constant"> <scale>2.55614</scale> </deformation> </deformations> <structures> <xi:include href="structures.xml" xmlns:xi="http://www.w3.org/2003/XInclude" /> </structures> </job>
potential.xml: initial parameter set (included in main input file via XML Inclusions)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
<eam id='Cu EAM potential' species-a='*' species-b='*'> <mapping> <pair-interaction species-a='*' species-b='*' function='V' /> <electron-density species-a='*' species-b='*' function='rho' /> <embedding-energy species='*' function='F' /> </mapping> <functions> <sum id='V'> <user-function id='V_term1'> <input-var>r</input-var> <expression> (E1*(exp(-2*alpha1*(r-r01)) - 2*exp(-alpha1*(r-r01))) + E2*(exp(-2*alpha2*(r-r02)) - 2*exp(-alpha2*(r-r02))) + delta) </expression> <derivative> E1*(2*alpha1*exp(-alpha1*(r-r01)) - 2*alpha1*exp(-2*alpha1*(r-r01))) + E2*(2*alpha2*exp(-alpha2*(r-r02)) - 2*alpha2*exp(-2*alpha2*(r-r02))) </derivative> <param name='E1'>2.01458e2</param> <param name='alpha1'>2.97758</param> <param name='r01'>0.83591</param> <param name='E2'>6.59288e-3</param> <param name='alpha2'>1.54927</param> <param name='r02'>4.46867</param> <param name='delta'>0.86225e-2</param> <screening> <user-function id='rho_screening'> <cutoff>5.50679</cutoff> <input-var>r</input-var> <expression>1 - 1/(1 + ((r - cutoff) / h)^4)</expression> <derivative>4 * h^4 * (r-cutoff)^3 / ((h^4 + (r-cutoff)^4)^2)</derivative> <param name='h'>0.50037</param> </user-function> </screening> </user-function> <user-function id='V_term2'> <cutoff>5.50679</cutoff> <input-var>r</input-var> <expression> - (r < rs1 ? S1*(rs1-r)^4 : 0) - (r < rs2 ? S2*(rs2-r)^4 : 0) - (r < rs3 ? S3*(rs3-r)^4 : 0) </expression> <derivative> - (r < rs1 ? -4*S1*(rs1-r)^3 : 0) - (r < rs2 ? -4*S2*(rs2-r)^3 : 0) - (r < rs3 ? -4*S3*(rs3-r)^3 : 0) </derivative> <param name='rs1'>2.24000</param> <param name='rs2'>1.80000</param> <param name='rs3'>1.20000</param> <param name='S1'>4.00000</param> <param name='S2'>40.00000</param> <param name='S3'>1.15000e3</param> </user-function> </sum> <user-function id='rho'> <input-var>r</input-var> <expression>a * exp(-beta1*(r - r03)^2) + exp(-beta2*(r - r04))</expression> <derivative>beta2*(-exp(-beta1*(r-r04))) - 2*a*beta1*(r-r03)*exp(-beta1*(r-r03)^2)</derivative> <param name='a'>3.80362</param> <param name='r03'>-2.19885</param> <param name='r04'>-2.61984e2</param> <param name='beta1'>0.17394</param> <param name='beta2'>5.35661e2</param> <screening> <user-function id='rho_screening'> <cutoff>5.50679</cutoff> <input-var>r</input-var> <expression>1 - 1/(1 + ((r - cutoff) / h)^4)</expression> <derivative>4 * h^4 * (r-cutoff)^3 / ((h^4 + (r-cutoff)^4)^2)</derivative> <param name='h'>0.5</param> </user-function> </screening> </user-function> <user-function id='F'> <input-var>rho</input-var> <expression> (rho < 1) ? (F0 + 0.5*F2*(rho - 1)^2 + q1*(rho-1)^3 + q2*(rho-1)^4 + q3*(rho-1)^5 + q4*(rho-1)^6) : (F0 + 0.5*F2*(rho - 1)^2 + q1*(rho-1)^3 + Q1*(rho-1)^4) / (1 + Q2*(rho-1)^3) </expression> <derivative> (rho < 1) ? (rho - 1)*(F2 + 3*q1*(rho-1) + 4*q2*(rho-1)^2 + 5*q3*(rho-1)^3 + 6*q4*(rho-1)^4) : (F2*(rho-1) + 3*q1*(rho-1)^2 + 4*Q1*(rho-1)^3)/(Q2*(rho-1)^3 + 1) - (3*Q2*(rho-1)^2 * (F0 + 0.5*F2*(rho-1)^2 + q1*(rho-1)^3 + Q1*(rho-1)^4)) / ((Q2*(rho-1)^3 + 1)^2) </derivative> <param name='F0'>-2.3</param> <param name='F2'>1.4</param> <param name='q1'>-1.3</param> <param name='q2'>-0.9</param> <param name='q3'>1.8</param> <param name='q4'>3.0</param> <param name='Q1'>0.4</param> <param name='Q2'>0.3</param> </user-function> </functions> </eam>
structures.xml: input structures (included in main input file via XML Inclusions)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
<group> <fcc-lattice id="FCC"> <atom-type>Cu</atom-type> <lattice-parameter>3.615</lattice-parameter> <properties> <atomic-energy target='-3.540'/> <lattice-parameter target='3.615'/> <bulk-modulus/> <C11 target='170.0'/> <C12 target='122.5'/> <C44 target= '75.8'/> </properties> </fcc-lattice> <hcp-lattice id="HCP (clamped ion elastic constants)"> <atom-type>Cu</atom-type> <lattice-parameter>2.8</lattice-parameter> <ca-ratio>1.6</ca-ratio> <properties> <atomic-energy/> <lattice-parameter/> <ca-ratio/> <pressure/> <pxx/> <pyy/> <pzz/> <pxy/> <pxz/> <pyz/> <bulk-modulus/> <C11/> <C12/> <C13/> <C33/> <C44/> <C55/> <C66/> </properties> </hcp-lattice> <hcp-lattice id="HCP (relaxed ion elastic constants)"> <atom-type>Cu</atom-type> <lattice-parameter>2.8</lattice-parameter> <ca-ratio>1.6</ca-ratio> <relax-dof> <atom-coordinates/> </relax-dof> <properties> <atomic-energy/> <lattice-parameter/> <ca-ratio/> <pressure/> <pxx/> <pyy/> <pzz/> <pxy/> <pxz/> <pyz/> <bulk-modulus/> <C11/> <C12/> <C13/> <C33/> <C44/> <C55/> <C66/> </properties> </hcp-lattice> <user-structure id="FCC in 111 orientation (relaxed ion elastic constants)"> <pbc x="true" y="true" z="true"/> <cell> <a1 x="0.5" y="-0.866025403784" z="0"/> <a2 x="0.5" y="+0.866025403784" z="0"/> <a3 x="0" y="0" z="2.449489742783"/> <atoms> <atom type="Cu" x="0.0" y="0.0" z="0.0" reduced="true"/> <atom type="Cu" x="0.333333333333333" y="0.666666666666667" z="0.333333333333333" reduced="true"/> <atom type="Cu" x="0.666666666666667" y="0.333333333333333" z="0.666666666666667" reduced="true"/> </atoms> </cell> <deformation>FCC_lattice_constant</deformation> <relax-dof> <atom-coordinates/> </relax-dof> <properties> <pressure/> <pxx/> <pyy/> <pzz/> <pxy/> <pxz/> <pyz/> <bulk-modulus/> <C11/> <C12/> <C13/> <C33/> <C44/> <C55/> <C66/> </properties> </user-structure> <bcc-lattice id="BCC"> <atom-type>Cu</atom-type> <lattice-parameter>2.8</lattice-parameter> <properties> <atomic-energy target='-3.496'/> <lattice-parameter/> <C11/> <C12/> <C44/> </properties> </bcc-lattice> <diamond-lattice id="DIA"> <atom-type>Cu</atom-type> <lattice-parameter>4.0</lattice-parameter> <properties> <atomic-energy target='-2.293'/> <lattice-parameter/> <C11/> <C12/> <C44/> </properties> </diamond-lattice> <sc-lattice id="SC"> <atom-type>Cu</atom-type> <lattice-parameter>2.3</lattice-parameter> <properties> <atomic-energy target='-2.996'/> <lattice-parameter/> <C11/> <C12/> <C44/> </properties> </sc-lattice> </group>
Output¶
The final properties (as well as parameters) are written to standard output.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
This is program version 0.1.6 Reading job file main.xml ------------------------------------------------------- Parsing input file(s) ------------------------------------------------------- ------------------------------------------------------- Potential parameters being optimized (#dof=0): NONE ------------------------------------------------------- ------------------------------------------------------- Number of properties being fitted: 0 ------------------------------------------------------- ------------------------------------------------------- Computing structure properties Structure 'FCC': total-energy: -3.55787 eV atomic-energy: -3.55787 eV/atom total-volume: 11.8104 A^3 atomic-volume: 11.8104 A^3/atom bulk-modulus: 139.856 GPa C11: 171.427 GPa C12: 124.138 GPa C44: 76.1944 GPa lattice-parameter: 3.615 A [0:] Structure 'HCP (clamped ion elastic constants)': total-energy: -6.54577 eV atomic-energy: -3.27288 eV/atom total-volume: 30.4176 A^3 atomic-volume: 15.2088 A^3/atom pressure: -199122 bar bulk-modulus: 25.0959 GPa pxx: -205262 bar pyy: -205262 bar pzz: -186842 bar pyz: -1.42541e-10 bar pxz: 2.34462e-10 bar pxy: 4.31279e-11 bar C11: 31.8493 GPa C12: 7.33113 GPa C13: 14.1413 GPa C33: 87.2442 GPa C44: 17.2645 GPa C55: 17.2645 GPa C66: 12.2586 GPa lattice-parameter: 2.8 A ca-ratio: 1.6 Structure 'HCP (relaxed ion elastic constants)': total-energy: -6.54577 eV atomic-energy: -3.27288 eV/atom total-volume: 30.4176 A^3 atomic-volume: 15.2088 A^3/atom pressure: -199122 bar bulk-modulus: 25.0959 GPa pxx: -205262 bar pyy: -205262 bar pzz: -186842 bar pyz: -1.42541e-10 bar pxz: 2.34462e-10 bar pxy: 4.31279e-11 bar C11: 29.4757 GPa C12: 9.70487 GPa C13: 14.1413 GPa C33: 87.2442 GPa C44: 17.2645 GPa C55: 17.2645 GPa C66: 9.8872 GPa lattice-parameter: 2.8 A ca-ratio: 1.6 Structure 'FCC in 111 orientation (relaxed ion elastic constants)': total-energy: -10.6736 eV atomic-energy: -3.55787 eV/atom total-volume: 35.4291 A^3 atomic-volume: 11.8097 A^3/atom pressure: 1.58787 bar bulk-modulus: 139.879 GPa pxx: 1.58787 bar pyy: 1.58787 bar pzz: 1.58787 bar pyz: -1.25167e-07 bar pxz: 1.88275e-12 bar pxy: 1.56895e-12 bar C11: 224.016 GPa C12: 106.64 GPa C13: 89.1192 GPa C33: 241.533 GPa C44: 41.166 GPa C55: 41.166 GPa C66: 58.6859 GPa Structure 'BCC': total-energy: -3.4849 eV atomic-energy: -3.4849 eV/atom total-volume: 10.976 A^3 atomic-volume: 10.976 A^3/atom C11: 186.124 GPa C12: 191.813 GPa C44: 123.432 GPa lattice-parameter: 2.8 A [0:] Structure 'DIA': total-energy: 7.19803 eV atomic-energy: 3.59901 eV/atom total-volume: 16 A^3 atomic-volume: 8 A^3/atom C11: 802.121 GPa C12: 1591.55 GPa C44: 757.007 GPa lattice-parameter: 4 A [0:] Structure 'SC': total-energy: -3.04011 eV atomic-energy: -3.04011 eV/atom total-volume: 12.167 A^3 atomic-volume: 12.167 A^3/atom C11: 496.813 GPa C12: 41.72 GPa C44: -43.9108 GPa lattice-parameter: 2.3 A [0:] ------------------------------------------------------- -------------------------------------------------------
Other files¶
lammps_runs/data.lammps: elastic constants computed using Lammps; the original runs can be found in the tgz-archives in the lammps_runs subdirectory.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# 1st col: structure # 2nd col: pressure (GPa) # 3rd col: lattice constant a (A) # 4th col: cohesive energy (eV/atom) # 5th col: elastic constant c11 (GPa) # 6th col: elastic constant c12 (GPa) # 7th col: elastic constant c13 (GPa) # 8th col: elastic constant c33 (GPa) # 9th col: elastic constant c44 (GPa) # 10th col: elastic constant c66 (GPa) FCC 0.00 3.6142 -3.5406 169.2 122.0 - - 76.0 - 42 96 FCC111 0.00 2.5556 -3.5406 221.6 104.5 87.0 239.1 41.1 58.6 188 144 HCP 0.00 2.5555 -3.5327 205.9 120.2 83.5 214.8 37.0 42.8 957 96 DHCP 0.00 2.5555 -3.5366 206.3 119.8 85.1 226.0 38.8 43.3 188 192