Skip to content

Calculators for the SPHInX DFT code and spin-space averaging (SSA) methods

Noam Bernstein requested to merge noambern/ase:sphinxdft_ssa_calculators into master

SPHInX, a calculator for the SPHInX code, based on FileIOCalculator, and SSA, a calculator implementing the spin-space averaging (SSA) method that wraps arbitrary other calculators, runs multiple times with different initial_magnetic_moments, and averages the results. sphinx is a plane-wave DFT code with support for PAWs which has the advantage that it can do Lagrangian spin constraints (rather than the more common energy penalty terms), and is therefore particularly suitable for SSA.

Tests for both calculators are included, but they actually run the DFT executable, so there will need to be some discussion of whether/how they can be tested in the gitlab CI. It should be possible, since you can download pre-built executables, but the computational cost is currently not trivial (of order 2-3 minutes, I believe). Another option would be to refactor the input-writing and output-parsing routines, and put a set of reference files in the repo to compare to. I personally think that's of limited use, but it's an option. It wouldn't, for example, guard against failures due to changes in sphinx's input or output format.

Note that in principle it's possible to control sphinx by starting a separate process and using named pipes for communication, but that remains a project for a future implementation.

Edited by Noam Bernstein

Merge request reports