Modified embedded atom method (MEAM) potential with user defined functions

This example demonstrates the use of the modified embedded atom method (MEAM) potential routine together with user defined functions. The potential form and parameters have been taken from [LenSadAlo00]. The example also illustrates the use of XML Inclusions. Note that the potential is merely evaluated for a couple of simple lattice structures and none of the parameters are fitted.

Location

examples/potential_MEAM

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
    <?xml version='1.0' encoding='iso-8859-1'?>
    <job>
    
      <name>Silicon MEAM potential by Lenosky et al.</name>
      
      <verbosity>medium</verbosity>
    
      <atom-types>
        <species>Si</species>
      </atom-types>
    
      <potentials>
        <xi:include href="potential.xml" xmlns:xi="http://www.w3.org/2003/XInclude" />
      </potentials>
    
      <structures>
        <xi:include href="structures.xml" xmlns:xi="http://www.w3.org/2003/XInclude" />
      </structures>
      
    </job>
    
  • potential.xml: potential 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
    <meam id='Si potential' species-a='*' species-b='*'>
    
      <mapping>
        <pair-interaction species-a='*' species-b='*' function='V' />
        <electron-density species-a='*' species-b='*' function='rho' />
        <f-function species-a='*' species-b='*' function='f' />
        <g-function species-a='*' species-b='*' species-c='*' function='g' />
        <embedding-energy species='*' function='U' />
      </mapping>
      
      <functions>
    
        <spline id='V'>
          <derivative-left>-42.66967</derivative-left>
          <cutoff>4.5</cutoff>
          <nodes>
    	<node x='1.500000000'  y=' 6.92994'   enabled='true' />
    	<node x='1.833333333'  y='-0.43995'   enabled='true' />
    	<node x='2.166666667'  y='-1.70123'   enabled='true' />
    	<node x='2.500000000'  y='-1.62473'   enabled='true' />
    	<node x='2.833333333'  y='-0.99696'   enabled='true' />
    	<node x='3.166666667'  y='-0.27391'   enabled='true' />
    	<node x='3.500000000'  y='-0.02499'   enabled='true' />
    	<node x='3.833333333'  y='-0.01784'   enabled='true' />
    	<node x='4.166666667'  y='-0.00961'   enabled='true' />
    	<node x='4.500000000'  y=' 0.0    '   enabled='true' />
          </nodes>
        </spline>
        
        <spline id='rho'>
          <derivative-left>-1.0</derivative-left>
          <cutoff>3.5</cutoff>
          <nodes>
    	<node x='1.5'  y=' 0.13747' enabled='false' />
    	<node x='1.7'  y='-0.14831' enabled='false' />
    	<node x='1.9'  y='-0.55972' enabled='false' />
    	<node x='2.1'  y='-0.73110' enabled='false' />
    	<node x='2.3'  y='-0.76283' enabled='false' />
    	<node x='2.5'  y='-0.72918' enabled='false' />
    	<node x='2.7'  y='-0.66620' enabled='false' />
    	<node x='2.9'  y='-0.57328' enabled='false' />
    	<node x='3.1'  y='-0.40690' enabled='false' />
    	<node x='3.3'  y='-0.16662' enabled='false' />
    	<node x='3.5'  y=' 0.0    ' enabled='false' />
          </nodes>
        </spline>
        
        <spline id='f'>
          <derivative-left>-3.61894</derivative-left>
          <cutoff>3.5</cutoff>
          <nodes>
    	<node x='1.500000000'  y='1.25031' enabled='false' />
    	<node x='1.722222222'  y='0.86821' enabled='false' />
    	<node x='1.944444444'  y='0.60846' enabled='false' />
    	<node x='2.166666667'  y='0.48756' enabled='false' />
    	<node x='2.388888889'  y='0.44163' enabled='false' />
    	<node x='2.611111111'  y='0.37610' enabled='false' />
    	<node x='2.833333333'  y='0.27145' enabled='false' />
    	<node x='3.055555556'  y='0.14814' enabled='false' />
    	<node x='3.277777778'  y='0.04855' enabled='false' />
    	<node x='3.500000000'  y='0.0    ' enabled='false' />
          </nodes>
        </spline>
        
        <spline id='g'>
          <derivative-left>-13.95042</derivative-left>
          <derivative-right>1.13462</derivative-right>
          <nodes>
    	<node x='-1.000000000'  y='5.25416' enabled='false' />
    	<node x='-0.742837143'  y='2.35915' enabled='false' />
    	<node x='-0.485674286'  y='1.19595' enabled='false' />
    	<node x='-0.228511429'  y='1.22995' enabled='false' />
    	<node x=' 0.028651429'  y='2.03565' enabled='false' />
    	<node x=' 0.285814286'  y='3.42474' enabled='false' />
    	<node x=' 0.542977143'  y='4.94859' enabled='false' />
    	<node x=' 0.800140000'  y='5.61799' enabled='false' />
          </nodes>
        </spline>
        
        <spline id='U'>
          <derivative-left>0.73514</derivative-left>
          <derivative-right>0.61652</derivative-right>
          <nodes>
    	<node x='-1.770930000'  y='-1.07493' enabled='false' />
    	<node x='-0.388151429'  y='-0.20045' enabled='false' />
    	<node x=' 0.994627143'  y=' 0.41422' enabled='false' />
    	<node x=' 2.377405714'  y=' 0.87939' enabled='false' />
    	<node x=' 3.760184286'  y=' 1.26689' enabled='false' />
    	<node x=' 5.142962857'  y=' 1.62998' enabled='false' />
    	<node x=' 6.525741429'  y=' 1.97738' enabled='false' />
    	<node x=' 7.908520000'  y=' 2.39618' enabled='false' />
          </nodes>
        </spline>
        
      </functions>
    
    </meam>
    
  • 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
    <group>
    
      <fcc-lattice id='A1 (fcc)'>
        <atom-type>Si</atom-type>
        <lattice-parameter>3.6</lattice-parameter>
        <relax-dof>
          <lattice-parameter/>
        </relax-dof>
        <properties>
          <atomic-energy/>
          <lattice-parameter/>
          <bulk-modulus/>
        </properties>
      </fcc-lattice>
    
      <bcc-lattice id='A2 (bcc)'>
        <atom-type>Si</atom-type>
        <lattice-parameter>3.0</lattice-parameter>
        <relax-dof>
          <lattice-parameter/>
        </relax-dof>
        <properties>
          <atomic-energy/>
          <lattice-parameter/>
          <bulk-modulus/>
        </properties>
      </bcc-lattice>
    
      <hcp-lattice id='A3 (hcp) - large c/a'>
        <atom-type>Si</atom-type>
        <lattice-parameter>2.6</lattice-parameter>
        <ca-ratio>2.1</ca-ratio>
        <relax-dof>
          <lattice-parameter/>
          <ca-ratio/>
        </relax-dof>
        <properties>
          <atomic-energy/>
          <lattice-parameter/>
          <ca-ratio/>
          <bulk-modulus/>
        </properties>
      </hcp-lattice>
    
      <hcp-lattice id='A3 (hcp) - small c/a'>
        <atom-type>Si</atom-type>
        <lattice-parameter>2.6</lattice-parameter>
        <ca-ratio>1.1</ca-ratio>
        <relax-dof>
          <lattice-parameter/>
          <ca-ratio/>
        </relax-dof>
        <properties>
          <atomic-energy/>
          <lattice-parameter/>
          <ca-ratio/>
          <bulk-modulus/>
        </properties>
      </hcp-lattice>
    
      <diamond-lattice id='A4 (diamond)'>
        <atom-type>Si</atom-type>
        <lattice-parameter>5.</lattice-parameter>
        <relax-dof>
          <atom-coordinates/>
          <lattice-parameter/>
        </relax-dof>
        <properties>
          <atomic-energy/>
          <lattice-parameter/>
          <bulk-modulus/>
        </properties>
      </diamond-lattice>
    
      <B4-lattice id='hexagonal diamond'>
        <atom-type-A>Si</atom-type-A>
        <atom-type-B>Si</atom-type-B>
        <lattice-parameter>3.</lattice-parameter>
        <ca-ratio>1.6</ca-ratio>
        <u-parameter>0.375</u-parameter>
        <relax-dof>
          <atom-coordinates/>
          <lattice-parameter/>
          <ca-ratio/>
          <u-parameter/>
        </relax-dof>
        <properties>
          <atomic-energy/>
          <lattice-parameter/>
          <ca-ratio/>
          <u-parameter/>
          <bulk-modulus/>
        </properties>
      </B4-lattice>
    
    </group>
    

Output (files)

  • 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
    This is program version 0.1.6
    Reading job file main.xml
    -------------------------------------------------------
    Parsing input file(s)
    -------------------------------------------------------
    -------------------------------------------------------
    Computing structure properties
    Structure 'A1 (fcc)':
       total-energy: -3.91431 eV
       atomic-energy: -3.91431 eV/atom
       total-volume: 16.0672 A^3
       atomic-volume: 16.0672 A^3/atom
       bulk-modulus: 8688.3 GPa
       lattice-parameter: 4.00559 A (relaxed) [0:]
    Structure 'A2 (bcc)':
       total-energy: -3.8948 eV
       atomic-energy: -3.8948 eV/atom
       total-volume: 15.4127 A^3
       atomic-volume: 15.4127 A^3/atom
       bulk-modulus: 8729.77 GPa
       lattice-parameter: 3.13547 A (relaxed) [0:]
    Structure 'A3 (hcp) - large c/a':
       total-energy: -7.89209 eV
       atomic-energy: -3.94605 eV/atom
       total-volume: 30.7255 A^3
       atomic-volume: 15.3627 A^3/atom
       bulk-modulus: 5891.52 GPa
       lattice-parameter: 2.58945 A (relaxed)
       ca-ratio: 2.04336 (relaxed)
    Structure 'A3 (hcp) - small c/a':
       total-energy: -8.64158 eV
       atomic-energy: -4.32079 eV/atom
       total-volume: 27.8554 A^3
       atomic-volume: 13.9277 A^3/atom
       bulk-modulus: 5049.82 GPa
       lattice-parameter: 3.07713 A (relaxed)
       ca-ratio: 1.10393 (relaxed)
    Structure 'A4 (diamond)':
       total-energy: -9.22485 eV
       atomic-energy: -4.61242 eV/atom
       total-volume: 40.0378 A^3
       atomic-volume: 20.0189 A^3/atom
       bulk-modulus: 110.009 GPa
       lattice-parameter: 5.43055 A (relaxed) [0:]
    Structure 'hexagonal diamond':
       total-energy: -18.4867 eV
       atomic-energy: -4.62167 eV/atom
       total-volume: 80.0477 A^3
       atomic-volume: 20.0119 A^3/atom
       bulk-modulus: 112.553 GPa
       lattice-parameter: 3.84095 A (relaxed) [0:]
       ca-ratio: 1.63118 (relaxed)
       u-parameter: 0.375008 (relaxed)
    -------------------------------------------------------
    -------------------------------------------------------