Vaccum level shift / Interface charge transfer I

Introduction

In this tutorial we will calculate the vaccum level shift induced by the surface dipole of an donor acceptor system on a parametric model system.

Tutorial files:

The settings file can be created manually with the instructions given below or be downloaded here.

Prerequisites

Make sure the environment varibales neccesary to run lightforge are set as shown here.

System setup

Our system consists of an interface between an donor (molA) and an acceptor (molB) and an insolating charge blocking layer on both sites of the interface, as well as two short-cut electrodes. The purpose of the electrodes is to shield the electrostatic field caused by the surface dipole, charge transfer from the electrodes to the system will be deactivated. The purpose of the blocking layer is to have areas which are completly empy of charges to accuaretly determine the drop of the electrostatic potential. The energy diagram looks like this:

Settings

Create a file called "settings" with the following content:

pbc: [False, True, True]
connect_electrodes: True
coulomb_mesh: True
doping: True
excitonics: no excitons
electrode_stack_distance: 0.2

Doping true activates CT between HOMO and LUMO of neutral molecules. We require the coulomb mesh for long range Coulomb interaction of the infinite surface charge. Periodic boundary conditions in y,z direction are important, as we want to model a surface dipole.

particles:
 holes: True
 electrons: True
 excitons: True

Excitons need to be enabled as potential dopants are treated as excitons with 0.0 eV excitation energy.

materials:
- name: molA
  input_mode_transport: "PAR: eaip,sig,l"
  molecule_parameters:
    energies:
    - [4.0,1.0]
    - [0.1,0.1]
    - [0.2,0.2]

- name: molB
  input_mode_transport: "PAR: eaip,sig,l"
  molecule_parameters:
    energies:
    - [7.0,3.9]
    - [0.1,0.1]
    - [0.2,0.2]

- name: blocker
  input_mode_transport: "PAR: eaip,sig,l"
  molecule_parameters:
    energies:
    - [7.0,1.0]
    - [0.1,0.1]
    - [0.2,0.2]

We defined our donor, acceptor and blocking material.

morphology_width: 40

layers:
- thickness: 5.0
  morphology_input_mode: cubic
  molecule_species:
  - material: blocker
    concentration: 1.0
- thickness: 8
  morphology_input_mode: cubic
  molecule_species:
  - material: molA
    concentration: 1.0
- thickness: 8
  morphology_input_mode: cubic
  molecule_species:
  - material: molB
    concentration: 1.0
- thickness: 5.0
  morphology_input_mode: cubic
  molecule_species:
  - material: blocker
    concentration: 1.0

the thickness of the blocking material should be thick enough to measure the slope of the potential drop caused by the dipole field ( and the short cut electrodes ).

electrodes:
- electrode_workfunction: -5.0
  coupling_model: parametrized
  electrode_wf_decay_length: 0.0
  electrode_coupling: 0.0

- electrode_workfunction: -5.0
  coupling_model: parametrized
  electrode_wf_decay_length: 0.0
  electrode_coupling: 0.0

electrode_coupling 0.0 deactivates injection of charge in the system.

neighbours: 26
transfer_integral_source: Miller-Abrahams

pair_input:
- molecule 1: molA
  molecule 2: molA
  transfer_integral_parameters:
    hole_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    electron_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    Dexter_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.0001

- molecule 1: molA
  molecule 2: molB
  transfer_integral_parameters:
    hole_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    electron_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    Dexter_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.0001

- molecule 1: molB
  molecule 2: molB
  transfer_integral_parameters:
    hole_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    electron_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    Dexter_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.0001

- molecule 1: molB
  molecule 2: blocker
  transfer_integral_parameters:
    hole_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    electron_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    Dexter_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.0001

- molecule 1: molA
  molecule 2: blocker
  transfer_integral_parameters:
    hole_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    electron_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    Dexter_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.0001

- molecule 1: blocker
  molecule 2: blocker
  transfer_integral_parameters:
    hole_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    electron_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.001
    Dexter_transfer_integrals:
      wf_decay_length: 0.1
      maximum_ti: 0.0001

We need to define transfer integrals for all pairs

experiments:
- simulations: 1
  measurement: DC
  Temperature: 300
  field_direction: [1, 0, 0]
  field_strength: 0.000001
  initial_holes: 0
  initial_electrons: 0

A finite but very small field needs to be set.

iv_fluctuation: 0.15
new_wano: True

Simulation using lightforge

Run lightforge by typing:

# For V4
$OPENMPI_PATH/bin/mpirun -x OMP_NUM_THREADS --bind-to none -n 1 --mca btl self,vader,tcp python -m mpi4py $LFPATH/lightforge.py -s settings -n 5000
# For V3 and below
$MPI_PATH/bin/mpirun -np 1 python -m mpi4py $LFPATH/lightforge.py -s settings -n 5000

This will perfrom 5000 kmc steps, which is enough for the equilibration of this small interface.

Inspecting the results

Go the the folder experiments. The file charge_density_average_.png contains the charge distribution in the system after equilibration. We determine the vaccumlevel shift by inspecting the slope of the potential in the blocking region of the system, which we can inspect in the file coulomb_average_.png which shows the potential caused by the charges in the system with the metallic boundary conditions. The vacuum level shift is given by: U = dU/dx d, where d is the thickness of the device plus the distance of the device to the electrodes, in our case d=26.4nm, dU/dx=0.057V/nm. U=26.4 x 0.057 = 1.5 V

The results of the search are