CO absorption on a Cu slab: fragment option and densityplot

 

Sample directory: band/Frags_COCu/

This example illustrates the usage of fragments in a BAND calculation for analysis purposes. It takes two runs to do the DOS analysis in a fragment basis, and an extra two runs to get the deformation density with respect to the fragment densities.

The setup involves first the computation of the free CO overlayer, which is to be absorbed on a Cu surface. To suppress (most of the) interactions between the CO molecules, i.e. to effectively get the molecular CO, the KSpace parameter is set to 1 (= no dispersion), and the lattice parameters are set so large that the CO molecules are far apart. The standard result file RUNKF is saved under the name 'CO.runkf'.

# ----------------------------- CO molecule --------------------------

$ADFBIN/band << eor
Title The CO fragment

Comment
 Technical  
   Zero order k space integration
   Good real space integration accuracy
   Definitions of variables
 Features
   Lattice   : 2D, large lattice vectors
   Unit cell : 2 atoms, 1x1, quasi molecular
   Basis     : NO+STO w/ core
End


PRINT EIGENS

Kspace   1  ! neglect dispersion
Accuracy   4

Define
  bond=2.18
  far=25
End

Lattice     ! CO molecules far apart
  far  0.0
  0.0  far
End

Atoms   C
  0 0 0
End

Atoms   O
  0 0 bond
End

BasisDefaults
BasisType DZ
Core Large
End

End Input
eor

mv RUNKF CO.runkf

Now we can use the result file to do a DOS analysis for CO on a copper surface treating the molecule as a fragment. With Fragment%Labels we assign names to the different symmetry orbitals. The Density-of-States analysis details are given with the keys DOS (energy grid, result file with DOS data) and, optionally, GrossPopulations and OverlapPopulations.

# ----------------------------- CO + Cu slab --------------------------


$ADFBIN/band << eor
Title Cu slab with CO adsorbed

Comment
 Technical  
   Quadratic K space integration (low)
   Good real space integration accuracy
   Definitions of variables
 Features
   Lattice   : 2D
   Unit cell : 3 atoms, 1x1
   Basis     : NO+STO w/ core
   Options   : Molecular fragment
               Analysis: DOS, PDOS, COOP
End        


KSpace 3
Accuracy 4

! fragment specification

Fragment CO.runkf
  1 1
  2 2
Labels ! let us give them some labels
  2Sigma
  2Sigma*
  1Pi_x
  1Pi_y
  3Sigma
  1Pi_x*
  1Pi_y*
  3Sigma*
SubEnd
End

! use fragment basis in dos
DosBas
Fragment 1
End


DOS   ! Analysis
  File  pdos.CO_Cu
  Energies 500
  Min -0.750
  Max 0.300
End

GrossPopulations
  3 2    ! All metal d states
  Sum     ! ALl metal sp states
    3 0
    3 1
  EndSum

  Frag 1   ! All CO states
  Sum   ! CO 1pi
    FragFun 1 5
    FragFun 1 6
  EndSum
  FragFun 1 7  ! CO 5-sigma
End

OverlapPopulations
  Left   ! Metal d with CO
    3 2
  Right
    Frag 1
End

Define
  dist=3.44
  bond=2.18
End

Lattice
  4.822 0.0
  0.0   4.822
End

Atoms   C
  0 0 dist
End

Atoms   O
  0 0 dist+bond
End

Atoms   CU
  0.0   0.0   0.0
End

BasisDefaults
BasisType DZ
Core Large
End

End Input
eor

After this run we copy the computed DOS data from the DOS result file to standard output. We also save the restart file for later use.

echo Contents of DOS file
cat pdos.CO_Cu

mv RUNKF COCu.runkf

Next we want to know the deformation density with respect to the two fragments: 1) The CO molecule and 2) the bare Cu surface. We haven't done the bare Cu surface yet, so that is what happens next.

# ----------------------------- Cu slab --------------------------

$ADFBIN/band << eor
Title Cu slab

Comment
 Technical  
   Quadratic K space integration (low)
   Good real space integration accuracy
   Definitions of variables
 Features
   Lattice   : 2D
   Unit cell : 3 atoms, 1x1
   Basis     : NO+STO w/ core
   Options   : 
End        


Kspace 3
Accuracy 4

Define
  dist=3.44
  bond=2.18
End

Lattice
  4.822 0.0
  0.0   4.822
End

Atoms   CU
  0.0   0.0   0.0
End

BasisDefaults
BasisType DZ
Core Large
End

End Input
eor

mv RUNKF Cu.runkf

Now we are all set to do our final calculation. We have the two fragment files CO.runkf and Cu.runkf, and the restart file COCu.runkf. Next we want to know the deformation density with respect to the two fragments: 1) The CO molecule and 2) the bare Cu surface. The visualization options like OrbitalPlot and Densityplot require a regular set of points (a grid). Here is how it works

# ----------------------------- CO + Cu slab restart --------------------------


$ADFBIN/band -n 1 << eor
Title Cu slab with CO adsorbed (restart density plot)

Kspace 3
Accuracy 4

Restart COCu.runkf &
DensityPlot
End

Grid
Type Coarse
End

DensityPlot
scf
End

! fragment specification

Fragment CO.runkf
  1 1
  2 2
End

Fragment Cu.runkf
  1 3
End

Define
  dist=3.44
  bond=2.18
End

Lattice
  4.822 0.0
  0.0   4.822
End

Atoms   C
  0 0 dist
End

Atoms   O
  0 0 dist+bond
End

Atoms   CU
  0.0   0.0   0.0
End

BasisDefaults
BasisType DZ
Core Large
End

End Input
eor

This particular restart options does not work in parallel, hence the "-n 1" on the first line.The result of the last run is a file named TAPE41. Normally you would save that to COCu.t41

mv TAPE41 COCu.t41

and view it with adfview. On the TAPE41 file are now three fields shown in adfview as

being the deformation density of CO+Cu with respect to the atoms, and the same for the two fragments CO and the Cu slab. In adfview you can add the fields of the two fragments, and then create another field that holds the difference.

SCM Home Page
Quality Software. Quantum Science
*
*
5.9.17.106
Copyright Terms of UsePrivacy Policy
Home Products Try & Buy Downloads Documentation Support Highlights News About SCM Contact
Home     Products     Try & Buy     Downloads     Documentation     Support     Highlights     News     About SCM     Contact