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.