CO/Cu(110)Interface

Introduction

In this document, how to perform the vibrational analysis of atoms and molecules adsorbed on a surface using the finite difference (frozen phonon) method, by taking CO adsorbed on Cu(110). Here, in addition to the adsorbed CO molecule, the Cu atom underneath is also taken into account. The system is modeled using a 4-layer Cu(110) slab. Below is the input file of a CO adsorbed Cu(110) surface, which is already optimized. CO molecule and Cu atoms in the first and second layers of the slab was optimized.

Input file

  • nfinp.data
    WF_OPT       DAV
    NTYP         3
    NATM         32
    GMAX         6.00
    GMAXP        20.00
    KPOINT_MESH  4   4   1
    KPOINT_SHIFT 1   1   0
    NSTEP        200
    MIX_ALPHA    0.30
    SMEARING     MP
    WIDTH        0.010
    EDELTA       1.D-10
    NEG          196
    XCTYPE       vdW-DF2
    ESM_BC       BC1
    CPUMAX       1600.0
    &CELL
         15.098909039006      0.000000000000      0.000000000000
          0.000000000000     14.235387960000      0.000000000000
          0.000000000000      0.000000000000     50.329696796687
    &END
    &ATOMIC_SPECIES
     Cu  63.54000 pot.Cu_pbe1
     C   12.01115 pot.C_pbe1
     O   15.99940 pot.O_pbe1
    &END
    &ATOMIC_COORDINATES CARTESIAN
          0.000003823996     -0.000001138123      3.702323615193    1    1    2
          0.000010283052     -0.000006912305      5.897216927318    1    1    3
          0.000000351042     -0.000002382316      0.053467056659    1    1    1
          5.089242487895     -0.000001108633     -0.208242367820    1    1    1
         10.009661676277      0.000001103467     -0.208241073609    1    1    1
          0.000001196465      7.117696353327     -0.191027901816    1    1    1
          5.012492707154      7.117697566474     -0.167155951780    1    1    1
         10.086413584750      7.117696561458     -0.167155627900    1    1    1
          2.507494428154      3.538363991660     -2.421985716480    1    1    1
          7.549453707970      3.590875576905     -2.405963340815    1    1    1
         12.591415007976      3.538365483794     -2.421988185457    1    1    1
          2.507492583039     10.697023879015     -2.421990853447    1    1    1
          7.549453621923     10.644515276442     -2.405964405967    1    1    1
         12.591413959874     10.697024958358     -2.421982246650    1    1    1
          0.000000000000      0.000000000000     -5.032969700311    1    0    1
          5.032969700311      0.000000000000     -5.032969700311    1    0    1
         10.065939338757      0.000000000000     -5.032969700311    1    0    1
          0.000000000000      7.117693980003     -5.032969700311    1    0    1
          5.032969700311      7.117693980003     -5.032969700311    1    0    1
         10.065939338757      7.117693980003     -5.032969700311    1    0    1
          2.516484819239      3.558846990002     -7.549454519543    1    0    1
          7.549454519543      3.558846990002     -7.549454519543    1    0    1
         12.582424219851      3.558846990002     -7.549454519543    1    0    1
          2.516484819239     10.676540969990     -7.549454519543    1    0    1
          7.549454519543     10.676540969990     -7.549454519543    1    0    1
         12.582424219851     10.676540969990     -7.549454519543    1    0    1
          0.000000000000      0.000000000000    -10.065939338757    1    0    1
          5.032969700311      0.000000000000    -10.065939338757    1    0    1
         10.065939338757      0.000000000000    -10.065939338757    1    0    1
          0.000000000000      7.117693980003    -10.065939338757    1    0    1
          5.032969700311      7.117693980003    -10.065939338757    1    0    1
         10.065939338757      7.117693980003    -10.065939338757    1    0    1
    &END

Vibrational analysis

For the vibrational analysis, we need to construct a dynamical matrix and diagonalize it.

In the STATE run, we add the following line to perform the vibrational mode analysis.

TASK VIB

In addition, we need to create a file called `nfvibrate.data`.

  • Example of nfvibrate.data #1
        1  0.10D+01   1
     
          1   0.0200000000   0.0000000000   0.0000000000
    
        1 -0.10D+01   1
     
          1   0.0200000000   0.0000000000   0.0000000000
    • line #1
          1  0.10D+01   1
      Column #1: number of atoms to be displaced
      Column #2: factor (magnitude) for the displacement
      Column #3: dummy variable
    • line #2
            1   0.0200000000   0.0000000000   0.0000000000
      Column #1:atom index
      Column #2-4 displacement vector in the cartesian coordinate. Actual displacement is the vector multiplied by the factor (magnitude) specified in the line #1 ...
      All the necessary displacement vectors should be given in `nfvibrate.data`. Usually, we give a pair of plus and minus displacements.
  • Example of nfvibrate.data #2
        3  0.10D+01   1
     
          1   0.0018516229  -0.1016200502  -0.0086543879
          2   0.0042681410  -0.2329208549  -0.0086375658
          3   0.0003210803   0.0063360252  -0.0068488877
    
        3 -0.10D+01   1
     
          1   0.0018516229  -0.1016200502  -0.0086543879
          2   0.0042681410  -0.2329208549  -0.0086375658
          3   0.0003210803   0.0063360252  -0.0068488877

If nfvibrate.data is not found, `STATE` assumes that all the atoms are displaced, generates `nfvibrate.data`, and run the vibrational analysis. If you want to limit the number of displaced atoms, following option can be used:

&VIBRATION
 ATOM 1-3
&END

In this example, atoms #1, #2, and #3 are displaced. Currently, it is possible to specify the consecutive atoms, and therefore, if you want to displace a certain atoms, it is better to reorder the atomic positions, or otherwise you have to generate `nfvibrate.data` by yourself.

Input file for the vibrational analysis.

Below is an input file for the vibrational analysis, in which CO and Cu atom underneath is considered.

  • nfinp_vib
    TASK         VIB
    WF_OPT       DAV
    NTYP         3
    NATM         32
    GMAX         6.00
    GMAXP        20.00
    KPOINT_MESH  4   4   1
    KPOINT_SHIFT 1   1   0
    NSTEP        200
    MIX_ALPHA    0.30
    SMEARING     MP
    WIDTH        0.010
    EDELTA       1.D-10
    NEG          196
    XCTYPE       vdW-DF2
    ESM_BC       BC1
    CPUMAX       1600.0
    &VIBRATION
     ATOM 1-3
    &END
    &CELL
         15.098909039006      0.000000000000      0.000000000000
          0.000000000000     14.235387960000      0.000000000000
          0.000000000000      0.000000000000     50.329696796687
    &END
    &ATOMIC_SPECIES
     Cu  63.54000 pot.Cu_pbe1
     C   12.01115 pot.C_pbe1
     O   15.99940 pot.O_pbe1
    &END
    &ATOMIC_COORDINATES CARTESIAN
          0.000003823996     -0.000001138123      3.702323615193    1    1    2
          0.000010283052     -0.000006912305      5.897216927318    1    1    3
          0.000000351042     -0.000002382316      0.053467056659    1    1    1
          5.089242487895     -0.000001108633     -0.208242367820    1    1    1
         10.009661676277      0.000001103467     -0.208241073609    1    1    1
          0.000001196465      7.117696353327     -0.191027901816    1    1    1
          5.012492707154      7.117697566474     -0.167155951780    1    1    1
         10.086413584750      7.117696561458     -0.167155627900    1    1    1
          2.507494428154      3.538363991660     -2.421985716480    1    1    1
          7.549453707970      3.590875576905     -2.405963340815    1    1    1
         12.591415007976      3.538365483794     -2.421988185457    1    1    1
          2.507492583039     10.697023879015     -2.421990853447    1    1    1
          7.549453621923     10.644515276442     -2.405964405967    1    1    1
         12.591413959874     10.697024958358     -2.421982246650    1    1    1
          0.000000000000      0.000000000000     -5.032969700311    1    0    1
          5.032969700311      0.000000000000     -5.032969700311    1    0    1
         10.065939338757      0.000000000000     -5.032969700311    1    0    1
          0.000000000000      7.117693980003     -5.032969700311    1    0    1
          5.032969700311      7.117693980003     -5.032969700311    1    0    1
         10.065939338757      7.117693980003     -5.032969700311    1    0    1
          2.516484819239      3.558846990002     -7.549454519543    1    0    1
          7.549454519543      3.558846990002     -7.549454519543    1    0    1
         12.582424219851      3.558846990002     -7.549454519543    1    0    1
          2.516484819239     10.676540969990     -7.549454519543    1    0    1
          7.549454519543     10.676540969990     -7.549454519543    1    0    1
         12.582424219851     10.676540969990     -7.549454519543    1    0    1
          0.000000000000      0.000000000000    -10.065939338757    1    0    1
          5.032969700311      0.000000000000    -10.065939338757    1    0    1
         10.065939338757      0.000000000000    -10.065939338757    1    0    1
          0.000000000000      7.117693980003    -10.065939338757    1    0    1
          5.032969700311      7.117693980003    -10.065939338757    1    0    1
         10.065939338757      7.117693980003    -10.065939338757    1    0    1
    &END
    Note that you have to set the actual atomic mass for the vibrational analysis. This is different from the geometry optimization, in which we sometimes use artifical atomic masses.

Restart

In case all the calculations are not finished within the defined time, we need to restart the calculation. In such a case, use the keyword

RESTART

Or

TASK RESTART_VIB

When you restart the calculation, new data (forces) will be appended to the exsisting nfforce.data. Please carefully check if the data `nfforce.data` is OK or not. Also, please make sure nfforce.data does not exist, when you start the vibrational analysis from scratch.

Calculation of the vibrational frequencies using the GiF program

Once all the calculations are done, it is possible to calculate the vibrational frequencies using the GiF program as follows.

gif -f nfforce.data
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-09-02 (火) 14:03:28 (259d)