Relativistic basis set in coupled cluster calculation

Dear developers,

I am trying to do some X2C coupled cluster calculations with user-defined basis.
This is my input:

!#! Sample

memory 450 mb

molecule O {
0 3
O
}

set {
basis puo_psi4
BASIS_RELATIVISTIC puo_psi4_decon
reference rohf
guess gwh
docc [2,0,0,0,0,0,1,0]
socc [0,0,0,0,0,1,0,1]
relativistic x2c
frozen_docc [0,0,0,0,0,0,0,0]
units angstrom
!#print_MOs true
print 2
SCF_TYPE PK
}

E_scf,wfn=energy(‘scf’,return_wfn=True)
set BASIS_RELATIVISTIC puo_psi4_decon
E_ccsdt=energy(‘ccsd(t)’)
set BASIS_RELATIVISTIC puo_psi4_decon
E_bccd=energy(‘bccd(t)’)
psi4.print_out(‘Start printing energies!----------------------------------------\n’)
psi4.print_out(str(E_scf)+’\n’)
psi4.print_out(str(E_ccsdt)+’\n’)
psi4.print_out(str(E_bccd)+’\n’)
psi4.print_out(‘Start printing energies!----------------------------------------\n’)

While it passes the scf calculation nicely, it could never start the ccsd(t) calculation after it finished the reference scf calculation, and yes the reference calculation in ccsd(t) actually nicely finished.

Here are the error messages:


Properties computed using the SCF density matrix

Nuclear Dipole Moment: (a.u.)
X: 0.0000 Y: 0.0000 Z: 0.0000

Electronic Dipole Moment: (a.u.)
X: 0.0000 Y: 0.0000 Z: 0.0000

Dipole Moment: (a.u.)
X: 0.0000 Y: 0.0000 Z: 0.0000 Total: 0.0000

Dipole Moment: (Debye)
X: 0.0000 Y: 0.0000 Z: 0.0000 Total: 0.0000

MINTS: Wrapper to libmints.
by Justin Turney

Calculation information:
Number of atoms: 1
Number of AO shells: 11
Number of SO shells: 11
Number of primitives: 30
Number of atomic orbitals: 29
Number of basis functions: 27

  Number of irreps:                  8
  Integral cutoff                 0.00e+00
  Number of functions per irrep: [   9    2    2    2    0    4    4    4 ]

OEINTS: Using relativistic (X2C) overlap, kinetic, and potential integrals.

Traceback (most recent call last):
File “/share/apps/psi4/broadwell/bin/psi4”, line 210, in
exec(content)
File “”, line 41, in
File “/share/apps/psi4/broadwell/bin/…/lib//psi4/driver/driver.py”, line 447, in energy
wfn = procedures[‘energy’][lowername](lowername, molecule=molecule, **kwargs)
File “/share/apps/psi4/broadwell/bin/…/lib//psi4/driver/procedures/proc.py”, line 859, in select_ccsd_t_
return func(name, **kwargs)
File “/share/apps/psi4/broadwell/bin/…/lib//psi4/driver/procedures/proc.py”, line 2164, in run_ccenergy
proc_util.check_iwl_file_from_scf_type(core.get_option(‘SCF’, ‘SCF_TYPE’), ref_wfn)
File “/share/apps/psi4/broadwell/bin/…/lib//psi4/driver/procedures/proc_util.py”, line 135, in check_iwl_file_from_scf_type
mints.integrals()

RuntimeError:
Fatal Error: OEINTS: X2C requested, but relativistic basis was not set.
Error occurred in file: /home/kipeters/psi4/psi4/src/psi4/libmints/mintshelper.cc on line: 374
The most recent 5 function calls were:

psi::PsiException::PsiException(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, char const*, int)
psi::MintsHelper::one_electron_integrals()
psi::MintsHelper::integrals()
void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, psi::MintsHelper, , pybind11::name, pybind11::is_method, pybind11::sibling, char [10]>(void (psi::MintsHelper::)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, char const (&) [10])::{lambda(psi::MintsHelper)#1}, void, psi::MintsHelper*, pybind11::name, pybind11::is_method, pybind11::sibling, char [10]>(pybind11::cpp_function::initialize<void, psi::MintsHelper, , pybind11::name, pybind11::is_method, pybind11::sibling, char [10]>(void (psi::MintsHelper::)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, char const (&) [10])::{lambda(psi::MintsHelper)#1}&&, void ()(psi::MintsHelper), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, char const (&) [10])::{lambda(pybind11::detail::function_record*, pybind11::handle, pybind11::detail::function_record*, pybind11::detail::function_record*)#3}::_FUN(pybind11::detail::function_record, pybind11::detail::function_record*, pybind11::detail::function_record*, pybind11::detail::function_record*)
pybind11::cpp_function::dispatcher(_object*, _object*, _object*)


Any help would be deeply appreciated, and happy holiday!

-Rulin

So further tests indicate that X2C is not working with CCSD(T) in general (or perhaps any correlated method). If one simply modifies any of the 3 X2C tests in the tests directory, replacing ‘scf’ by ‘ccsd(t)’, one gets the same error as above, namely:

RuntimeError:
Fatal Error: OEINTS: X2C requested, but relativistic basis was not set.
Error occurred in file: /home/kipeters/psi4/psi4/src/psi4/libmints/mintshelper.cc on line: 374

Yup, I see the error. Ill open a PR with a fix today on GitHub.

Thanks a lot Daniel.

-Rulin