Examples of Typical QuantumPatch Setups
QuantumPatch offers a flexible matrix DFT environment to obtain properties in environment (here usually called matrix) that would not be available from traditional DFT codes. In this chapter several typical QuantumPatch setups will be described. For each run an example input file will be provided as well as explanation of key settings needed for different setups.
Polarized Run (Uncharged Equilibration)
The most accessible way to run QuantumPatch is to relax a charge cloud around a core shell of molecules to obtain useful properties of your device, namely the disorder values for all highest occupied and lowest unoccupied molecular orbitals (HOMO and LUMO) and the site couplings.
To set up a Polarized QuantumPatch run, the QuantumPatch type is set to
uncharged_equilibration. If site couplings are needed, turn
calculateJs on. In general, the following setup is recommended:
- Core shell of 200 to 300 molecules to guarantee enough statistics so QuantumPatch achieves reliable disorder values.
- Dynamic shell of 15A with a Turbomole engine & a dynamic shell with a radius of 25 Å of DFTB around the core to have enough molecules in response to changes of the core shell so the external field will adjust itself accordingly.
- Static shell large enough so the Coulomb potential is negligible outside it, usually 60 Å. The DFTB engine here is sufficient.
- Remember to set a TM fallback engine, in case not all molecules are compatible with DFTB
Fallbacks, last iteration engines and similar settings can be defined at will. MolStates are not used in an uncharged equilibration. For reference, please checkout the following example files:
- Standard disorder run
- Disorder run predicting site energies via the Analysis/homo_lumo_generator section. In this case, settings are adapted e.g. for computing energy levels of a slab for LF simulations.
- With this file, exciton disorder is computed in the last iteration in addtion to standard disorder. This is induced by adding an additional engine (TM core LI) with excited states, and applying this engine in the last iteration (System: Core: engine_by_iter: TM core LI). Please note that molecular states defined in this last iteration engine will produce many warnings printed in the progress.txt file in the runtime directory, due to global molecular states being overwritten by molecular states defined via engine.
Refer to the tutorials (GUI-usage) or the general documentation for guidance on individual settings. Should anything remain unclear, please feel free to send us an email at firstname.lastname@example.org.
Matrix EA/IP stands for a process that calculates the electron affinity (EA) and ionization potential (IP) in environment. A core with outer shells is defined just as in a polarized run, except that the core consists of only one molecule; also two calculations will be executed: first a uncharged equilibration will be carried out, then the molecule will be charged or excited (or both). This makes run time considerably faster for one run, but to achieve significant statistics and means of different properties, several molecules with separate equilibrations need to be calculated. For ten molecules the statistical average error of your result will lie at around ±30 meV (note: the maximum error will be around 100-120 meV) and will grow smaller the more molecules are included. The number of molecules is, again, defined in the core shell.
This is where molecular states (MolStates) become important. MolStates are defined in the system section of the input file and work just like shells, i.e. there can be as many states defined as wanted and assigned. Each molstate requires four settings to be set:
roots. Refer to the previous section for the MolState definitions.
The Analysis section requires one setting for Matrix EA/IP runs, which is the radius for the polaron's double counting correction. This radius is usually set to one of the
scf type outer shell, but a larger radius than 25 Å should not be needed.
Usually, the Matrix EA/IP mode is applied to compute absolute transport levels (IP and EA) or activation energy for charge transfer. In the second case, the core shell contains a negatively and a postively charged molecule. Please refer to the CT tutorial or MatrixEAIP tutorial to learn how core shells, i.e. charged molecules or pairs or molecules are defined. To run a CT or EAIP run, download one of the following settings files and adapt to your needs:
Previous: DFT Engines
The results of the search are