Using the ECCP Program
How To Use The ECCP Program
The Electronic Crystal Calculation Prep (ECCP) program is run using a script called Run_ECCP.py
. This contains information about all the crystals you want to obtain molecules and dimers for, as well as the parameters required to create atomic transition charge (ATC), reorganisation energy (RE), and electronic energy transfer (EET) Gaussian
/ORCA
input files for those molecules and dimers.
An example of this script is shown below. General recommendation for settings are given in Recommended Settings.
Run_ECCP.py |
---|
| """
Run_ECCP.py, Geoffrey Weal, 18/2/22
This script is an example input script for the Electronic Crystal Calculation Prep program.
"""
import os, copy
from ECCP import ECCP
# --------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------
# These are the parameters needed for the dimer method.
# See https://github.com/geoffreyweal/ECCP for more information about these parameters
# This is the path to the xyz/cif file containing the crystal of interest.
filepath = 'MUPMOC.xyz'
# This string points to a file that indicates are any bonds you want to ignore in the "filepath" file. If you do not want to give this, set this to None
bonds_to_ignore = None
# This is the method use to reassemble individual molecule from the crystal.
make_molecule_method = 'component_assembly_approach'
# This dictionary include information about determining which molecules are equivalent. Required if you want to perform ATC calculations on molecules.
molecule_equivalence_method = {'method': 'invariance_method', 'type': 'combination'}
# This is the method use to obtain dimers between molecules in the system.
make_dimer_method = {'method': 'nearest_atoms_method', 'max_dimer_distance': 8.0}
# This dictionary provides information for determining which dimers are equivalent
dimer_equivalence_method = {'method': 'invariance_method', 'type': 'combination'}
# This dictionary includes info about how to treat the enivornment surrounding dimers (where applicable).
environment_settings = {'include_environment_where_possible': False, 'max_environment_distance': 8.0}
# This tag indicates if you want to remove solvents from the crystal. This requires the input file to have a reference to which molecules are solvents called "SolventList"
remove_solvents = False
# --------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------
# The following settings provide details that the ECCP will use to create folders and run the ECCP program
# The following will be added to the end of the ECCP-created folder. If you dont want this folder to have a suffix, set this to ''.
overall_folder_suffix_name = 'Default'
# The number of cpus that will be used to run the ECCP program.
no_of_cpus = 16
# --------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------
# The following dictionaries are required if you want to perform Gaussian/ORCA and Multiwfn jobs on your molecules and dimers
# --------------------------------------------------------------------------------------------------------------
# The following dictionaries provide the Gaussian/ORCA parameters and Submission information required for performing
# Atomic Transition Charge (ATC) calculations on your molecules.
# This dictionary will add tags to your Gaussian/ORCA input file.
calculation_parameters_for_atomic_transition_charges = {}
calculation_parameters_for_atomic_transition_charges['calc_software'] = 'Gaussian'
calculation_parameters_for_atomic_transition_charges['mem'] = '64GB'
calculation_parameters_for_atomic_transition_charges['method'] = 'wB97XD'
calculation_parameters_for_atomic_transition_charges['basis'] = '6-31+G(d,p)'
calculation_parameters_for_atomic_transition_charges['td_settings'] = 'tda(nstates=10)'
calculation_parameters_for_atomic_transition_charges['obtain_excitation_amplitudes'] = False
calculation_parameters_for_atomic_transition_charges['temp_folder_path'] = '/tmp/wealge'
calculation_parameters_for_atomic_transition_charges['extra'] = '# maxdisk=2TB scf=(xqc,maxcycle=512)'
# This dictionary will add tags to your submit.sl file for performing Gaussian/ORCA Calculations to get the initial ATC wfn files and to perofmr EET calculations
submission_information_for_atomic_transition_charges = {}
submission_information_for_atomic_transition_charges['cpus_per_task'] = 32
submission_information_for_atomic_transition_charges['mem'] = '68GB' # This has been set to calculation_parameters_for_atomic_transition_charges['mem'] + 12 GBs
submission_information_for_atomic_transition_charges['time'] = '10-00:00'
submission_information_for_atomic_transition_charges['partition'] = 'parallel'
submission_information_for_atomic_transition_charges['constraint'] = 'AVX'
submission_information_for_atomic_transition_charges['email'] = 'geoffreywealslurmnotifications@gmail.com'
submission_information_for_atomic_transition_charges['gaussian_version'] = 'gaussian/g16'
submission_information_for_atomic_transition_charges['python_version'] = 'python/3.8.1'
# This tag indicates if you want to obtain Gaussian/ORCA input files of molecules for performing ATC calculations.
submission_information_for_multiwfn = {}
submission_information_for_multiwfn['cpus_per_task'] = 16
submission_information_for_multiwfn['mem'] = '32GB'
submission_information_for_multiwfn['time'] = '0-03:00'
submission_information_for_multiwfn['partition'] = 'parallel'
submission_information_for_multiwfn['constraint'] = 'AVX'
submission_information_for_multiwfn['email'] = 'geoffreywealslurmnotifications@gmail.com'
# --------------------------------------------------------------------------------------------------------------
# The following dictionaries provide the Gaussian/ORCA parameters and Submission information required for performing
# reorganisation energy (RE) calculations on your molecules.
# This dictionary will add tags to your Gaussian/ORCA input file.
calculation_parameters_for_reorganisation_energy = {}
calculation_parameters_for_reorganisation_energy['calc_software'] = 'Gaussian'
calculation_parameters_for_reorganisation_energy['mem'] = '256GB'
calculation_parameters_for_reorganisation_energy['method'] = calculation_parameters_for_atomic_transition_charges['method']
calculation_parameters_for_reorganisation_energy['basis'] = calculation_parameters_for_atomic_transition_charges['basis']
calculation_parameters_for_reorganisation_energy['td_settings'] = calculation_parameters_for_atomic_transition_charges['td_settings']
#calculation_parameters_for_reorganisation_energy['temp_folder_path'] = calculation_parameters_for_atomic_transition_charges['temp_folder_path']
calculation_parameters_for_reorganisation_energy['extra'] = '# maxdisk=2TB scf=(xqc,maxcycle=512)'
# This tag indicates if you want to obtain Gaussian/ORCA input files of molecules for performing ATC calculations.
submission_information_for_reorganisation_energy = {}
submission_information_for_reorganisation_energy['cpus_per_task'] = 128
submission_information_for_reorganisation_energy['mem'] = '264GB' # This has been set to calculation_parameters_for_reorganisation_energy['mem'] + 24 GBs
submission_information_for_reorganisation_energy['time'] = '10-00:00'
submission_information_for_reorganisation_energy['partition'] = 'parallel'
submission_information_for_reorganisation_energy['constraint'] = 'AVX'
submission_information_for_reorganisation_energy['email'] = 'geoffreywealslurmnotifications@gmail.com'
submission_information_for_reorganisation_energy['gaussian_version'] = 'gaussian/g16'
submission_information_for_reorganisation_energy['python_version'] = 'python/3.8.1'
# --------------------------------------------------------------------------------------------------------------
# The following dictionaries provide the Gaussian/ORCA parameters and Submission information required for performing
# Franck-Condon (FC) (and Huang-Rhys (HR)) calculations on your molecules.
# NOTE: If you want to use this, you also need to set Gaussian/ORCA parameters and submission information for obtaining reorganisation energies.
# This dictionary will add tags to your Gaussian/ORCA input file.
calculation_parameters_for_franck_condon_factors = {}
calculation_parameters_for_franck_condon_factors['calc_software'] = 'Gaussian'
calculation_parameters_for_franck_condon_factors['mem'] = '8GB'
calculation_parameters_for_franck_condon_factors['method'] = calculation_parameters_for_atomic_transition_charges['method']
calculation_parameters_for_franck_condon_factors['basis'] = calculation_parameters_for_atomic_transition_charges['basis']
calculation_parameters_for_franck_condon_factors['extra'] = '# maxdisk=2TB scf=(xqc,maxcycle=512)'
# This tag indicates if you want to obtain Gaussian/ORCA input files of molecules for performing FC calculations.
submission_information_for_franck_condon_factors = {}
submission_information_for_franck_condon_factors['cpus_per_task'] = 2
submission_information_for_franck_condon_factors['mem'] = '16GB' # This has been set to calculation_parameters_for_reorganisation_energy['mem'] + 24 GBs
submission_information_for_franck_condon_factors['time'] = '00-02:00'
submission_information_for_franck_condon_factors['partition'] = 'quicktest'
submission_information_for_franck_condon_factors['constraint'] = 'AVX'
submission_information_for_franck_condon_factors['email'] = 'geoffreywealslurmnotifications@gmail.com'
submission_information_for_franck_condon_factors['gaussian_version'] = 'gaussian/g16'
submission_information_for_franck_condon_factors['python_version'] = 'python/3.8.1'
# --------------------------------------------------------------------------------------------------------------
# The following dictionaries provide the Gaussian/ORCA parameters and Submission information required for performing
# Electronic Energy Transfer (EET) calculations on your molecules.
# This dictionary will add tags to your Gaussian/ORCA .gjf file
calculation_parameters_for_electronic_energy_transfer = {}
calculation_parameters_for_electronic_energy_transfer['calc_software'] = 'Gaussian'
calculation_parameters_for_electronic_energy_transfer['mem'] = '64GB'
calculation_parameters_for_electronic_energy_transfer['method'] = calculation_parameters_for_atomic_transition_charges['method']
calculation_parameters_for_electronic_energy_transfer['basis'] = calculation_parameters_for_atomic_transition_charges['basis']
calculation_parameters_for_electronic_energy_transfer['td_settings'] = calculation_parameters_for_atomic_transition_charges['td_settings']
calculation_parameters_for_electronic_energy_transfer['obtain_excitation_amplitudes'] = False
#calculation_parameters_for_electronic_energy_transfer['temp_folder_path'] = calculation_parameters_for_atomic_transition_charges['temp_folder_path']
calculation_parameters_for_electronic_energy_transfer['extra'] = '# maxdisk=2TB scf=(xqc,maxcycle=512)'
# This dictionary will add tags to your submit.sl file for performing Gaussian/ORCA Calculations to get the initial ATC wfn files and to perform EET calculations
submission_information_for_electronic_energy_transfer = {}
submission_information_for_electronic_energy_transfer['cpus_per_task'] = 32
submission_information_for_electronic_energy_transfer['mem'] = '68GB' # This has been set to calculation_parameters_for_electronic_energy_transfer['mem'] + 12 GBs
submission_information_for_electronic_energy_transfer['time'] = '10-00:00'
submission_information_for_electronic_energy_transfer['partition'] = 'parallel'
submission_information_for_electronic_energy_transfer['constraint'] = 'AVX'
submission_information_for_electronic_energy_transfer['email'] = 'geoffreywealslurmnotifications@gmail.com'
submission_information_for_electronic_energy_transfer['gaussian_version'] = 'gaussian/g16'
submission_information_for_electronic_energy_transfer['python_version'] = 'python/3.8.1'
# --------------------------------------------------------------------------------------------------------------
# The following dictionaries provide the Gaussian/ORCA parameters and Submission information required for obtaining
# eigendata (such as overlap orbtials and molecular orbital energies and coefficients).
# This dictionary will add tags to your Gaussian/ORCA input file
calculation_parameters_for_eigendata = dict(calculation_parameters_for_electronic_energy_transfer)
# This dictionary will add tags to your submit.sl file for performing Gaussian/ORCA Calculations to obtain eigendata.
submission_information_for_eigendata = dict(submission_information_for_electronic_energy_transfer)
# --------------------------------------------------------------------------------------------------------------
# These tag provide the information to the ECCP about Gaussian/ORCA parameters and submission information for performing ATC, RE, and/or EET calculations and/or obtain eigendata (such as overlap orbtials and molecular orbital energies and coefficients).
# If you dont want to perform a task, set the appropriate take to None. For example: if you don't want to perform ATC calcs, set atc_file_creation_information = None
# This tag indicates if you want to obtain Gaussian/ORCA input files of molecules for performing ATC calculations.
atc_file_creation_information = (calculation_parameters_for_atomic_transition_charges, submission_information_for_atomic_transition_charges, submission_information_for_multiwfn)
# This tag indicates if you want to obtain Gaussian/ORCA input files to obtain the disorder energies of the molecules in the crystal.
re_file_creation_information = (calculation_parameters_for_reorganisation_energy, submission_information_for_reorganisation_energy)
# This tag indicates if you want to obtain Gaussian/ORCA input files to obtain the franck-condon factors (and huang-rhys factors) of the molecules in the crystal.
fc_file_creation_information = (calculation_parameters_for_franck_condon_factors, submission_information_for_franck_condon_factors)
# This tag indicates if you want to obtain Gaussian/ORCA input files of dimers for performing EET calculations.
eet_file_creation_information = (calculation_parameters_for_electronic_energy_transfer, submission_information_for_electronic_energy_transfer)
# This tag indicates if you want to obtain Gaussian/ORCA input files of dimers for obtaining eigendata (such as overlap orbtials and molecular orbital energies and coefficients).
ict_file_creation_information = (calculation_parameters_for_eigendata, submission_information_for_eigendata)
# --------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------
# This will run this method
ECCP(filepath, make_molecule_method=make_molecule_method, molecule_equivalence_method=molecule_equivalence_method, make_dimer_method=make_dimer_method, dimer_equivalence_method=dimer_equivalence_method, environment_settings=environment_settings, remove_solvents=remove_solvents, atc_file_creation_information=atc_file_creation_information, re_file_creation_information=re_file_creation_information, fc_file_creation_information=fc_file_creation_information, eet_file_creation_information=eet_file_creation_information, ict_file_creation_information=ict_file_creation_information, overall_folder_suffix_name=overall_folder_suffix_name, no_of_cpus=no_of_cpus)
# --------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------
|
The first set of parameters allow you to give the path to the crystal file you want to run with the ECCP, set which methods you want to use to extract molecules and dimers from the crystal structure, and determine if you would like to include an environment and solvents.
filepath
(str.): The path to the crystal file of organic photovoltaic (OPV) crystal or chemical system crystal you would like to analyse with this program.
bonds_to_ignore
(str): This is the path to a text file (generally called bonds_to_ignore.txt
) that contains the list of bonded atom index pairs that you want to ignore as bonds.
- You can determine the indices of the atoms in the bonds you want to ignore using a GUI program, such as
ase gui
.
Example
An example of this bonds_to_ignore.txt
is shown below:
bonds_to_ignore.txt0 1
4 5
7 11
23 7
make_molecule_method
(str.): This is the method you would like to use to reconnect a molecule from a crystal that has been cut due to the molecule spanning across a unit cell boundary. See Methods available for make_molecule_method
for more information about the make_molecule_method
methods available.
-
molecule_equivalence_method
(dict.): This dictionary indicates the method that you want to use to determine which molecules in the crystal are unique (and which ones are equivalent to each other). See Methods available for molecule_equivalence_method
for more information about the molecule_equivalence_method
methods available.
-
make_dimer_method
(dict.): This dictionary contains the information required for determining how dimers are determined/obtained by this program. See Methods available for make_dimer_method
for more information about the make_dimer_method
methods available.
-
dimer_equivalence_method
(dict.): This dictionary contains information required for determining which dimers are equivalent and which are unique. See Methods available for dimer_equivalence_method
for more information about the dimer_equivalence_method
methods available.
-
environment_settings
(dict.): This dictionary contains information about if you would like to include the environment about molecules and dimers in your Gaussian
/ORCA
calculations. See Environment Settings for more information about the environment_settings
settings.
remove_solvents
(bool.): If True
, will include solvents as monomers in your dimers. If False
, will not include solvents as monomers in your dimers.
The second set of parameters allows you to determine the names of folders to save ECCP files to and other general housekeeping parameters.
-
overall_folder_suffix_name
(str.): This is the suffix that you can add to the 'ECCP_Data'
folder name if you need to distinguish it in any way. Folder created will be called 'ECCP_Data_XXX'
, where XXX
is the suffix name. If you don't need to add a suffix, set this to overall_folder_suffix_name = ''
-
no_of_cpus
(int.): This is the number of CPUs that you would like ECCP to run.
- NOTE: This is different to the number of CPUs you would like to be use in your
Gaussian
/ORCA
calculations (see below). This variable is purely the number of CPUs that ECCP uses to run.
Warning
You can only use multiple cpus for running the ECCP program on Linux. Mac seems to have a problem when you try to run ECCP on multiple cpus.
- If you are running the ECCP program pon a Mac, set
no_of_cpus
to 1.
The third set of parameters involves indicating which types of Gaussian
/ORCA
files you would like to create for the molecules and dimers obtained with the ECCP program.
If you would like to obtain input files for performing atomic transition charge (ATC) calculations, you will want to provide three dictionaries for the get_molecule_atcs
variable. These are:
calculation_parameters_for_atomic_transition_charges
(dict.): This dictionary contains information required for the Gaussian
/ORCA
files for performing ATC calculations.
submission_information_for_atomic_transition_charges
(dict.): This dictionary contains information required for making the submit.sl
file for submitting ATC jobs to slurm.
submission_information_for_multiwfn
(dict.): This dictionary contains information required for the multiwfn_submit.sl
file. This submit script will run the Multiwfn component of the calculation, where the .wfn
created by Gaussian
/ORCA
is used to perform the ATC calculation to obtain the .chg
file of the molecule. This .chg
file contains the atomic transition charges for the molecule.
If you would like to perform ATC calculations for the molcules, you want to set atc_file_creation_information
as:
atc_file_creation_information = (calculation_parameters_for_atomic_transition_charges, submission_information_for_atomic_transition_charges, submission_information_for_multiwfn)
See Calculation Parameter Settings and Submission Information Settings for more information about what settings you want to include in these dictionaries.
If you do not want to perform ATC calculations for the molcules, you want to set atc_file_creation_information = None
:
atc_file_creation_information = None
Examples of the calculation_parameters_for_atomic_transition_charges
, submission_information_for_atomic_transition_charges
, and submission_information_for_multiwfn
dictionaries as given below:
Examples of dictionaries needed for obtaining atomic transition charges (ATC) input files |
---|
| # The following dictionaries provide the Gaussian/ORCA parameters and Submission information required for performing
# Atomic Transition Charge (ATC) calculations on your molecules.
# This dictionary will add tags to your Gaussian/ORCA input file.
calculation_parameters_for_atomic_transition_charges = {}
calculation_parameters_for_atomic_transition_charges['calc_software'] = 'Gaussian'
calculation_parameters_for_atomic_transition_charges['mem'] = '64GB'
calculation_parameters_for_atomic_transition_charges['method'] = 'wB97XD'
calculation_parameters_for_atomic_transition_charges['basis'] = '6-31+G(d,p)'
calculation_parameters_for_atomic_transition_charges['td_settings'] = 'tda(nstates=10)'
calculation_parameters_for_atomic_transition_charges['obtain_excitation_amplitudes'] = False
calculation_parameters_for_atomic_transition_charges['temp_folder_path'] = '/tmp/wealge'
calculation_parameters_for_atomic_transition_charges['extra'] = '# maxdisk=2TB scf=(xqc,maxcycle=512)'
# This dictionary will add tags to your submit.sl file for performing Gaussian/ORCA Calculations to get the initial ATC wfn files and to perofmr EET calculations
submission_information_for_atomic_transition_charges = {}
submission_information_for_atomic_transition_charges['cpus_per_task'] = 32
submission_information_for_atomic_transition_charges['mem'] = '68GB' # This has been set to calculation_parameters_for_atomic_transition_charges['mem'] + 12 GBs
submission_information_for_atomic_transition_charges['time'] = '10-00:00'
submission_information_for_atomic_transition_charges['partition'] = 'parallel'
submission_information_for_atomic_transition_charges['constraint'] = 'AVX'
submission_information_for_atomic_transition_charges['email'] = 'geoffreywealslurmnotifications@gmail.com'
submission_information_for_atomic_transition_charges['gaussian_version'] = 'gaussian/g16'
submission_information_for_atomic_transition_charges['python_version'] = 'python/3.8.1'
# This tag indicates if you want to obtain Gaussian/ORCA input files of molecules for performing ATC calculations.
submission_information_for_multiwfn = {}
submission_information_for_multiwfn['cpus_per_task'] = 16
submission_information_for_multiwfn['mem'] = '32GB'
submission_information_for_multiwfn['time'] = '0-03:00'
submission_information_for_multiwfn['partition'] = 'parallel'
submission_information_for_multiwfn['constraint'] = 'AVX'
submission_information_for_multiwfn['email'] = 'geoffreywealslurmnotifications@gmail.com'
|
If you would like to obtain the Gaussian
/ORCA
input files required for running structural optimisations and obtain ground and excited state energies, as well as to obtain reorganisation energies (RE), you will want to provide two dictionaries for the re_file_creation_information
variable. These are:
calculation_parameters_for_reorganisation_energy
(dict.): This dictionary contains information required for the Gaussian
/ORCA
files for performing RE calculations.
submission_information_for_reorganisation_energy
(dict.): This dictionary contains information required for making the submit.sl
file for submitting RE jobs to slurm.
If you would like to perform RE calculations for the dimers, you want to set re_file_creation_information
as:
re_file_creation_information = (calculation_parameters_for_reorganisation_energy, submission_information_for_reorganisation_energy)
See Calculation Parameter Settings and Submission Information Settings for more information about what settings you want to include in these dictionaries.
If you do not want to perform RE calculations for the molcules, you want to set re_file_creation_information = None
:
re_file_creation_information = None
Examples of the calculation_parameters_for_reorganisation_energy
and submission_information_for_reorganisation_energy
dictionaries as given below:
Examples of dictionaries needed for obtaining structural and reorganisation energies (RE) input files |
---|
| # The following dictionaries provide the Gaussian/ORCA parameters and Submission information required for performing
# reorganisation energy (RE) calculations on your molecules.
# This dictionary will add tags to your Gaussian/ORCA input file.
calculation_parameters_for_reorganisation_energy = {}
calculation_parameters_for_reorganisation_energy['calc_software'] = 'Gaussian'
calculation_parameters_for_reorganisation_energy['mem'] = '256GB'
calculation_parameters_for_reorganisation_energy['method'] = calculation_parameters_for_atomic_transition_charges['method']
calculation_parameters_for_reorganisation_energy['basis'] = calculation_parameters_for_atomic_transition_charges['basis']
calculation_parameters_for_reorganisation_energy['td_settings'] = calculation_parameters_for_atomic_transition_charges['td_settings']
#calculation_parameters_for_reorganisation_energy['temp_folder_path'] = calculation_parameters_for_atomic_transition_charges['temp_folder_path']
calculation_parameters_for_reorganisation_energy['extra'] = '# maxdisk=2TB scf=(xqc,maxcycle=512)'
# This tag indicates if you want to obtain Gaussian/ORCA input files of molecules for performing ATC calculations.
submission_information_for_reorganisation_energy = {}
submission_information_for_reorganisation_energy['cpus_per_task'] = 128
submission_information_for_reorganisation_energy['mem'] = '264GB' # This has been set to calculation_parameters_for_reorganisation_energy['mem'] + 24 GBs
submission_information_for_reorganisation_energy['time'] = '10-00:00'
submission_information_for_reorganisation_energy['partition'] = 'parallel'
submission_information_for_reorganisation_energy['constraint'] = 'AVX'
submission_information_for_reorganisation_energy['email'] = 'geoffreywealslurmnotifications@gmail.com'
submission_information_for_reorganisation_energy['gaussian_version'] = 'gaussian/g16'
submission_information_for_reorganisation_energy['python_version'] = 'python/3.8.1'
|
If you would like to obtain input files for performing franck-condon/huang-rhys factor (FC/HR) calculations, you will want to provide the two dictionaries for the re_file_creation_information
variable (see above) as well as two dictionaries for the fc_file_creation_information
variable. These are:
calculation_parameters_for_franck_condon_factors
(dict.): This dictionary contains information required for the Gaussian
/ORCA
files for performing FC/HR calculations.
submission_information_for_franck_condon_factors
(dict.): This dictionary contains information required for making the submit.sl
file for submitting FC/HR jobs to slurm.
If you would like to perform FC/HR calculations for the dimers, you want to set fc_file_creation_information
as:
fc_file_creation_information = (calculation_parameters_for_franck_condon_factors, submission_information_for_franck_condon_factors)
See Calculation Parameter Settings and Submission Information Settings for more information about what settings you want to include in these dictionaries.
If you do not want to perform FC/HR calculations for the molcules, you want to set fc_file_creation_information = None
:
fc_file_creation_information = None
Examples of the calculation_parameters_for_franck_condon_factors
and submission_information_for_franck_condon_factors
dictionaries as given below:
Examples of dictionaries needed for obtaining franck-condon/huang-rhys factor (FC/HR) input files |
---|
| # The following dictionaries provide the Gaussian/ORCA parameters and Submission information required for performing
# Franck-Condon (FC) (and Huang-Rhys (HR)) calculations on your molecules.
# NOTE: If you want to use this, you also need to set Gaussian/ORCA parameters and submission information for obtaining reorganisation energies.
# This dictionary will add tags to your Gaussian/ORCA input file.
calculation_parameters_for_franck_condon_factors = {}
calculation_parameters_for_franck_condon_factors['calc_software'] = 'Gaussian'
calculation_parameters_for_franck_condon_factors['mem'] = '8GB'
calculation_parameters_for_franck_condon_factors['method'] = calculation_parameters_for_atomic_transition_charges['method']
calculation_parameters_for_franck_condon_factors['basis'] = calculation_parameters_for_atomic_transition_charges['basis']
calculation_parameters_for_franck_condon_factors['extra'] = '# maxdisk=2TB scf=(xqc,maxcycle=512)'
# This tag indicates if you want to obtain Gaussian/ORCA input files of molecules for performing FC calculations.
submission_information_for_franck_condon_factors = {}
submission_information_for_franck_condon_factors['cpus_per_task'] = 2
submission_information_for_franck_condon_factors['mem'] = '16GB' # This has been set to calculation_parameters_for_reorganisation_energy['mem'] + 24 GBs
submission_information_for_franck_condon_factors['time'] = '00-02:00'
submission_information_for_franck_condon_factors['partition'] = 'quicktest'
submission_information_for_franck_condon_factors['constraint'] = 'AVX'
submission_information_for_franck_condon_factors['email'] = 'geoffreywealslurmnotifications@gmail.com'
submission_information_for_franck_condon_factors['gaussian_version'] = 'gaussian/g16'
submission_information_for_franck_condon_factors['python_version'] = 'python/3.8.1'
|
If you would like to obtain input files for performing electronic energy transfer (EET) calculations, you will want to provide two dictionaries for the eet_file_creation_information
variable. These are:
calculation_parameters_for_electronic_energy_transfer
(dict.): This dictionary contains information required for the Gaussian
/ORCA
files for performing EET calculations.
submission_information_for_electronic_energy_transfer
(dict.): This dictionary contains information required for making the submit.sl
file for submitting EET jobs to slurm.
If you would like to perform EET calculations for the dimers, you want to set eet_file_creation_information
as:
eet_file_creation_information = (calculation_parameters_for_electronic_energy_transfer, submission_information_for_electronic_energy_transfer)
See Calculation Parameter Settings and Submission Information Settings for more information about what settings you want to include in these dictionaries.
If you do not want to perform EET calculations for the dimers, you want to set eet_file_creation_information = None
:
eet_file_creation_information = None
Examples of the calculation_parameters_for_electronic_energy_transfer
and submission_information_for_electronic_energy_transfer
dictionaries as given below:
Examples of dictionaries needed for obtaining electronic energy transfer (EET) input files |
---|
| # The following dictionaries provide the Gaussian/ORCA parameters and Submission information required for performing
# Electronic Energy Transfer (EET) calculations on your molecules.
# This dictionary will add tags to your Gaussian/ORCA .gjf file
calculation_parameters_for_electronic_energy_transfer = {}
calculation_parameters_for_electronic_energy_transfer['calc_software'] = 'Gaussian'
calculation_parameters_for_electronic_energy_transfer['mem'] = '64GB'
calculation_parameters_for_electronic_energy_transfer['method'] = calculation_parameters_for_atomic_transition_charges['method']
calculation_parameters_for_electronic_energy_transfer['basis'] = calculation_parameters_for_atomic_transition_charges['basis']
calculation_parameters_for_electronic_energy_transfer['td_settings'] = calculation_parameters_for_atomic_transition_charges['td_settings']
calculation_parameters_for_electronic_energy_transfer['obtain_excitation_amplitudes'] = False
#calculation_parameters_for_electronic_energy_transfer['temp_folder_path'] = calculation_parameters_for_atomic_transition_charges['temp_folder_path']
calculation_parameters_for_electronic_energy_transfer['extra'] = '# maxdisk=2TB scf=(xqc,maxcycle=512)'
# This dictionary will add tags to your submit.sl file for performing Gaussian/ORCA Calculations to get the initial ATC wfn files and to perform EET calculations
submission_information_for_electronic_energy_transfer = {}
submission_information_for_electronic_energy_transfer['cpus_per_task'] = 32
submission_information_for_electronic_energy_transfer['mem'] = '68GB' # This has been set to calculation_parameters_for_electronic_energy_transfer['mem'] + 12 GBs
submission_information_for_electronic_energy_transfer['time'] = '10-00:00'
submission_information_for_electronic_energy_transfer['partition'] = 'parallel'
submission_information_for_electronic_energy_transfer['constraint'] = 'AVX'
submission_information_for_electronic_energy_transfer['email'] = 'geoffreywealslurmnotifications@gmail.com'
submission_information_for_electronic_energy_transfer['gaussian_version'] = 'gaussian/g16'
submission_information_for_electronic_energy_transfer['python_version'] = 'python/3.8.1'
|
Not Functioning Yet
Intermolecular charge transfer coupling values can be obtained for charge transfer between monomers (in a dimer) by obtaining the eigendata from Gaussian
/ORCA
claculations upon the dimer and the two monomers that are apart of the dimer. This includes obtaining overlap intergral matrices, molecular orbital (MO) energies, and MO coefficients for the monomers and dimers found in this crystal.
If you would like to obtain input files for performing intermolecular charge transfer (ICT) calculations, you will want to provide two dictionaries for the dimer_eigendata_file_creation_information
variable. These are:
calculation_parameters_for_eigendata
(dict.): This dictionary contains information required for the Gaussian
/ORCA
files for obtaining eigendata from your monomers and dimers, required for obtaining ICT coupling values.
submission_information_for_eigendata
(dict.): This dictionary contains information required for making the submit.sl
file for submitting eigendata gathering jobs to slurm.
If you would like to perform ICT calculations for the dimers, you want to set ict_file_creation_information
as:
ict_file_creation_information = (calculation_parameters_for_intermolecular_charge_transfer, submission_information_for_intermolecular_charge_transfer)
See Calculation Parameter Settings and Submission Information Settings for more information about what settings you want to include in these dictionaries.
If you do not want to perform ICT calculations for the dimers, you want to set ict_file_creation_information = None
:
ict_file_creation_information = None
NOTE: Both calculation_parameters_for_intermolecular_charge_transfer
and submission_information_for_intermolecular_charge_transfer
are usually the same as calculation_parameters_for_electronic_energy_transfer
and submission_information_for_electronic_energy_transfer
, respectively. See below for examples of calculation_parameters_for_intermolecular_charge_transfer
and submission_information_for_intermolecular_charge_transfer
:
Examples of dictionaries needed for obtaining intermolecular charge transfer (ICT) input files |
---|
| # The following dictionaries provide the Gaussian/ORCA parameters and Submission information required for obtaining
# eigendata (such as overlap orbtials and molecular orbital energies and coefficients).
# This dictionary will add tags to your Gaussian/ORCA input file
calculation_parameters_for_eigendata = dict(calculation_parameters_for_electronic_energy_transfer)
# This dictionary will add tags to your submit.sl file for performing Gaussian/ORCA Calculations to obtain eigendata.
submission_information_for_eigendata = dict(submission_information_for_electronic_energy_transfer)
|
The folder called Examples
contains all the files that are needed to run the ECCP program. This includes examples of the Run_ECCP.py
file. Click here to access these files on Github.