nlesc-nano / auto-FOX

A library for analyzing potential energy surfaces (PESs) and using the resulting PES descriptors for constructing forcefield parameters.
GNU Lesser General Public License v3.0
9 stars 8 forks source link

ENH: Allow PES-descriptors to operate on the `qmflows.Result` #188

Closed BvB93 closed 3 years ago

BvB93 commented 3 years ago

Currently any PES descriptor can be calculated as long as it can be constructed from the MD-trajectory-containing array. This is limitation should be removed, allowing the constructors of PES descriptors to utilize the entire qmflows.Result instance.

Example

Note that users are responsible for providing the appropiate QM reference value (ref) when using qmflows.Result-based PES descriptors. ref should be supplied as a list of array-like objects, one object for each user-specified molecule in job.molecule.

job:
    molecule: blablabla.xyz

pes:
    rdf:
        func: FOX.MultiMolecule.init_rdf
        kwargs:
            atom_subset: [Cd, Se, O]
    energy:
        func: FOX.get_attr  # i.e. `qmflows.Result(...).energy`
        ref: [-17.0429775897]
        kwargs:
            name: energy
    hirshfeld_charges:
        func: FOX.call_method  # i.e. `qmflows.Result(...).get_hirshfeld_charges()`
        ref: [[-0.1116, 0.1930, -0.1680, -0.2606, 0.1702, 0.0598, 0.0575, 0.0598]]
        kwargs:
            name: get_hirshfeld_charges