Cl on Al(100)

In this example, geometry optimization of Cl atom on Al(100) is performed. The surface is modeled by a three-layer slab with the surface unit cell of (1x1) and the Cl atom is placed at the atop site of Al(100). This is followed by vibrational mode analysis of the adsorbed Cl atom.

Geometry optimization

  • Input file (nfinp_1)
         1     0     0     0     0     0
      4.00 10.00     2     7     7             : GMAX  GMAXP  NTYP  NATM  NATM2
         1     0                               : NUMBER OF SPACE GROUP  TYPE OF BRAVIS LATTICE
    CARTESIAN
           7.6534000000      0.0000000000     00.0000000000      
           0.0000000000      7.6534000000     00.0000000000      
          00.0000000000     00.0000000000     30.6136000000      
         4     4     1     2     2     1       : KNX KNY KNZ  K-POINT SHIFT
         1     0                               : NCORD NINV
         0.0000000000      3.8267000000      4.0000000000    1    1    2
         0.0000000000      3.8267000000      0.0000000000    1    1    1
         3.8267000000      0.0000000000      0.0000000000    1    1    1
         0.0000000000      0.0000000000     -3.8267000000    1    0    1
         3.8267000000      3.8267000000     -3.8267000000    1    0    1
         0.0000000000      3.8267000000     -7.6534000000    1    0    1
         3.8267000000      0.0000000000     -7.6534000000    1    0    1
        13  0.15     26.9815     3     1  0.00 : IATOMN ALFA AMION ILOC IVAN ZETA
        17  0.15     35.4527     3     1  0.00 : IATOMN ALFA AMION ILOC IVAN ZETA
         0     0     0     0     0             : ICOND INIPOS INIVEL ININOS INIACC
         0     1                               : IPRE IPRI
       100   200     0    57200.00     0       : NMD1 NMD2 ITER_LAST CPUMAX IFSTOP
         3     1                               : WAY_MIX MIX_WHAT
         0    20   0.8                         : STARTING_MIXING KBXMIX ALPHA
      0.60  0.50  0.60  0.70  1.00             : DTIM1 DTIM2 DTIM3 DTIM4 DTIM_LAST
    600.00     4     1    0.10D-08             : DTIO IMDALG IEXPL EDELTA
    -0.002    0.10D-02     0                   : WIDTH FORCCR ISTRESS
    ggapbe     1                               : XCTYPE  NSPIN
      1.00                                     : DESTM  N_STM
     101                                       : NBZTYP
         0     0     0                         : NKX  NKY  NKZ  (DUMMY)
         0     0     0                         : NKX2 NKY2 NKZ2 (DUMMY)
        16                                     : NEG
         1                                     : NEXTST(MB)
         0                                     : DUMMY
         2                                     : IMSD
         0                                     : EVALUATE_EKO_DIFF
         0                                     : NPDOSAO
         0  0.00
  • Job script (qsub1.sh)
    #$ -S /bin/sh
    #$ -cwd
    #$ -pe fillup 6
    #$ -N Al100-Cl
    
    #disable OPENMP parallelism
    OMP_NUM_THREADS=1
    
    # execuable of the STATE code
    ln -fs ../../../src/STATE
    
    # pseudopotential data
    ln -fs ${HOME}/STATE/gncpp/pot.Al_pbe1 fort.37
    ln -fs ${HOME}/STATE/gncpp/pot.Cl_pbe1 fort.38
     
    # launch STATE
    mpirun -np $NSLOTS ./STATE < nfinp_1 > nfout_1
  • Output file (nfout_1)
    The maximum force is monitored by
    $ grep -A1 f_max nfout_1
    and get
       NIT     TotalEnergy     f_max     f_rms      edel      vdel      fdel
         1    -27.41198444  0.017835  0.015239  0.20D-09  0.22D-07  0.10D-09
    --
    ...
    --
       NIT     TotalEnergy     f_max     f_rms      edel      vdel      fdel
        16    -27.41380898  0.002821  0.001976  0.25D-09  0.13D-07  0.94D-10
    --
       NIT     TotalEnergy     f_max     f_rms      edel      vdel      fdel
        17    -27.41384275  0.000594  0.000369  0.54D-09  0.46D-07  0.26D-09
    Use the geometry written in GEOMETRY to generate a new input file for the following vibrational mode analysis.

Vibrational mode analysis

  • Input file (nfinp_2)
         1     0     0     0     0     0
      4.00 10.00     2     7     7             : GMAX  GMAXP  NTYP  NATM  NATM2
         1     0                               : NUMBER OF SPACE GROUP  TYPE OF BRAVIS LATTICE
    CARTESIAN
           7.6534000000      0.0000000000     00.0000000000
           0.0000000000      7.6534000000     00.0000000000
          00.0000000000     00.0000000000     30.6136000000
         4     4     1     2     2     1       : KNX KNY KNZ  K-POINT SHIFT
         1     0                               : NCORD NINV
         -0.000000251836      3.826701578025      4.049619608896    1    1    2
         -0.000001836163      3.826699462952     -0.045772180307    1    1    1
          3.826699127649      0.000000430959     -0.233606043422    1    1    1
          0.000000000000      0.000000000000     -3.826700000000    1    0    1
          3.826700000000      3.826700000000     -3.826700000000    1    0    1
          0.000000000000      3.826700000000     -7.653400000000    1    0    1
          3.826700000000      0.000000000000     -7.653400000000    1    0    1
        13  0.15     26.9815     3     1  0.00 : IATOMN ALFA AMION ILOC IVAN ZETA
        17  0.15     35.4527     3     1  0.00 : IATOMN ALFA AMION ILOC IVAN ZETA
         0     0     0     0     0             : ICOND INIPOS INIVEL ININOS INIACC
         0     1                               : IPRE IPRI
       100   200     0    57200.00     0       : NMD1 NMD2 ITER_LAST CPUMAX IFSTOP
         3     1                               : WAY_MIX MIX_WHAT
         0    20   0.8                         : STARTING_MIXING KBXMIX ALPHA
      0.60  0.50  0.60  0.70  1.00             : DTIM1 DTIM2 DTIM3 DTIM4 DTIM_LAST
    600.00     3     1    0.10D-08             : DTIO IMDALG IEXPL EDELTA
    -0.002    0.10D-02     0                   : WIDTH FORCCR ISTRESS
    ggapbe     1                               : XCTYPE  NSPIN
      1.00                                     : DESTM  N_STM
     101                                       : NBZTYP
         0     0     0                         : NKX  NKY  NKZ  (DUMMY)
         0     0     0                         : NKX2 NKY2 NKZ2 (DUMMY)
        16                                     : NEG
         1                                     : NEXTST(MB)
         0                                     : DUMMY
         2                                     : IMSD
         0                                     : EVALUATE_EKO_DIFF
         0                                     : NPDOSAO
         0  0.00
    For the vibrational mode analysis, use IMDALG=3. In addition, the following "nfvibrate.data" is needed, which specfies the atomic displacement in the cartesian coordinate.
  • nfvibrate.data
       1  1.0d0
       1   0.0000000000     0.0000000000     0.000000000000
       1  1.0d0
       1   0.1000000000     0.0000000000     0.000000000000
       1 -1.0d0
       1   0.1000000000     0.0000000000     0.000000000000
       1  1.0d0
       1   0.0000000000     0.1000000000     0.000000000000
       1 -1.0d0
       1   0.0000000000     0.1000000000     0.000000000000
       1  1.0d0
       1   0.0000000000     0.0000000000     0.100000000000
       1 -1.0d0
       1   0.0000000000     0.0000000000     0.100000000000
    The format is as follows
    [index for the displacement (dummy)] [factor for the displacement #1]
    [index for the displaced atom #1] [X displacement] [Y displacement] [Z displacement]
    ...
    [index for the displaced atom #N] [X displacement] [Y displacement] [Z displacement]
    [index for the displacement (dummy)] [factor for the displacement #2]
    [index for the displaced atom #2] [X displacement] [Y displacement] [Z displacement]
    ...
    [index for the displaced atom #N] [X displacement] [Y displacement] [Z displacement]
    ...
    Atomic displacements are defined by the given displacements times the factor. In this example, the first displacement is zero, to check the calculated forces are small enough and thus to check the given atomic coordinates are indeed equilibrium ones. The vibration of the adsorbed Cl atom is considered and the displacements of the surface Al atoms are not considered here.
  • Job script (qsub.sh)
    #$ -S /bin/sh
    #$ -cwd
    #$ -pe fillup 6
    #$ -N Al100-Cl
    
    #disable OPENMP parallelism
    OMP_NUM_THREADS=1
    
    # execuable of the STATE code
    ln -fs ../../../src/STATE
     
    # pseudopotential data
    ln -fs ${HOME}/STATE/gncpp/pot.Al_pbe1 fort.37
    ln -fs ${HOME}/STATE/gncpp/pot.Cl_pbe1 fort.38
     
    # launch STATE
    mpirun -np $NSLOTS ./STATE < nfinp_2 > nfout_2
  • Output file (nfout_2)
    To calculate the vibrational frequencies, the forces should be extracted. To do so, util/state2md.sh is used. In this example,
    $ ../util/state2md.sh nfout_2 > MD_2.dat
    to get "MD_2.dat." Further, we need to edit "MD_2.dat" to add the number of atoms, number of modes considered, and atomc mass (in a.m.u), which looks like
    7  3
    36 27 27 27 27 27 27
       2
         1     0.100000    3.826702    4.049620  -0.00005 -0.00000  0.00075
         2    -0.000002    3.826699   -0.045772  -0.00043  0.00000 -0.00031
         3     3.826699    0.000000   -0.233606   0.00033 -0.00000  0.00024
         4     0.000000    0.000000   -3.826700   0.00021 -0.00000  0.00030
         5     3.826700    3.826700   -3.826700  -0.00005  0.00000  0.00031
         6     0.000000    3.826700   -7.653400   0.00020  0.00000 -0.00156
         7     3.826700    0.000000   -7.653400  -0.00021 -0.00000  0.00028
    ...
    The first and second columns in the first line indicate the number of atoms and vibrational modes, respectively, and the second line, atomic masses for all atoms in the atomic mass unit. Then use the program "gif" to calculate the vibrational frequencies by diagonalizing the dynamical matrix. This can be done by performing
    $ ../../util/Vibration/src/gif < MD_2.dat > MD_2.out
    The vibrational frequency can be found in "MD_2.out" as
                 =======              
                 SUMMARY              
                 =======              
    MODE  WR       : NU(meV)  NU(cm-1)
       1  0.14D-04 :    2.37     19.09
       2  0.14D-04 :    2.37     19.09
       3  0.36D-02 :   38.15    307.73
    Normal modes are printed in the standard output as well as the file "vib.data,." which can be used for further analysis and visualization of the vibrational mode analysis.
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-11-28 (木) 21:51:45 (12d)