question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Ghost atoms & IBOs

See original GitHub issue

Hi Team,

The IBO code currently fails for systems with ghost atoms (e.g., with a ‘X-’ prefix):

[...]
  File "/Users/janus/anaconda3/lib/python3.7/site-packages/pyscf/lo/ibo.py", line 135, in ibo_loc
    AtomOffsets = MakeAtomIbOffsets(Atoms)[0]
  File "/Users/janus/anaconda3/lib/python3.7/site-packages/pyscf/lo/ibo.py", line 402, in MakeAtomIbOffsets
    iBfAt.append(iBfAt[-1] + nAoX[Atom])
KeyError: 'XO'

Out of curiosity, what is the expected and correct behaviour here? To treat the ghost atoms merely as their native atoms (for instance, treating ‘X-O’ as ‘O’)? Isn’t this what’s done elsewhere?

Cheers, Janus

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:10 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
cgk-xcommented, Jan 23, 2021

In case anyone else is interested: I think the correct way to deal with ghost atoms is:

  • Do not put any minimal-basis (B2) functions on the ghost atoms. I.e., treat the ghost atoms as if they would not exist in any way, shape, or form as far as the B2 basis is concerned.

  • Retain the ghost atom basis functions unchanged in the main computational basis B1. I.e., fully include them in the overlap matrices S11 and S12 (on the B1 side) which get supplied to the IAO construction routine.

The reason I think this is the correct approach is that, ultimately, the ghost atoms are only used to extend the computational basis set B1 in a specific way, and therefore provide more and targeted variation freedom to the original electronic structure computation. But that is the only thing they really do, and that is not very different from, say, using a plane wave basis as B1 to expand the main orbitals in. But as far as the chemical analysis is concerned, they do not exist and therefore need not be treated.[1]

If that is done, IBOs based on such an IAO construction should work automatically, and unchanged, I think. Haven’t looked into the PSI version yet.

[1] To retain correct atomic numbering, and simplify dealing with real- world existing code, the easiest way of dealing with ghost atoms might be to assign them empty minimal basis sets (i.e., basis sets without any functions). That would allow leaving them in, and might simplify code adjustments. Haven’t looked into how PySCF would handle those.

0reactions
januseriksencommented, Feb 5, 2021

Sorry for being a nuisance, but would anyone ‘volunteer’ to chip in with help, pointers, etc.? Happy to help and discuss. (cf. comment from Gerald above)

Read more comments on GitHub >

github_iconTop Results From Across the Web

Developers - Ghost atoms & IBOs - - Bountysource
Ghost atoms & IBOs. ... The IBO code currently fails for systems with ghost atoms (e.g., with a 'X-' prefix): [.
Read more >
Source code for pyscf.lo.ibo
Note the IBOs of this implementation do not strictly maximize the IAO Mulliken ... render Atoms list without ghost atoms iao_mol = iao.reference_mol(mol, ......
Read more >
Molecule topology for ghost atoms - LAMMPS Development
Hello, I'm currently trying to redesign the local neighbor listing in pair_style mesocnt to use the bond topology rather than relying on ...
Read more >
10.2.7 Intrinsic Atomic Orbitals - Q-Chem Manual
However, free-atom atomic orbitals cannot yield a qualitatively correct minimal ... FALSE Do not calculate IBOs TRUE Run the IBO procedure
Read more >
pyscf/ibo.py at master - GitHub
Python module for quantum chemistry. Contribute to pyscf/pyscf development by creating an account on GitHub.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found