Closed ElliottKasoar closed 1 month ago
Following discussions, recommend developing separate script to automate generation of different MLIP records for database. That way files will only be read/written once and extra data appended to info object as it goes.
In terms of that, current implementation is fine provided non-arch key is also added so ASE automatically recognises the last run's parameters (this may want to be disabled in aforementioned script) as well as the tagged key.
Also suggest adding arch
to the info block under the same grounds.
With the last set of changes, this now:
"arch"
info label with the same tag as the labelled properties ([arch]_energy
) etc.info
and original calc.results
dicts
Atoms.get_stress
etc. by default seems really quite inconvenient at the momentThe current default of copying results to the info dict is still not obviously the right choice for me personally, but I think @alinelena disagrees.
Relatively minor change to swap unpacking write_kwargs
when it's passed to output_structs
to passing it as the dict, as otherwise there could be keyword clashes e.g. from write_results
.
Initial work aiming to address part of #206:
Originally, I thought this would be implemented as a custom
write
function that also moved results to info, then calledase.io.write
, but we want this even if we're not writing to file.There's probably a better name than
output_atoms
, but the idea is a generalised version of what was previously done in single_point - moveAtoms.calc.results
toAtoms.info
orAtoms.arrays
, labelled with the MLIP architecture, and optionally delete theAtoms.calc.results
value in the process.To do:
invalidate_calc
, either as new option or viawrite_kwargs
, since we don't return an Atoms object)