How can I define BASIS2 for metal atoms?

Hi everyone. How can I define BASIS2 for metal atoms?
Unfortunately, all the examples in the manual for BASIS2 are for organic species.
I am not sure if it is necessary to define ECPs for dual basis sets, and if so, how?
For example, I wanted to test this in a simple molecule on IQmol server, but I encountered an error:

$molecule
0 1
Au                -0.82178220    0.42574257    0.00000000
H                  0.81821780    0.42574257    0.00000000
$end

$rem
JOBTYPE             opt
METHOD              b3lyp
BASIS               GEN
ECP                 def2-ecp
BASIS2              BASIS2_GEN
DUAL_BASIS_ENERGY   true
$end

$basis
H 0
6-31g(d)
****
Au 0
def2-SVP
****
$end

$basis2
H 0
sto-3g
****
Au 0
def2-SVP
****
$end

the error:

SCF time: CPU 0.54 s wall 0.54 s
SCF energy in the small basis set = -136.35786439
Total energy in the small basis set = -136.35786439
OvProjection to generate starting density matrix.

Q-Chem fatal error occurred in module scfman/GuessC2.C, line 163:

You are using a basis2 that is not a subset of the target basis. Please choose a different basis2. If you are just generating a starting guess via basis2, please set dual_basis_energy=false.

Please submit a crash report at Q-Chem Crash Reporter

or by this input:

$rem
   JOBTYPE             opt
   METHOD              b3lyp
   BASIS               GEN
   ECP                 GEN
   BASIS2              BASIS2_GEN
   DUAL_BASIS_ENERGY   true
$end

$basis
 H 0
6-31g(d)
 ****
 Au 0
def2-SVP
 ****
$end

$ecp
 Au 0
def2-ECP
 ****
$end

$basis2
 H 0
sto-3g
 ****
 Au 0
def2-mSVP
 ****
$end

the error:

 Checking the input file for inconsistencies... 	...done.
 Reading auxiliary files from /opt/qchem/qc611/qcaux (QCAUX)
Shorthand not supported for def2-ECP  '/opt/qchem/qc611/qcaux/ecps/def2-ecp.ecp'


 Q-Chem fatal error occurred in module qparser/ParseQInput.C, line 1175:

 File error in QParser


 Please submit a crash report at q-chem.com/reporter 
 

These are two different issues. Before I describe them, one possible point of confusion is that BASIS2 is used in two different contexts. It can be used for basis-set projection (converge the SCF in a smaller BASIS2 then project that solution into the target BASIS as a guess). Alternatively, it can be used for the dual-basis SCF approach where the SCF is converged in BASIS2 and then a single Roothaan step is performed in the target BASIS, to obtain an estimate of the converged SCF energy in the target BASIS. When you set DUAL_BASIS_ENERGY = TRUE, you are asking for the latter approach whereas the former doesn’t require any keywords beyond BASIS2. The dual-basis strategy is designed to work only when BASIS2 is a proper subset of BASIS, because they can be implemented much more efficiently in that case. So in your first example, Q-Chem is complaining that you didn’t choose a BASIS2 that is a proper subset of BASIS. An example that works for me is

$molecule
0 1
Au                -0.82178220    0.42574257    0.00000000
H                  0.81821780    0.42574257    0.00000000
$end

$rem
JOBTYPE             opt
METHOD              b3lyp
BASIS               GEN
ECP                 def2-ecp
BASIS2              BASIS2_GEN
DUAL_BASIS_ENERGY   true
$end

$basis
H 0
6-31G**
****
Au 0
def2-SVP
****
$end

$basis2
H 0
6-31G*
****
Au 0
def2-SVP
****
$end

Although in some sense this may miss what you are trying to do, if you intend the target basis to be quite small. In that case you’re better off avoiding the dual-basis strategy. Again, if you’re just trying to use BASIS2 as a guess, and your ultimate goal is a converged SCF in BASIS, then just delete DUAL_BASIS_ENERGY.

In your second example, I think for some reason it doesn’t like the use of def2-ECP in the $ecp section. I don’t have time to investigate in detail right now but that makes some sense to me, because “def2-ECP” is really a shorthand macro for “use the appropriate ECP for a Karlsruhe basis set”, and that macro may have been defined for parsing $rem but not for $ecp. I suggest that you try replacing the $ecp section with full specification of the $ecp for the particular Karlsruhe basis set of interest, which you can obtain either from $QCAUX or from the basis set exchange.

Hi John,
Thank you for your time in responding the question. Your response helped me understand the matter.
However, I was hoping to speed up the calculations. Using such a large BASIS2 does not seem to aid in achieving that goal.
I am wondering if there is another strategy to speed up these calculations by Qchem.
Specifically, I am referring to inorganic molecules with about 100 to 200 atoms, using the 6-31G* basis set for organic atoms and LANL2DZ or SDD for the metals.

I was giving that BASIS2 choice just as an example, wasn’t clear to me what you were trying to do. It sounds like what you want is a BASIS = GEN, specify the basis sets that you want (you can get the SDD info from basis set exchange even if it’s not known to Q-Chem by name). Then do the same for ECP=GEN and specify all the projectors in a $ecp section.