Enable continuous GeM computation.#309
Conversation
|
✨ Submitted to Merge. It will be added to the queue once all branch protection rules pass and there are no merge conflicts with the target branch. (details) |
| centre_j_id, | ||
| standard_deviation, | ||
| mesh_size, | ||
| number_of_added_sites=0, |
There was a problem hiding this comment.
If the continuous version of the LoM is to be used, the additional atoms should already be added to the reference (coordinates of the reference structure). In other words, reference should have number_of_added_atoms we specify how many sites (rows) were included. The
A comment is provided explaining that the additional sites should be part of the reference.
|
@maggiezimon have you tried to take the gradient of GeM? E.g. cv = GeM(...)
jx.grad(cv.function)(positions) |
|
The grad works if the positions are passed directly, instead of being read from the neighbor list. |
To enable grad, we need to make sure that the output depends on the input. The neighbor list dilutes that dependency. So we are now directly passing the positions. It is redundant, though.
The continuous calculation of GeM is enabled by adding a new score as defined in Eq. A1-A2 in "Local-order metric for condensed-phase environments". The implementation assumes that the additional sites are part of the reference structure and their number (Mb in the paper) is provided as input.