Explanations with regards to the settings will focus on differences to the settings in the tutorial Interface charge transfer I. Create a file called "settings" with the following content:
pbc: [False, True, True] connect_electrodes: True coulomb_mesh: True mesh_scale: [0.13, 0.7, 0.7] doping: True excitonics: no excitons electrode_stack_distance: 0.0
Electrodes are required for the correct boundary conditions. Mesh scale is the resolution of a Coulomb grid for long range interactions. Due to the high surface charge at the interface, the very small size if the morphology and the high density of the molecule a high resolution in x-direction is required. For systems larger than 20x20x20 the default values usually do not need to be modified.
test_coulomb: True test_coulomb_linspace: [0,8,9] def_plot_bin_width: 0.3 max_plot_bins: 200
Errors of periodic long range interaction are estimated and used to correct the final calculation of the vaccum shift. test_coulomb_linspace defines an intervall from 0-8nm in 9 steps where the potential drop is assesed both for the error estimation as well for the final calculation of the vaccum level shift. The other two keywords control the resolution of the generated plots.
particles: holes: True electrons: True excitons: True QP_output_files: - name: molAmolB QP_output.zip: QP_output_0.zip
The Quantum Patch results need to be read in
materials: - name: molA input_mode_transport: "QP: sig PAR: eaip,l" molecule_parameters: molecule_pdb: molecule_0.pdb QP_output_sigma: molAmolB energies: - [4.0,1.0] - [0.2,0.2] - name: molB input_mode_transport: "QP: sig PAR: eaip,l" molecule_parameters: molecule_pdb: molecule_1.pdb QP_output_sigma: molAmolB energies: - [7.0,3.6] - [0.2,0.2] - name: insolator input_mode_transport: "PAR: eaip,sig,l" molecule_parameters: molecule_pdb: molecule_1.pdb QP_output_sigma: molAmolB energies: - [7.0,1.0] - [0.1,0.1] - [0.2,0.2]
We define the donor and the acceptor material and choose the option to overwrite mean values for EA,IP and reorganization energies. QP_output_sigma refers to the name given to tne Quantum Patch output defined above. A pdb file of the molecule must be supplied to correctly identify the molecule. We define a fully parametric insolator which we will use as a buffer between the material and the electrodes.
expansion_scheme: no expansion (!dimensions fixed!) morphology_width: 9.0
We use the morphology as is. morphology_width and thickness (see below) have to be set in accordance with the supplied morphology.
layers: - thickness: 8 morphology_input_mode: cubic molecule_species: - material: insolator concentration: 1.0 - thickness: 17 morphology_input_mode: automatic molecule_species: - material: molA concentration: 1.0 - material: molB concentration: 1.0 - thickness: 8 morphology_input_mode: cubic molecule_species: - material: insolator concentration: 1.0
The setup of the system with two buffering insolators.
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
It is importnant that the electrode coupling is set to zero.
neighbours: 40 transfer_integral_source: QP_output
Transfer integrals are automatically extracted from the Quantum Patch input.
pair_input: - molecule 1: molA molecule 2: molA QP_output: molAmolB - molecule 1: molA molecule 2: molB QP_output: molAmolB - molecule 1: molB molecule 2: molB QP_output: molAmolB
We don't need do define input for the insolator, as we don't simulate charge transfer through it.
experiments: - simulations: 1 measurement: DC Temperature: 300 field_direction: [1, 0, 0] field_strength: 0.000001 initial_holes: 0 initial_electrons: 0 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.
The results of the search are