Example: Benzenedithiol junction

Download green_BDT.run

In this example of green, the DOS and transmission of a benzenedithiol molecule between gold electrodes is calculated. The calculation uses the self-energies obtained in the example for the gold electrodes. Note that this is a relatively expensive calculation.

First a fragment of the isolated molecule is constructed. Next the molecule is sandwiched between the electrodes in the configuration of Fig. 2. For this the fragment of the principal layer obtained in the example for the gold electrodes is needed.

/scm-uploads/doc/ADF/_images/green_molecule.png

Figure 2: Geometry of the extended molecule used in the calculation of a benzenedithiol junction. The molecule is shown in green, while the left and right contact regions are shown in red and blue, respectively. Note that the red region corresponds to the blue surface layer in Figure 1 of the example for the gold electrodes and vice versa.

The final results are shown in the following figure:

/scm-uploads/doc/ADF/_images/green_BDT.png

The Fermi energy of the electrodes is -0.2 Hartree (see the example for the gold electrodes). This is just above the HOMO of the molecular junction. Consistent with literature, the HOMO and lower orbitals are combined into a broad peak just below the Fermi energy, while the LUMO is much sharper and situated about 2 eV above the Fermi energy.

The current can be calculated by integrating the transmission around the Fermi energy. At low temperatures this means that the differential conductance is equal to the transmission times the quantum of conductance.

#!/bin/sh

# In this example of green, the DOS and transmission of a benzenedithiol molecule
# between gold electrodes is calculated.
# The calculation uses the self-energies obtained in the example for the gold electrodes,
# green_Au.run.
# Note that this is a relatively expensive calculation.

cp $AMSHOME/examples/adf/green_Al/Au.5p .
cp $AMSHOME/examples/adf/green_Al/Au.5p.dirac .

$AMSBIN/dirac < Au.5p.dirac
mv TAPE12 t12.rel

AMS_JOBNAME=Au $AMSBIN/ams <<eor
System
   Atoms
      Au 0.0 0.0 0.0
   End
end
Task SinglePoint
Engine ADF
  corepotentials t12.rel
  end
  create Au   file=Au.5p
  relativity
    level scalar
    formalism ZORA
  end
  xc
    lda SCF VWN
  end
EndEngine
eor

AMS_JOBNAME=layer $AMSBIN/ams <<eor
System
  atoms
     Au       -2.355588   -6.662612    0.000000
     Au       -2.355589   -4.164133   -1.442498
     Au       -2.355589   -4.164133    1.442498
     Au       -2.355589   -1.665653   -2.884996
     Au       -2.355589   -1.665653    0.000000
     Au       -2.355589   -1.665653    2.884996
     Au       -2.355589    0.832826   -1.442498
     Au       -2.355589    0.832826    1.442498
     Au       -2.355589    3.331306    0.000000
     Au        0.000000   -4.996959    0.000000
     Au        0.000000   -2.498480   -1.442498
     Au        0.000000   -2.498480    1.442498
     Au        0.000000    0.000000   -2.884996
     Au        0.000000    0.000000    0.000000
     Au        0.000000    0.000000    2.884996
     Au        0.000000    2.498480   -1.442498
     Au        0.000000    2.498480    1.442498
     Au        0.000000    4.996959    0.000000
     Au        2.355589   -3.331306    0.000000
     Au        2.355589   -0.832826   -1.442498
     Au        2.355589   -0.832826    1.442498
     Au        2.355589    1.665653   -2.884996
     Au        2.355589    1.665653    0.000000
     Au        2.355589    1.665653    2.884996
     Au        2.355589    4.164133   -1.442498
     Au        2.355589    4.164133    1.442498
     Au        2.355588    6.662612    0.000000
  end
end

Task SinglePoint

Engine ADF
  fragments
     Au  Au.results/adf.rkf
  end
  relativity
    level scalar
    formalism ZORA
  end
  symmetry NOSYM
  title Principal layer
  xc
    lda SCF VWN
  end
EndEngine
eor

AMS_JOBNAME=bulk $AMSBIN/ams <<eor
System
  atoms
     Au       -9.422355  -11.659571    0.000000 adf.f=left
     Au       -9.422356   -9.161092   -1.442498 adf.f=left
     Au       -9.422356   -9.161092    1.442498 adf.f=left
     Au       -9.422356   -6.662612   -2.884996 adf.f=left
     Au       -9.422356   -6.662612    0.000000 adf.f=left
     Au       -9.422356   -6.662612    2.884996 adf.f=left
     Au       -9.422356   -4.164133   -1.442498 adf.f=left
     Au       -9.422356   -4.164133    1.442498 adf.f=left
     Au       -9.422356   -1.665653    0.000000 adf.f=left
     Au       -7.066767   -9.993918    0.000000 adf.f=left
     Au       -7.066767   -7.495439   -1.442498 adf.f=left
     Au       -7.066767   -7.495439    1.442498 adf.f=left
     Au       -7.066767   -4.996959   -2.884996 adf.f=left
     Au       -7.066767   -4.996959    0.000000 adf.f=left
     Au       -7.066767   -4.996959    2.884996 adf.f=left
     Au       -7.066767   -2.498479   -1.442498 adf.f=left
     Au       -7.066767   -2.498479    1.442498 adf.f=left
     Au       -7.066767    0.000000    0.000000 adf.f=left
     Au       -4.711178   -8.328265    0.000000 adf.f=left
     Au       -4.711178   -5.829785   -1.442498 adf.f=left
     Au       -4.711178   -5.829785    1.442498 adf.f=left
     Au       -4.711178   -3.331306   -2.884996 adf.f=left
     Au       -4.711178   -3.331306    0.000000 adf.f=left
     Au       -4.711178   -3.331306    2.884996 adf.f=left
     Au       -4.711178   -0.832826   -1.442498 adf.f=left
     Au       -4.711178   -0.832826    1.442498 adf.f=left
     Au       -4.711179    1.665653    0.000000 adf.f=left
     Au       -2.355588   -6.662612    0.000000 adf.f=center
     Au       -2.355589   -4.164133   -1.442498 adf.f=center
     Au       -2.355589   -4.164133    1.442498 adf.f=center
     Au       -2.355589   -1.665653   -2.884996 adf.f=center
     Au       -2.355589   -1.665653    0.000000 adf.f=center
     Au       -2.355589   -1.665653    2.884996 adf.f=center
     Au       -2.355589    0.832826   -1.442498 adf.f=center
     Au       -2.355589    0.832826    1.442498 adf.f=center
     Au       -2.355589    3.331306    0.000000 adf.f=center
     Au        0.000000   -4.996959    0.000000 adf.f=center
     Au        0.000000   -2.498480   -1.442498 adf.f=center
     Au        0.000000   -2.498480    1.442498 adf.f=center
     Au        0.000000    0.000000   -2.884996 adf.f=center
     Au        0.000000    0.000000    0.000000 adf.f=center
     Au        0.000000    0.000000    2.884996 adf.f=center
     Au        0.000000    2.498480   -1.442498 adf.f=center
     Au        0.000000    2.498480    1.442498 adf.f=center
     Au        0.000000    4.996959    0.000000 adf.f=center
     Au        2.355589   -3.331306    0.000000 adf.f=center
     Au        2.355589   -0.832826   -1.442498 adf.f=center
     Au        2.355589   -0.832826    1.442498 adf.f=center
     Au        2.355589    1.665653   -2.884996 adf.f=center
     Au        2.355589    1.665653    0.000000 adf.f=center
     Au        2.355589    1.665653    2.884996 adf.f=center
     Au        2.355589    4.164133   -1.442498 adf.f=center
     Au        2.355589    4.164133    1.442498 adf.f=center
     Au        2.355588    6.662612    0.000000 adf.f=center
     Au        4.711179   -1.665653    0.000000 adf.f=right
     Au        4.711178    0.832826   -1.442498 adf.f=right
     Au        4.711178    0.832826    1.442498 adf.f=right
     Au        4.711178    3.331306   -2.884996 adf.f=right
     Au        4.711178    3.331306    0.000000 adf.f=right
     Au        4.711178    3.331306    2.884996 adf.f=right
     Au        4.711178    5.829785   -1.442498 adf.f=right
     Au        4.711178    5.829785    1.442498 adf.f=right
     Au        4.711178    8.328265    0.000000 adf.f=right
     Au        7.066767    0.000000    0.000000 adf.f=right
     Au        7.066767    2.498479   -1.442498 adf.f=right
     Au        7.066767    2.498479    1.442498 adf.f=right
     Au        7.066767    4.996959   -2.884996 adf.f=right
     Au        7.066767    4.996959    0.000000 adf.f=right
     Au        7.066767    4.996959    2.884996 adf.f=right
     Au        7.066767    7.495439   -1.442498 adf.f=right
     Au        7.066767    7.495439    1.442498 adf.f=right
     Au        7.066767    9.993918    0.000000 adf.f=right
     Au        9.422356    1.665653    0.000000 adf.f=right
     Au        9.422356    4.164133   -1.442498 adf.f=right
     Au        9.422356    4.164133    1.442498 adf.f=right
     Au        9.422356    6.662612   -2.884996 adf.f=right
     Au        9.422356    6.662612    0.000000 adf.f=right
     Au        9.422356    6.662612    2.884996 adf.f=right
     Au        9.422356    9.161092   -1.442498 adf.f=right
     Au        9.422356    9.161092    1.442498 adf.f=right
     Au        9.422355   11.659571    0.000000 adf.f=right
  end
end

Task SinglePoint

Engine ADF
  fragments
     left    layer.results/adf.rkf
     center  layer.results/adf.rkf
     right   layer.results/adf.rkf
  end
  relativity
    level scalar
    formalism ZORA
  end
  symmetry NOSYM
  title Bulk gold
  xc
    lda SCF VWN
  end
EndEngine
eor

$AMSBIN/green << eor
SURFACE bulk.results/adf.rkf
    FRAGMENTS center right
END
EPS -0.5 0 1000
ETA 1e-6
eor
mv SURFACE left.kf

$AMSBIN/green << eor
SURFACE bulk.results/adf.rkf
    FRAGMENTS center left
END
EPS -0.5 0 1000
ETA 1e-6
eor
mv SURFACE right.kf

# A fragment of the isolated molecule is constructed:

AMS_JOBNAME=molecule $AMSBIN/ams <<eor
System
  atoms
     C        -1.400000    0.000000    0.000000
     C        -0.700000    0.000000   -1.200000
     C        -0.700000    0.000000    1.200000
     C         0.700000    0.000000   -1.200000
     C         0.700000    0.000000    1.200000
     C         1.400000    0.000000    0.000000
     H        -1.200000    0.000000   -2.200000
     H        -1.200000    0.000000    2.200000
     H         1.200000    0.000000   -2.200000
     H         1.200000    0.000000    2.200000
     S        -3.200000    0.000000    0.000000
     S         3.200000    0.000000    0.000000
  end
end

Task SinglePoint

Engine ADF
  basis
     type DZP
     core Large
     createOutput None
  end
  relativity
    level scalar
    formalism ZORA
  end
  symmetry NOSYM
  title Benzenedithiol
  xc
    lda SCF VWN
  end
EndEngine
eor

# Next the molecule is sandwiched between the electrodes:

AMS_JOBNAME=fock $AMSBIN/ams <<eor
System
  atoms
     Au       -9.911177   -6.662612    0.000000 adf.f=left
     Au       -9.911178   -4.164133   -1.442498 adf.f=left
     Au       -9.911178   -4.164133    1.442498 adf.f=left
     Au       -9.911178   -1.665653   -2.884996 adf.f=left
     Au       -9.911178   -1.665653    0.000000 adf.f=left
     Au       -9.911178   -1.665653    2.884996 adf.f=left
     Au       -9.911178    0.832826   -1.442498 adf.f=left
     Au       -9.911178    0.832826    1.442498 adf.f=left
     Au       -9.911178    3.331306    0.000000 adf.f=left
     Au       -7.555589   -4.996959    0.000000 adf.f=left
     Au       -7.555589   -2.498480   -1.442498 adf.f=left
     Au       -7.555589   -2.498480    1.442498 adf.f=left
     Au       -7.555589    0.000000   -2.884996 adf.f=left
     Au       -7.555589    0.000000    0.000000 adf.f=left
     Au       -7.555589    0.000000    2.884996 adf.f=left
     Au       -7.555589    2.498480   -1.442498 adf.f=left
     Au       -7.555589    2.498480    1.442498 adf.f=left
     Au       -7.555589    4.996959    0.000000 adf.f=left
     Au       -5.200000   -3.331306    0.000000 adf.f=left
     Au       -5.200000   -0.832826   -1.442498 adf.f=left
     Au       -5.200000   -0.832826    1.442498 adf.f=left
     Au       -5.200000    1.665653   -2.884996 adf.f=left
     Au       -5.200000    1.665653    0.000000 adf.f=left
     Au       -5.200000    1.665653    2.884996 adf.f=left
     Au       -5.200000    4.164133   -1.442498 adf.f=left
     Au       -5.200000    4.164133    1.442498 adf.f=left
     Au       -5.200001    6.662612    0.000000 adf.f=left
     C        -1.400000    0.000000    0.000000 adf.f=molecule
     C        -0.700000    0.000000   -1.200000 adf.f=molecule
     C        -0.700000    0.000000    1.200000 adf.f=molecule
     C         0.700000    0.000000   -1.200000 adf.f=molecule
     C         0.700000    0.000000    1.200000 adf.f=molecule
     C         1.400000    0.000000    0.000000 adf.f=molecule
     H        -1.200000    0.000000   -2.200000 adf.f=molecule
     H        -1.200000    0.000000    2.200000 adf.f=molecule
     H         1.200000    0.000000   -2.200000 adf.f=molecule
     H         1.200000    0.000000    2.200000 adf.f=molecule
     S        -3.200000    0.000000    0.000000 adf.f=molecule
     S         3.200000    0.000000    0.000000 adf.f=molecule
     Au        5.200001   -6.662612    0.000000 adf.f=right
     Au        5.200000   -4.164133   -1.442498 adf.f=right
     Au        5.200000   -4.164133    1.442498 adf.f=right
     Au        5.200000   -1.665653   -2.884996 adf.f=right
     Au        5.200000   -1.665653    0.000000 adf.f=right
     Au        5.200000   -1.665653    2.884996 adf.f=right
     Au        5.200000    0.832826   -1.442498 adf.f=right
     Au        5.200000    0.832826    1.442498 adf.f=right
     Au        5.200000    3.331306    0.000000 adf.f=right
     Au        7.555589   -4.996959    0.000000 adf.f=right
     Au        7.555589   -2.498480   -1.442498 adf.f=right
     Au        7.555589   -2.498480    1.442498 adf.f=right
     Au        7.555589    0.000000   -2.884996 adf.f=right
     Au        7.555589    0.000000    0.000000 adf.f=right
     Au        7.555589    0.000000    2.884996 adf.f=right
     Au        7.555589    2.498480   -1.442498 adf.f=right
     Au        7.555589    2.498480    1.442498 adf.f=right
     Au        7.555589    4.996959    0.000000 adf.f=right
     Au        9.911178   -3.331306    0.000000 adf.f=right
     Au        9.911178   -0.832826   -1.442498 adf.f=right
     Au        9.911178   -0.832826    1.442498 adf.f=right
     Au        9.911178    1.665653   -2.884996 adf.f=right
     Au        9.911178    1.665653    0.000000 adf.f=right
     Au        9.911178    1.665653    2.884996 adf.f=right
     Au        9.911178    4.164133   -1.442498 adf.f=right
     Au        9.911178    4.164133    1.442498 adf.f=right
     Au        9.911177    6.662612    0.000000 adf.f=right
  end
end

Task SinglePoint

Engine ADF
  fragments
     left        layer.results/adf.rkf
     molecule    molecule.results/adf.rkf
     right       layer.results/adf.rkf
  end
  relativity
    level scalar
    formalism ZORA
  end
  symmetry NOSYM
  title Benzenedithiol
  xc
    lda SCF VWN
  end
EndEngine
eor

# The DOS and transmission can now be calculated:

$AMSBIN/green << eor
DOS fock.results/adf.rkf
TRANS fock.results/adf.rkf
EPS -0.5 0 1000
ETA 1e-6
LEFT left.kf
    FRAGMENT left
END
RIGHT right.kf
    FRAGMENT right
END
NOSAVE DOS_B, TRANS_B
eor

echo ""
echo "Contents of DOS_A:"
cat DOS_A
echo "END"
echo ""
echo "Contents of TRANS_A:"
cat TRANS_A
echo "END"