Adding LAMMPS computes for MACE descriptors and descriptor gradients.#70
Adding LAMMPS computes for MACE descriptors and descriptor gradients.#70Fraser-Birks wants to merge 7 commits intowcwitt:mainfrom
Conversation
|
Definitely open to this, thanks.
Are you sure this is what you'd want? I would have guessed concatenated invariants from all layers. |
I'm not sure! Is there a precedent for what makes a 'MACE descriptor'? |
|
Maybe take a look at what the torch ASE calculator returns? https://github.com/ACEsuit/mace/blob/main/mace/calculators/mace.py#L580 |
Yep - it's the concatenated invariants from all layers. I'll update the computes! |
|
Just dropped by this issue. I think this is exciting because one potentially could use these descriptor as the CVs for enhanced MD (metadynamics, umbrella sampling, biased MD, etc.) Ideas similar to what has been done somewhere lately https://pubs.acs.org/doi/full/10.1021/acs.jctc.5c01767 |
|
Descriptors now include the first layer invariants, exactly matching what's returned by However, to get descriptors that matched the python I had to undo some of @wcwitt 's clever fusion with the first layer invariants. That means I'm now exporting and reading an extra property from the model json file. As that property doesn't exist in the test json files, I've broken the C.I. @wcwitt - any chance I could request that you re-generate the .json files used in the tests with the new version of |
A useful feature for
symmetrixwould be the ability to use a LAMMPScomputeto directly extract the per-atom descriptors and descriptor gradients, following the precedent set by compute sna/atom .To be clear, by 'descriptor' what I mean is the invariant part of the final layer, the part which is typically used as the input to the MLP readout.
This PR will aim to
compute sna/atom).compute snad/atom).Before merging, would be good to:
pair_symmetrix/for ease of use withinstall.sh).compute symmetrix/mace/atomandcompute symmetrix/maced/atom)