Unrecognized point group bits with a custom functional (CASE21)

Hello,

I am trying to geometry optimize a set of molecules using CASE21 with the 1.9 version of Psi4. I am using a custom functional since optimize(‘case21’) doesn’t work. For reference, I don’t get this error when I use optimize(‘pbe0’). So, I have a feeling the problem is with using a custom functional.

I know there is a similar issue in this forum (Unrecognized point group bits). Since the geometries I’m using are reference geometries, it would be ideal if I didn’t have to perturb the geometries. Based on the replies there, symmetry c1 should silence this issue but that fix doesn’t seem to work here.

I notice that this error sometimes occurs depending on the parameters I use for CASE21. A recent example is with CH3F. Here is the input file:

memory 10000 mb

molecule {
0 1
F 0.649570474461 -0.000000041478 0.000000049707
C -0.750193668329 0.000000083506 -0.000000077305
H -1.104185605347 1.040471500732 0.000000033116
H -1.104185676878 -0.520235889928 -0.901074682439
H -1.104185589955 -0.520235823204 0.901074632766
symmetry c1
}

set {
reference               rhf
basis                   def2-qzvppd
dft_radial_points       105
dft_spherical_points    770
geom_maxiter            100
fail_on_maxiter        false
}

case21 = {
    "name": "CASE21_opt",
    "xc_functionals": {"HYB_GGA_XC_CASE21": {}}
}

optimize('scf', dft_functional=case21)

The error I’m getting is:

Traceback (most recent call last):
  File "/topdir/psi4-install/bin/psi4", line 387, in <module>
    exec(content)
  File "<string>", line 35, in <module>
  File "/topdir/psi4-install/lib/psi4/driver/driver.py", line 1245, in optimize
    G, wfn = gradient(lowername, return_wfn=True, molecule=molecule, **kwargs)
  File "/topdir/psi4-install/lib/psi4/driver/driver.py", line 638, in gradient
    wfn = procedures['gradient'][lowername](lowername, molecule=molecule, **kwargs)
  File "/topdir/psi4-install/lib/psi4/driver/procrouting/proc.py", line 96, in select_scf_gradient
    return func(name, **kwargs)
  File "/topdir/psi4-install/lib/psi4/driver/procrouting/proc.py", line 2688, in run_scf_gradient
    ref_wfn = run_scf(name, **kwargs)
  File "/topdir/psi4-install/lib/psi4/driver/procrouting/proc.py", line 2588, in run_scf
    scf_wfn = scf_helper(name, post_scf=False, **kwargs)
  File "/topdir/psi4-install/lib/psi4/driver/procrouting/proc.py", line 1778, in scf_helper
    base_wfn = core.Wavefunction.build(scf_molecule, core.get_global_option('BASIS'))
  File "/topdir/psi4-install/lib/psi4/driver/p4util/python_helpers.py", line 216, in _core_wavefunction_build
    basis = core.BasisSet.build(mol, "ORBITAL", basis, quiet=quiet)
  File "/topdir/psi4-install/lib/psi4/driver/p4util/python_helpers.py", line 156, in _pybuild_basis
    bs, basisdict = qcdb.BasisSet.pyconstruct(mol.to_dict(),
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/libmintsbasisset.py", line 722, in pyconstruct
    bs, msg, ecp = BasisSet.construct(parser, mol,
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/libmintsbasisset.py", line 984, in construct
    oneatombasis = BasisSet(basisset, at)
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/libmintsbasisset.py", line 136, in __init__
    self.constructor_basisset_center(*args)
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/libmintsbasisset.py", line 423, in constructor_basisset_center
    self.molecule = Molecule.from_arrays(elem=[mol.symbol(center)],
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/molecule.py", line 1237, in from_arrays
    return Molecule.from_dict(molrec)
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/molecule.py", line 1672, in from_dict
    mol._internal_from_dict(molrec=molrec, verbose=verbose)
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/molecule.py", line 1749, in _internal_from_dict
    self.update_geometry()
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/libmintsmolecule.py", line 1570, in update_geometry
    self.set_point_group(self.find_point_group())
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/libmintsmolecule.py", line 2423, in find_point_group
    pg = self.find_highest_point_group(tol)  # D2h subgroup
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/libmintsmolecule.py", line 2523, in find_highest_point_group
    return PointGroup(pg_bits)
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/libmintspointgrp.py", line 1530, in __init__
    self.constructor_bits(*args)
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/libmintspointgrp.py", line 1573, in constructor_bits
    self.symb = self.bits_to_basic_name(self.PYbits)
  File "/topdir/psi4-install/lib/psi4/driver/qcdb/libmintspointgrp.py", line 1755, in bits_to_basic_name
    raise ValidationError('Unrecognized point group bits: %d\n' % (bits))

psi4.driver.qcdb.exceptions.ValidationError: Unrecognized point group bits: 48



Printing out the relevant lines from the Psithon --> Python processed input file:
    core.set_global_option("FAIL_ON_MAXITER", "false")
    case21 = {
        "name": "CASE21_opt",
        "xc_functionals": {"HYB_GGA_XC_CASE21": {}}
    }
--> optimize('scf', dft_functional=case21)

Let me know if a larger excerpt of the output file is required to diagnose this problem.