Job Input Files: Template Guide¶
Currently, ChemHTPS works with ORCA and QCHEM. Here, we discuss how the xyz information of a molecule goes into the template file to create unique input files.
ORCA:
If we have a template file as follows:
1 2 | !DFT PBE0 Def2-SVP smallPRINT PRINTBASIS PRINTGAP opt
* xyzfile 0 1
|
or another example with no “xyzfile” line mentioned at all:
1 | !DFT PBE0 Def2-SVP smallPRINT PRINTBASIS PRINTGAP opt
|
Following is the corresponding job input file for H2O.xyz molecular file:
1 2 | !DFT PBE0 Def2-SVP smallPRINT PRINTBASIS PRINTGAP opt
* xyzfile 0 1 H2O.xyz
|
Similarly for QCHEM:
Template:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | $rem
JOBTYPE OPT
UNRESTRICTED TRUE
EXCHANGE PBE0
BASIS SV
MAX_SCF_CYCLES 1000
SCF_CONVERGENCE 7
GEOM_OPT_MAX_CYCLES 1000
SYMMETRY TRUE
$end
$molecule
0 1
xyzfile
$end
@@@
$rem
JOBTYPE OPT
UNRESTRICTED TRUE
EXCHANGE PBE0
BASIS TZV
MAX_SCF_CYCLES 1000
SCF_CONVERGENCE 7
GEOM_OPT_MAX_CYCLES 1000
SYMMETRY TRUE
$end
$molecule
read
$end
|
Job input file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | $rem
JOBTYPE OPT
UNRESTRICTED TRUE
EXCHANGE PBE0
BASIS SV
MAX_SCF_CYCLES 1000
SCF_CONVERGENCE 7
GEOM_OPT_MAX_CYCLES 1000
SYMMETRY TRUE
$end
$molecule
0 1
O 0.06663469608193 0.06664470666271 0.00000000000000
H 1.02706626758333 -0.09371091597569 0.00000000000000
H -0.09370096366527 1.02706620931297 0.00000000000000
$end
@@@
$rem
JOBTYPE OPT
UNRESTRICTED TRUE
EXCHANGE PBE0
BASIS TZV
MAX_SCF_CYCLES 1000
SCF_CONVERGENCE 7
GEOM_OPT_MAX_CYCLES 1000
SYMMETRY TRUE
$end
$molecule
read
$end
|
In the case of ORCA, we can have jobs with multiple calculations re-using different .xyz files from previous calculations within the same job file. We add the molecular file information only for the first instance of the xyzfile line. For the other jobs, we trust the user to write proper ORCA template files to use the output of the first calculation:
1 2 3 4 5 6 7 8 9 10 11 12 | ! UKS PBE0 Def2-SVPD D3 opt
% geom MaxIter 1000 end
% scf MaxIter 1000 end
% base "optb"
*xyzfile 0 1
$ new_job
! UKS PBE0 Def2-SVPD D3 CPCM(CH2Cl2) NBO
% scf MaxIter 1000 end
% base "SPb"
*xyzfile 0 1 optb.xyz
|
1 2 3 4 5 6 7 8 9 10 11 12 | ! UKS PBE0 Def2-SVPD D3 opt
% geom MaxIter 1000 end
% scf MaxIter 1000 end
% base "optb"
*xyzfile 0 1 H2O.xyz
$ new_job
! UKS PBE0 Def2-SVPD D3 CPCM(CH2Cl2) NBO
% scf MaxIter 1000 end
% base "SPb"
*xyzfile 0 1 optb.xyz
|
For both QCHEM and ORCA jobs, a user can change the charge and the spin in the template file itself, (for e.g., in line 13 of the qchem template, line 2 in the first two ora template files, and line 5 in the third orca template files), and the job-generator module code will keep that as the default value for all the jobs generated. Hence, we recommend that separate calls of job-generator be done for different charge/spin combinations.