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 &lt; rs1 ? S1*(rs1-r)^4 : 0)
    	  - (r &lt; rs2 ? S2*(rs2-r)^4 : 0)
    	  - (r &lt; rs3 ? S3*(rs3-r)^4 : 0)
    	</expression>
    	<derivative>
    	  - (r &lt; rs1 ? -4*S1*(rs1-r)^3 : 0)
    	  - (r &lt; rs2 ? -4*S2*(rs2-r)^3 : 0)
    	  - (r &lt; 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 &lt; 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 &lt; 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