google-deepmind / google-deepmind/deepmind-research

SOSCF with dm21 in pySCF

Open
#479 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
15.2k
Forks
2.9k
PR merge metrics
No merged PRs in 30d

Description

Hello, I have tried to apply dm21 to transitional metal systems recently. But even with single atom like V, Cr, Mn, I found they are very hard to converge. I tried to apply SOSCF by
`mf = scf.UKS(mol).density_fit()`
`mf._numint = dm21.NeuralNumInt(dm21.Functional.DM21)`
`mf = mf.newton()`
`mf.kernel(mo_init,mocc_init)`
which is basically the example code for SOSCF in pySCF example.

but it gave me the error message

> File "/cluster/home/vuckovics/miniconda3/envs/pyscf-2.4.0/lib/python3.11/site-packages/pyscf/soscf/newton_ah.py", line 853, in kernel
return _CIAH_SOSCF.kernel(self, mo_coeff, mo_occ, dm0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/cluster/home/vuckovics/miniconda3/envs/pyscf-2.4.0/lib/python3.11/site-packages/pyscf/soscf/newton_ah.py", line 738, in kernel
kernel(self, mo_coeff, mo_occ, dm0, conv_tol=self.conv_tol,
File "/cluster/home/vuckovics/miniconda3/envs/pyscf-2.4.0/lib/python3.11/site-packages/pyscf/soscf/newton_ah.py", line 533, in kernel
rotaiter.send((mo_coeff, mo_occ, dm, vhf, e_tot))
File "/cluster/home/vuckovics/miniconda3/envs/pyscf-2.4.0/lib/python3.11/site-packages/pyscf/soscf/newton_ah.py", line 339, in _rotate_orb_cc
g_kf, h_op, h_diag = mf.gen_g_hop(mo_coeff, mo_occ, fock_ao)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/cluster/home/vuckovics/miniconda3/envs/pyscf-2.4.0/lib/python3.11/site-packages/pyscf/soscf/newton_ah.py", line 205, in gen_g_hop_uhf
vind = mf.gen_response(mo_coeff, mo_occ, hermi=1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/cluster/home/vuckovics/miniconda3/envs/pyscf-2.4.0/lib/python3.11/site-packages/pyscf/scf/_response_functions.py", line 171, in _gen_uhf_response
rho0, vxc, fxc = ni.cache_xc_kernel(mol, mf.grids, mf.xc,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/cluster/home/vuckovics/miniconda3/envs/pyscf-2.4.0/lib/python3.11/site-packages/pyscf/dft/numint.py", line 2578, in cache_xc_kernel
vxc, fxc = ni.eval_xc_eff(xc_code, rho, deriv=2, xctype=xctype)[1:3]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/cluster/home/vuckovics/miniconda3/envs/pyscf-2.4.0/lib/python3.11/site-packages/pyscf/dft/numint.py", line 2711, in eval_xc_eff
exc, vxc, fxc, kxc = self.eval_xc(xc_code, rhop, spin, 0, deriv, omega,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/cluster/home/vuckovics/miniconda3/envs/pyscf-2.4.0/lib/python3.11/site-packages/density_functional_approximation_dm21/neural_numint.py", line 711, in eval_xc
mol=self._system_state.mol,
^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'mol'

Could you please tell me how to apply newton properly with dm21?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.