hfacH molecule on a nickel surface

This tutorial explains how to perform the crystal orbital overlap population (COOP) analysis by using hfacH/Ni(110)(4x4) surface [Basher et al., Jpn. J. Appl. Phys. 59, 090905 (2020)].

Preliminary

In the COOP calculation, the wave function of the total system (combined system/adsorption system) is expanded in terms of the subsystem wave functions. Thus, we need to prepare wave functions for the subsystem. In the present system, we prepare wave functions of molecular (hfacH) and substrate (Ni(110)(4x4) slab) in the subdirectory HFACH and Ni, respectively, in addition to those in the working directory.

  • STATE version
    • 5.6.3
  • Pseudopotentials
    • Ni_pbe4
    • F_pbe1
    • C_pbe1
    • O_pbe1
    • H_lda1

SCF calculations

We first relax the system and create a new input file using the optimized geometry. We also create input files for subsystem using the optimized geometries for the combined system (not further relaxation will not be performed.

The input files for the combined system and subsystems are as follows:

  • ./nfinp_1 (combined system)
     0 0 0 0 0 0 : Ni ( 4L + 16L )
         6.0000 20.0000   5   63  63    : gmax, gmaxp, ktyp, katm, katm2
         1    0         : num_space_group, type
    Cartesian
          18.853223409384     0.000000000000      0.000000000000
          0.000000000000     19.996863180000      0.000000000000
          0.000000000000      0.000000000000     47.133058523459
        06   06   01    1    1    1  :  K_mesh
         1    0      : ncord,ninv : iwei,imdtyp,ityp
          3.996033909759      6.423162152279      7.522989404072    1    1    2
          4.633918309151      7.123379460829      5.106013702817    1    1    3
          3.635103884227      5.253332343494      3.146931873829    1    1    3
          4.731721715104      2.690776174457      3.323892246902    1    1    3
          3.200483027950      0.471065818069      3.529029658560    1    1    3
          4.120907476388     -1.686820049470      5.188000704456    1    1    3
          3.410025784713     -1.291010684906      7.648452354530    1    1    2
          3.138910721527     -3.990404972103      4.496409683978    1    1    2
          6.710352133631     -1.907538456185      5.167401775270    1    1    2
          0.630361749489      0.637068850434      3.373843504199    1    1    4
          0.931152312144      5.345290940286      3.264616793801    1    1    4
          3.688095192120      9.504638201919      4.748808431955    1    1    2
          7.235648802353      7.279856147374      5.031162192044    1    1    2
          6.667976160760      2.610581848382      4.039660059301    1    1    5
          0.357655206834      3.440269198314      3.391592209902    1    1    5
         -4.723393044566     -6.659760068776     -0.244176482326    1    1    1
         -4.766966242109     -0.002829325009     -0.237055142658    1    1    1
         -4.743794937018      6.656139747554     -0.235880054434    1    1    1
         -0.011608354807     -6.657491571052     -0.270017269615    1    1    1
         -0.053793076202     -0.046032678740     -0.140472521299    1    1    1
          0.004101946979      6.632961379942     -0.132665384287    1    1    1
          4.698813209313     -6.654695829816     -0.251828880698    1    1    1
          4.685756715949      0.294502803370      0.007103429427    1    1    1
          4.659328430105      6.502758307018     -0.182316365983    1    1    1
          9.406005430046     -6.657768212578     -0.247436999355    1    1    1
          9.413612628005      0.025443431192     -0.235712396452    1    1    1
          9.405185522265      6.655221273086     -0.227420746967    1    1    1
         -2.362387725422     -3.315354047591     -2.385605053225    1    1    1
         -2.372460657256      3.324479261331     -2.406696727513    1    1    1
         -2.353468393749      9.967108679099     -2.351435540207    1    1    1
          2.380240190019     -3.280084445723     -2.392879725017    1    1    1
          2.318083997074      3.323346703637     -2.580038522499    1    1    1
          2.362350188616      9.975604524032     -2.394364577664    1    1    1
          7.032730190885     -3.270921711124     -2.329940471573    1    1    1
          7.102040811859      3.341277167718     -2.476733324667    1    1    1
          7.048003975979      9.969771766060     -2.351946440719    1    1    1
         11.759975516057     -3.327723005070     -2.360523328081    1    1    1
         11.784484202409      3.338143705962     -2.386944035892    1    1    1
         11.771270751385      9.995685282686     -2.350387594640    1    1    1
         -4.713305852300     -6.665621060000     -4.713305852300    1    0    1
         -4.713305852300      0.000000000000     -4.713305852300    1    0    1
         -4.713305852300      6.665621060000     -4.713305852300    1    0    1
          0.000000000000     -6.665621060000     -4.713305852300    1    0    1
          0.000000000000      0.000000000000     -4.713305852300    1    0    1
          0.000000000000      6.665621060000     -4.713305852300    1    0    1
          4.713305852300     -6.665621060000     -4.713305852300    1    0    1
          4.713305852300      0.000000000000     -4.713305852300    1    0    1
          4.713305852300      6.665621060000     -4.713305852300    1    0    1
          9.426611704700     -6.665621060000     -4.713305852300    1    0    1
          9.426611704700      0.000000000000     -4.713305852300    1    0    1
          9.426611704700      6.665621060000     -4.713305852300    1    0    1
         -2.356652926200     -3.332810530000     -7.069958778500    1    0    1
         -2.356652926200      3.332810530000     -7.069958778500    1    0    1
         -2.356652926200      9.998431590000     -7.069958778500    1    0    1
          2.356652926200     -3.332810530000     -7.069958778500    1    0    1
          2.356652926200      3.332810530000     -7.069958778500    1    0    1
          2.356652926200      9.998431590000     -7.069958778500    1    0    1
          7.069958778500     -3.332810530000     -7.069958778500    1    0    1
          7.069958778500      3.332810530000     -7.069958778500    1    0    1
          7.069958778500      9.998431590000     -7.069958778500    1    0    1
         11.783264630900     -3.332810530000     -7.069958778500    1    0    1
         11.783264630900      3.332810530000     -7.069958778500    1    0    1
         11.783264630900      9.998431590000     -7.069958778500    1    0    1
       28  0.5000  58.710   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        9  0.5000  18.998   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        6  0.5000  12.011   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        8  0.5000  15.999   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        1  0.5000  12.011   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        0 0 0 0 0  : icond, inipos, inivel, ininos, iniacc
         0    1    : ipre, ipri
      0400 1000    0   420000.00    0 : nmd1,nmd2,last_iter,cpumax,ifstop
         6    1         : SIMPLE=1,BROYD1=2,BROYD2=3,DFP=4,PULAY=5
         0   30 0.10    : iter_start, KBXMIX,  MIX_ALPHA
         0.20   0.30   0.20   0.20   0.20   : dtim1,dtim2,dtim3,dtim4,dtim
       200.00   6      1      1.00D-10      : dtio ,imdalg, iexpl, edelta
        -0.0010 1.00D+03      0             : width,forccr,istress
    rev-vdW-DF2       2                     : xctype,kspin
         1.00                               : destm
       101                                  : nbztyp
         4    4    4
         4    4    4
       384         : keg
         1         : nextst(mb)
         0         : 0 random numbers 1: matrix
         2         : imsd  1=MSD, 2=Preconditioned
         0         : evaluate_eko_diff
            0      : npdosao
            0    0.0
        2                                   : mvelsc
      300.0D0   30.0D0    30       1.0D0    : tempw,tolp,nroll,anneal
      500.0D0    8        15       1        : wnosep,nhc,nosy,ndrt
        5.0D-8                              : frict
        0                                   : mcnstr
        DIST    1    3            1.83401
        DIST    2    3            1.83401
        BEND    1    3    2     104.23195
    &ESM
     BOUNDARY_CONDITION BARE
    &END
  • HFACH/nfinp_1 (adsorbate)
     0 0 0 0 0 0 : Ni ( 4L + 16L )
         6.0000 20.0000   5   15  15    : gmax, gmaxp, ktyp, katm, katm2
         1    0         : num_space_group, type
    Cartesian
          18.853223409384     0.000000000000      0.000000000000
          0.000000000000     19.996863180000      0.000000000000
          0.000000000000      0.000000000000     47.133058523459
        06   06   01    1    1    1  :  K_mesh
         1    0      : ncord,ninv : iwei,imdtyp,ityp
          3.996033909759      6.423162152279      7.522989404072    1    1    2
          4.633918309151      7.123379460829      5.106013702817    1    1    3
          3.635103884227      5.253332343494      3.146931873829    1    1    3
          4.731721715104      2.690776174457      3.323892246902    1    1    3
          3.200483027950      0.471065818069      3.529029658560    1    1    3
          4.120907476388     -1.686820049470      5.188000704456    1    1    3
          3.410025784713     -1.291010684906      7.648452354530    1    1    2
          3.138910721527     -3.990404972103      4.496409683978    1    1    2
          6.710352133631     -1.907538456185      5.167401775270    1    1    2
          0.630361749489      0.637068850434      3.373843504199    1    1    4
          0.931152312144      5.345290940286      3.264616793801    1    1    4
          3.688095192120      9.504638201919      4.748808431955    1    1    2
          7.235648802353      7.279856147374      5.031162192044    1    1    2
          6.667976160760      2.610581848382      4.039660059301    1    1    5
          0.357655206834      3.440269198314      3.391592209902    1    1    5
       28  0.5000  58.710   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        9  0.5000  18.998   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        6  0.5000  12.011   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        8  0.5000  15.999   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        1  0.5000  12.011   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        0 0 0 0 0  : icond, inipos, inivel, ininos, iniacc
         0    1    : ipre, ipri
      0400 1000    0   420000.00    0 : nmd1,nmd2,last_iter,cpumax,ifstop
         6    1         : SIMPLE=1,BROYD1=2,BROYD2=3,DFP=4,PULAY=5
         0   30 0.10    : iter_start, KBXMIX,  MIX_ALPHA
         0.20   0.30   0.20   0.20   0.20   : dtim1,dtim2,dtim3,dtim4,dtim
       200.00   6      1      1.00D-10      : dtio ,imdalg, iexpl, edelta
        -0.0010 1.00D+03      0             : width,forccr,istress
    rev-vdW-DF2       2                     : xctype,kspin
         1.00                               : destm
       101                                  : nbztyp
         4    4    4
         4    4    4
        48         : keg
         1         : nextst(mb)
         0         : 0 random numbers 1: matrix
         2         : imsd  1=MSD, 2=Preconditioned
         0         : evaluate_eko_diff
            0      : npdosao
            0    0.0
        2                                   : mvelsc
      300.0D0   30.0D0    30       1.0D0    : tempw,tolp,nroll,anneal
      500.0D0    8        15       1        : wnosep,nhc,nosy,ndrt
        5.0D-8                              : frict
        0                                   : mcnstr
        DIST    1    3            1.83401
        DIST    2    3            1.83401
        BEND    1    3    2     104.23195
    &ESM
     BOUNDARY_CONDITION BARE
    &END
  • Ni/nfinp_1 (substrate)
     0 0 0 0 0 0 : Ni ( 4L + 16L )
         6.0000 20.0000   5   48  48    : gmax, gmaxp, ktyp, katm, katm2
         1    0         : num_space_group, type
    Cartesian
          18.853223409384     0.000000000000      0.000000000000
          0.000000000000     19.996863180000      0.000000000000
          0.000000000000      0.000000000000     47.133058523459
        06   06   01    1    1    1  :  K_mesh
         1    0      : ncord,ninv : iwei,imdtyp,ityp
         -4.723393044566     -6.659760068776     -0.244176482326    1    1    1
         -4.766966242109     -0.002829325009     -0.237055142658    1    1    1
         -4.743794937018      6.656139747554     -0.235880054434    1    1    1
         -0.011608354807     -6.657491571052     -0.270017269615    1    1    1
         -0.053793076202     -0.046032678740     -0.140472521299    1    1    1
          0.004101946979      6.632961379942     -0.132665384287    1    1    1
          4.698813209313     -6.654695829816     -0.251828880698    1    1    1
          4.685756715949      0.294502803370      0.007103429427    1    1    1
          4.659328430105      6.502758307018     -0.182316365983    1    1    1
          9.406005430046     -6.657768212578     -0.247436999355    1    1    1
          9.413612628005      0.025443431192     -0.235712396452    1    1    1
          9.405185522265      6.655221273086     -0.227420746967    1    1    1
         -2.362387725422     -3.315354047591     -2.385605053225    1    1    1
         -2.372460657256      3.324479261331     -2.406696727513    1    1    1
         -2.353468393749      9.967108679099     -2.351435540207    1    1    1
          2.380240190019     -3.280084445723     -2.392879725017    1    1    1
          2.318083997074      3.323346703637     -2.580038522499    1    1    1
          2.362350188616      9.975604524032     -2.394364577664    1    1    1
          7.032730190885     -3.270921711124     -2.329940471573    1    1    1
          7.102040811859      3.341277167718     -2.476733324667    1    1    1
          7.048003975979      9.969771766060     -2.351946440719    1    1    1
         11.759975516057     -3.327723005070     -2.360523328081    1    1    1
         11.784484202409      3.338143705962     -2.386944035892    1    1    1
         11.771270751385      9.995685282686     -2.350387594640    1    1    1
         -4.713305852300     -6.665621060000     -4.713305852300    1    0    1
         -4.713305852300      0.000000000000     -4.713305852300    1    0    1
         -4.713305852300      6.665621060000     -4.713305852300    1    0    1
          0.000000000000     -6.665621060000     -4.713305852300    1    0    1
          0.000000000000      0.000000000000     -4.713305852300    1    0    1
          0.000000000000      6.665621060000     -4.713305852300    1    0    1
          4.713305852300     -6.665621060000     -4.713305852300    1    0    1
          4.713305852300      0.000000000000     -4.713305852300    1    0    1
          4.713305852300      6.665621060000     -4.713305852300    1    0    1
          9.426611704700     -6.665621060000     -4.713305852300    1    0    1
          9.426611704700      0.000000000000     -4.713305852300    1    0    1
          9.426611704700      6.665621060000     -4.713305852300    1    0    1
         -2.356652926200     -3.332810530000     -7.069958778500    1    0    1
         -2.356652926200      3.332810530000     -7.069958778500    1    0    1
         -2.356652926200      9.998431590000     -7.069958778500    1    0    1
          2.356652926200     -3.332810530000     -7.069958778500    1    0    1
          2.356652926200      3.332810530000     -7.069958778500    1    0    1
          2.356652926200      9.998431590000     -7.069958778500    1    0    1
          7.069958778500     -3.332810530000     -7.069958778500    1    0    1
          7.069958778500      3.332810530000     -7.069958778500    1    0    1
          7.069958778500      9.998431590000     -7.069958778500    1    0    1
         11.783264630900     -3.332810530000     -7.069958778500    1    0    1
         11.783264630900      3.332810530000     -7.069958778500    1    0    1
         11.783264630900      9.998431590000     -7.069958778500    1    0    1
       28  0.5000  58.710   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        9  0.5000  18.998   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        6  0.5000  12.011   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        8  0.5000  15.999   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        1  0.5000  12.011   1 1 0.2         : IATOMN ALFA AMION ILOC IVAN
        0 0 0 0 0  : icond, inipos, inivel, ininos, iniacc
         0    1    : ipre, ipri
      0400 1000    0   420000.00    0 : nmd1,nmd2,last_iter,cpumax,ifstop
         6    1         : SIMPLE=1,BROYD1=2,BROYD2=3,DFP=4,PULAY=5
         0   30 0.10    : iter_start, KBXMIX,  MIX_ALPHA
         0.20   0.30   0.20   0.20   0.20   : dtim1,dtim2,dtim3,dtim4,dtim
       200.00   6      1      1.00D-10      : dtio ,imdalg, iexpl, edelta
        -0.0010 1.00D+03      0             : width,forccr,istress
    rev-vdW-DF2       2                     : xctype,kspin
         1.00                               : destm
       101                                  : nbztyp
         4    4    4
         4    4    4
       336         : keg
         1         : nextst(mb)
         0         : 0 random numbers 1: matrix
         2         : imsd  1=MSD, 2=Preconditioned
         0         : evaluate_eko_diff
            0      : npdosao
            0    0.0
        2                                   : mvelsc
      300.0D0   30.0D0    30       1.0D0    : tempw,tolp,nroll,anneal
      500.0D0    8        15       1        : wnosep,nhc,nosy,ndrt
        5.0D-8                              : frict
        0                                   : mcnstr
        DIST    1    3            1.83401
        DIST    2    3            1.83401
        BEND    1    3    2     104.23195
    &ESM
     BOUNDARY_CONDITION BARE
    &END

In the current working directory, perform the following or alike by using the job script:

  • Combined system
    $ mpirun -np 24 ./STATE < nfinp_1 > nfout_1
  • Adsorbate
    $ cd HFACH
    $ mpirun -np 24 ./STATE < nfinp_1 > nfout_1
  • Substrate
    $ cd ../Ni
    $ mpirun -np 24 ./STATE < nfinp_1 > nfout_1

Prep of the COOP analysis

After converging all the wave functions (./zaj.data, HFACH/zaj.data, and Ni/zaj.data), we calculate the overlap matrices and prepare for the COOP analysis. First, create a symbolic links in the current working directory as follows:

$ ln -s HFACH/zaj.data zak1.data
$ ln -s Ni/zaj.data zak3.data

and then create a new input file for the preparation. Let us copy nfinp_1 to nfinp_coop

$ cp nfinp_1 nfinp_coop

and change ICOND from 0 to 17 in nfinp_coop as

   17 0 0 0 0  : icond, inipos, inivel, ininos, iniacc

Furthermore, we need to create 'nfcoop.data' to set the computational parameters. 'nfcoop.data' may look like:

 2                            : KSPIN    
 40                           : KNV3
 43     48      15      101   : NPDOSMO1 KPDOSMO1 KATM1 KLMTA1
 0      0       0       0     : NPDOSMO2 KPDOSMO2 KATM2 KLMTA2
 336    336     48      864   : NPDOSMO3 KPDOSMO3 KATM3 KLMTA3
 -15.0  5.0     0.5     2001  : EMIN EMAX EWIDTH NPDOSE

Having prepared "nfcoop.data", execute STATE using nfinp_coop as:

$ mpirun -np 24 ./STATE < nfinp_coop > nfout_coop

Finally, we need to prepare 'eko.data', a file containing the Kohn-Sham eigenvalues (use stat2eigen.pl attached to this page). Execute the following in the current working directory:

$ state2eigen.pl nfout_1 > eko.data 

COOP analysis

When all the preliminary calculations are successfully performed, we may have:

  • coop.data
  • coop_bij.data
  • coop_sij.data
  • eko.data
  • nfcoop.data

and we are ready to perform COOP analysis! Assuming the command search path for the COOP program ('coop_analysis") is set, we just execute

$ coop_analysis > coop.out

and densities of states (DOSs) projected onto the molecular orbitals (MOPDOSs), DOSs weighted with overlap population (COOP), and DOSs weighted with the gross populations (GPOP) are written to "coop.out"

To extract MOPDOSs, type

$ grep 'PDOS\:' coop.out | awk -F\: '{print $2}' > pdos.dat

To extract COOPs, type

$ grep 'COOP2\:' coop.out | awk -F\: '{print $2}' > coop2.dat

In the current example, the system is spin polarized, and above files contain both spin-up and spin-down components. For convenience, we split them as follows:

$ wc -l pdos.dat
    4006 pdos.dat
$ split -l 2003 pdos.dat; mv xaa pdos_up.dat; mv xab pdos_dw.dat
$ wc -l coop2.dat
    4006 coop2.dat
$ split -l 2003 coop2.dat; mv xaa coop2_up.dat; mv xab coop2_dw.dat

Those files (pdos.dat/coop2.dat) contain energy and DOS data as follows:

  • 1st column: energy with respect to the Fermi level (in eV)
  • 2nd - NPDOSMO1 column (2nd - 1st MO, 3rd - 2nd MO, 4th - 3rd MO, ...)

Then, spin-up MOPDOS for HOMO, LUMO, and LUMO+1 may be plotted by using gnuplot as:

> plot 'pdos_up.dat' using ($1):($39) title 'HOMO  ' with lines,\
      ''            using ($1):($40) title 'LUMO  ' with lines,\
      ''            using ($1):($41) title 'LUMO+1' with lines

and spin-up COOP for HOMO (orbital #38), LUMO (orbital #39), and LUMO+1 (orbital #40) may be plotted as:

> plot 'coop2_up.dat' using ($1):($39) title 'HOMO  ' with lines,\
      ''              using ($1):($40) title 'LUMO  ' with lines,\
      ''              using ($1):($41) title 'LUMO+1' with lines

considering that HOMO is the 38th orbital in the current setting.

References

  • R. Hoffmann, Rev. Mod. Phys. 60, 601 (1988).
  • H. Aizawa and S. Tsuneyuki, Surf. Sci. 399, L364 (1998).

添付ファイル: filestate2eigen.pl 153件 [詳細]
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-01-23 (月) 11:56:59 (462d)