Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vasp_6_4 ML parser - sphinx eigenvalues parser #1175

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

ahmedabdelkawy
Copy link
Contributor

This is a draft (work still under progress) for the sphinx eigenvalues parser and vasp 6.4 ML potential parser.

  • Changes to take into consideration (and also test):
  1. running ML job print out the following: for each DFT step you have two outputs: 1. DFT results 2. Dummy zeroes with ML label and for each ML step, you have only one output. This confuses the already existing parser.
  2. To fix this, two new variables: ml_steps, dft_steps to track the indices in the outcar steps of which values are to parse as ML or DFT
  3. Other quantities: volume change, stresses, and temperature come from DFT and ML
  4. We also parse all energies and from that, we parse only DFT and ML energies
  5. This becomes problematic with the new (and also old) get_steps function (needs to be fixed).
  6. It is also important to note that certain quantities only get printed out from DFT steps: scf_energies, magnetization??, and eigenvalues?? (here dft_steps comes to play).
  7. We currently don't know if this DFT+ML run can go back and rerun DFT steps after some ML steps (active learning style) or only go in one direction: training -> production fashion.
  8. Whether this parser will be problematic with regular Vasp jobs or not is also to be tested.
  9. get_energy_without_entropy_from_line parsing (line splitting) was changed as the additional ML string at the beginning breaks the parser.
  10. def get_index_type(filename="OUTCAR", lines=None): was introduced to save the ml_steps/dft_steps
  11. selective parsing is currently done in this fashion: self.parse_dict["energies_int"] = [energies_int[i] for i in dft_index] whether a nicer way to do it should also be done (filter function)??
  • Changes to consider for the sphinx parser
  1. This fix should fix the eigenvalues for the static calculations (shape: n_electronic_steps) but for the minimization calculation (shape: n_ionic_stepsxn_electronic_steps) this fix still does not work.
  2. Sphinx does not parse eigenvalues for all steps, it currently only parses the last step.

@stale
Copy link

stale bot commented Oct 15, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Oct 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant