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

SpiritParser not properly implemented yet #4

Closed
PhilippRue opened this issue May 18, 2021 · 5 comments
Closed

SpiritParser not properly implemented yet #4

PhilippRue opened this issue May 18, 2021 · 5 comments
Labels
bug Something isn't working

Comments

@PhilippRue
Copy link
Member

The SpiritCalculation always terminates with exit code 100 (ERROR_MISSING_OUTPUT_FILES) because the SpiritParser is not properly implemented yet.

@PhilippRue PhilippRue added the bug Something isn't working label May 18, 2021
@PhilippRue
Copy link
Member Author

We should define which information should be parsed from the output files of spirit.

@PhilippRue
Copy link
Member Author

PhilippRue commented May 18, 2021

Ideas for things that can be parses / should appear in the database:

  • initial spin configuration
  • final spin configuration
  • statistics of the spirit run
    • total number of iterations
    • convergence information

@MSallermann
Copy link
Contributor

I think the relevant outputs depend strongly on the method that is being run. So far I agree with Philips list and I think these should be the first things to be implemented. For most methods, the energy of the initial/final/ground state would also be interesting.

  * [ ]  total number of iterations
  * [ ]  convergence information

Just as a heads up: It is currently not so straight forward to get these from the spirit python API. This is because the functions that query the simulation state (like e.g. spirit.simulation.get_max_torque_norm) need to be called from a separate thread, while the simulation is running. I will implement a better method on a branch soon.

Other useful outputs might be:
For LLG (Dynamics) (meaning LLG with any solver that is not VP/LBFGS and direct_minimization=false)

  • Snapshots of the spin configuration at different time intervals
  • Energies at different time intervals

For LLG (Minimization) (So we probably expect some metastable configurations)

  • The profile/radius (thinking of Skyrmions)
  • Topological charge

For GNEB

  • The saddle point configuration/energies
  • Energy barrier

For HTST

  • All of the quantities in htst_info
  • Eigenvalues/Eigenvectors (if non sparse calculation)

MC

  • Critical temperatures (requires post processing, so maybe a bit out of scope)
  • Ground state spin configuration (simulated annealing + final minimization with LLG) (How to control convergence?)

@PhilippRue
Copy link
Member Author

Just as a heads up: It is currently not so straight forward to get these from the spirit python API. This is because the functions that query the simulation state (like e.g. spirit.simulation.get_max_torque_norm) need to be called from a separate thread, while the simulation is running. I will implement a better method on a branch soon.

As long as we can write it to a file or the stdout we are good. The parsing will be done after the spirit calculation has finished and there we extract data from the output files. Therefore we can also look for keywords in the stdout that spirit produces and take the information (e.g. number of iterations) from there.

@PhilippRue
Copy link
Member Author

Since the basic parser works I move this to the new issue #8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants