google-deepmind / google-deepmind/deepmind-research
SOSCF with dm21 in pySCF
- 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
Assessment
This issue has not been assessed yet.