aiidateam / aiida-common-workflows

A repository for the implementation of common workflow interfaces across materials-science codes and plugins
https://aiida-common-workflows.readthedocs.io
MIT License
52 stars 32 forks source link

Output node of energies #37

Open espenfl opened 4 years ago

espenfl commented 4 years ago

We are trying to settle the output node of energies in aiida-vasp. Currently, we want to obtain some kind of energy for each ionic and self consistent step. Due to the fact that the ionic/sc steps will create jagged arrays we are not convinced ndarray is the way to go as jagged ndarray can sometimes give unexpected behaviour when using operations on it. That leaves regular lists. Problem might be that they can become very large for big arrays. Also, one could consider to adopt the TrajectoryData to also house the sc steps and different energies, but I am not sure this is the way we want to go.

Given that we want different energies as well and most likely a key describing what they are, we are looking at putting the content in a dict. So in the end we are looking at something like this:

energies = {'energy_without_entropy': DataFactory('list')( [[someenergy for sc_step in ionic_step] for ionic_step in data ]] )}

And similar for any other energy. Comments and/or suggestions on this would be great.

espenfl commented 4 years ago

Okey, we have decided to implement this on the VASP plugin side using the following approach. We will linearize the self consistent cycles and store a separate array that keeps track of the indices. Should also yield a very compact storage. At some point we will possibly make a wrapper that extracts this in a sensible manner.