Skip to content
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

Add capability for electrostatics from ML charges #15

Open
wants to merge 24 commits into
base: master
Choose a base branch
from

Conversation

max-veit
Copy link

Builds off the existing framework for local property prediction, and adds on real-space electrostatics using the DSF/Wolf summation for proper convergence.

Rebased from an older branch so some testing is necessary

max-veit and others added 8 commits July 15, 2024 21:50
Still need to figure out how the local-property gradients work

WARNING PROTOTYPE - HERE BE DRAGONS. Compile at your own risk!
I think??? also tried to do it only for atomic charges, since it really
doesn't make sense there, while keeping the existing behaviour for vdW
parameters (volume) and electron binding energies

NOTE this was really tricky to merge with the new local property stuff
in turbogap, so ended up changing the way the zero-truncation flag is
stored. Hopefully this will do exactly the same thing as before, but it
needs to be checked.
just need to figure out how the indexing works
Now iteration pattern is the same as in the vdW code.  Also fixed some
signs and stuff; still needs to be tested.
@max-veit
Copy link
Author

Tests to implement:

  • Dimer, fixed charges (test DSF functional form)
  • Dimer, charge prediction (e.g. NaCl, simple charge model)
  • Dimer, full variable charges (test variable-charge gradients, 2b case)
  • Realistic but simple test system (e.g. Li@Graphite, to test variable-charge gradients in MB case)

max-veit and others added 16 commits August 29, 2024 17:36
but ran into problems understanding how these local properties are
supposed to work in multi-species systems (with a different SOAP/GAP
for each center)
This applies the fix from 4ebe04 while adapting it to the current
electrostatics implementation
...that were missed in the previous commit

Compiles but crashing on an out-of-bounds access on the charge
gradients array.  Need to find out what's going on here...
one of the clauses was failing on keywords shorter than 9 characters (!)
Still need to check the correctness of gradients
this will make it easier to implement e.g. DSF
(the bug was in the direct electrostatics routine, uncovered during
refactoring. Any previous results computed using this electrostatics
implementation are wrong.)
this one-liner should hopefully fix those crashes presumably due to
uninitialized indices...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants