Optional

There are a number of arguments which can be used to modify the functionality and behaviour of the quantum dot builder. Herein an overview is provided.

Note: Inclusion of this section in the input file is not required, assuming one is content with the default settings.

Default Settings

optional:
    database:
        dirname: database
        read: True
        write: True
        overwrite: False
        mol_format: [pdb, xyz]
        mongodb: False

    core:
        dirname: core
        dummy: Cl

    ligand:
        dirname: ligand
        optimize: True
        split: True
        cosmo-rs: False

    qd:
        dirname: QD
        optimize: False
        activation_strain: False
        dissociate: False

Arguments

Database

optional:
    database:
        dirname: database
        read: True
        write: True
        overwrite: False
        mol_format: [pdb, xyz]
        mongodb: False

database.dirname str = database

The name of the directory where the database will be stored. The database directory will be created (if it does not yet exist) at the path specified in path.


database.read bool, str or list [str] = True

Before optimizing a structure, check if a geometry is available from previous calculations. If a match is found, use that structure and avoid a geometry reoptimizations. If one wants more control then the boolean can be substituted for a list of strings (i.e. core, ligand and/or QD), meaning that structures will be read only for a specific subset.

For example:

optional:
    database:
        read: [core, ligand, QD]  # is equivalent to read: True
optional:
    database:
        read: ligand

database.write bool, str or list [str] = True

Export the optimized structures to the database of results. Previous results will not be overwritten unless optional.database.overwrite = True. If one wants more control then the boolean can be substituted for a list of strings (i.e. core, ligand and/or QD), meaning that structures written for for a specific subset.

See database.read for a similar relevant example.


database.overwrite bool, str or list [str] = False

Allows previous results in the database to be overwritten. Only apllicable if optional.database.write = True. If one wants more control then the boolean can be substituted for a list of strings (i.e. core, ligand and/or QD), meaning that structures written for for a specific subset.

See database.read for a similar relevant example.


database.mol_format bool, str or list [str] = [pdb, xyz]

The file format(s) for storing moleculair structures. By default all structures are stored in the .hdf5 format as (partially) de-serialized .pdb files. Additional formats can be requisted with this keyword. Accepted values: pdb and/or xyz.


database.mongodb bool = False

Handles convertion of the database to the mongoDB format. Not implemented as of yet, this keyword is a placeholder.


Core

optional:
    core:
        dirname: core
        dummy: Cl

core.dirname str = core

The name of the directory where all cores will be stored. The core directory will be created (if it does not yet exist) at the path specified in path.


core.dummy str or int = Cl

The atomic number or atomic symbol of the atoms in the core which are to be replaced with ligands. Alternatively, dummy atoms can be manually specified with the core_indices variable.


Ligand

optional:
    ligand:
        dirname: ligand
        optimize: True
        split: True
        cosmo-rs: False

ligand.dirname str = ligand

The name of the directory where all ligands will be stored. The ligand directory will be created (if it does not yet exist) at the path specified in path.


ligand.optimize bool = True

Optimize the geometry of the to be attached ligands. The ligand is split into one or multiple (more or less) linear fragments, which are subsequently optimized (RDKit UFF [1, 2, 3]) and reassembled while checking for the optimal dihedral angle. The ligand fragments are biased towards more linear conformations to minimize inter-ligand repulsion once the ligands are attached to the core.


ligand.split bool = True

If False: The ligand in its entirety is to be attached to the core.

  • N+R4 -> N+R4
  • O2CR -> O2CR
  • HO2CR -> HO2CR
  • H3CO2CR -> H3CO2CR

If True: A proton, counterion or functional group is to be removed from the ligand before attachment to the core.

  • X-.N+R4 -> N+R4
  • HO2CR -> O-2CR
  • Na+.O-2CR -> O-2CR
  • H3CO2CR -> O-2CR

ligand.cosmo-rs bool = False

Perform a property calculation with COSMO-RS [4, 5, 6, 7]; the COSMO surfaces are constructed using ADF MOPAC [8, 9, 10].

The solvation energy of the ligand and its activity coefficient are calculated in the following solvents: acetone, acetonitrile, dimethyl formamide (DMF), dimethyl sulfoxide (DMSO), ethyl acetate, ethanol, n-hexane, toluene and water.


QD

optional:
    qd:
        dirname: QD
        optimize: False
        activation_strain: False
        dissociate: False

qd.dirname str = QD

The name of the directory where all quantum dots will be stored. The quantum dot directory will be created (if it does not yet exist) at the path specified in path.


qd.optimize bool = False

Optimize the quantum dot (i.e. core + all ligands) with ADF UFF [3, 11]. The geometry of the core and ligand atoms directly attached to the core are frozen during this optimization.


qd.activation_strain bool = False

Perform an activation strain analyses [12, 13, 14] (kcal mol-1) on the ligands attached to the quantum dot surface with RDKit UFF [1, 2, 3].

The core is removed during this process; the analyses is thus exclusively focused on ligand deformation and inter-ligand interaction. Yields three terms:

1. dEstrain : The energy required to deform the ligand from their equilibrium geometry to the geometry they adopt on the quantum dot surface. This term is, by definition, destabilizing. Also known as the preperation energy (dEprep).

2. dEint : The mutual interaction between all deformed ligands. This term is characterized by the non-covalent interaction between ligands (UFF Lennard-Jones potential) and, depending on the inter-ligand distances, can be either stabilizing or destabilizing.

3. dE : The sum of dEstrain and dEint. Accounts for both the destabilizing ligand deformation and (de-)stabilizing interaction between all ligands in the absence of the core.


qd.dissociate bool = False

Calculate the bond dissociation energy (BDE) of ligands attached to the surface of the core. See Bond Dissociation Energy for more details. The calculation consists of five distinct steps:

1. Dissociate all combinations of n ligandsand an atom from the core within a radius r from aforementioned core atom. General structure: XYn.

2. Optimize the geometry of XYn at the first level of theory (lvl1): ADF MOPAC [1, 2, 3].

3. Calculate the “electronic” contribution to the BDE (dE) at the first level of theory (lvl1): ADF MOPAC [1, 2, 3]. This step consists of single point calculations of the complete quantum dot, XYn and all XYn-dissociated quantum dots.

4. Calculate the thermalchemical contribution to the BDE (ddG) at the second level of theory (lvl2): ADF UFF [4, 5]. This step consists of geometry optimizations and frequency analyses of the same compounds used for step 3.

5. dG = dElvl1 + ddGlvl2 = dElvl1 + ( dGlvl2 - dElvl2 ).