megmcca / FitSNAP

Software for generating SNAP machine-learning interatomic potentials
GNU General Public License v2.0
0 stars 0 forks source link

Make documentation for common manipulable FitSNAP data structures #10

Open megmcca opened 12 months ago

megmcca commented 12 months ago

Example: in the transpose_trick stuff, I want to get data to be able to do error analysis. Right now, because we're not doing "process_configs" in the normal fashion, it looks like I'll need to populate the fs.pt.fitsnap_dict object on my own. I'm not quite sure how to do that yet, so I'm having to comb thru source code and docs to track it down... I'm envisioning something like this: "I want to do error analysis. What FitSNAP objects do I need, when and where are they created and calculated, how do they change through a program run, and how can I access them/save them/update them?"

A good framework might be "what is dump-able" from [EXTRAS]

objects: fs.data (serial and multinode) fs.pt.fitsnap_dict the DataFrame that's output all fitting matrices

megmcca commented 12 months ago

Dictionary keys in ace fit in transpose_trick: in a configuration.keys() from fs.data: dict_keys(['LatticeStyle', 'EnergyStyle', 'StressStyle', 'AtomTypeStyle', 'PositionsStyle', 'ForcesStyle', 'File', 'Group', 'NumAtoms', 'Energy', 'Stress', 'AtomTypes', 'Positions', 'Forces', 'QMLattice', 'test_bool', 'Lattice', 'Rotation', 'Translation', 'eweight', 'fweight'])

in "fs.pt.fitsnap_dict.keys()": dict_keys(['energy', 'per_atom_energy', 'per_atom_scalar', 'force', 'stress', 'nonlinear', 'Groups', 'Configs', 'Testing']

megmcca commented 12 months ago

for fs.pt.fitsnap_dict, BEFORE running fs.calculator.create_dicts(nconfigs), this is the output for linear ACE after running scrape_configs()

{'energy': 1, 'per_atom_energy': 0, 'per_atom_scalar': 0, 'force': 1, 'stress': 0, 'nonlinear': 0}

so the calculator function adds the 'Groups','Configs','Testing' columns to the fitsnap_dict.