-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Imaginary vaules when unfolding AO integrals. #2
Comments
I am not sure what is happening here... I think this would also occur for PySCF, using their |
Not much progress on this. The critical value of lattice constant seems to be between 9.6 and 9.7 B - for 9.7 the make real works, |
This is a consequence of the MF breaking k -- (-k) conjugation symmetry, in which case the solution cannot be represented by real orbitals, see pyscf/pyscf#1161 If this solution is desired, complex orbitals are needed, which will require quite some work (but we will want comlex orbitals in the long run anyways). Alternatively, one can try to instead find a MF solution with k -- (-k) conjugation symmetry. This, for example, is the default in VASP (see https://www.vasp.at/wiki/index.php/ISYM). This will also save computation cost, as k and -k do not need to be treated independently. Unfortunately, this symmetry is not implemented in PySCF. It may be possible to force such a solution by symmetrizing between k and -k each SCF iteration, although this would not reduce the computational cost. |
Importing
|
Silicon calculation with def2-svp crashes due to imaginary values in unfolded AO integrals. Traceback and script below:
Traceback (most recent call last):
File "lithium.py", line 73, in
edft, erhf, eemb = run(a)
File "lithium.py", line 53, in run
emb = vayesta.ewf.EWF(kmf, solver="CCSD", bno_threshold=1e-6)
File "/users/git/Vayesta/vayesta/ewf/init.py", line 17, in EWF
return REWF(mf, *args, **kwargs)
File "/users/git/Vayesta/vayesta/ewf/ewf.py", line 98, in init
super().init(mf, options=options, log=log, **kwargs)
File "/users/git/Vayesta/vayesta/core/qemb/qemb.py", line 152, in init
self._veff_orig = self.get_init_veff()
File "/users/git/Vayesta/vayesta/core/qemb/qemb.py", line 272, in get_init_veff
return self.mf.get_veff()
File "/users/git/Vayesta/vayesta/core/foldscf.py", line 85, in get_veff
veff = k2bvk_2d(vk, self.kphase)
File "/users/git/Vayesta/vayesta/core/foldscf.py", line 208, in k2bvk_2d
assert abs(ag.imag).max() <= imag_tol
AssertionError
The text was updated successfully, but these errors were encountered: