• 追加された行はこの色です。
  • 削除された行はこの色です。
*Cl on Al(100) [#od195485]
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 [#g5e21d8d]
- 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
 $ 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 [#kfb7b4a0]
- 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
 $ ../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
 $ ../../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