I’m trying to use pymatgen, specifically the VampireCaller class, to create a unit cell file (.ucf) which I eventually want to use in a hysteresis-loop calculation using Vampire. However, I’m currently stuck in a situation which I cannot solve myself nor find anyone else with the same issue - maybe you can help me ?
The material I’m interested in is SrFe12O19 which I can find two instances of on the Materials Project homepage; mp-1218653 and mp-19538.
I have created a mwe (minimal working example) you can download here in which I first get the structure using the API “.get_structure_by_material_id”.
I’ve tried to load the structure directly into the VampireCaller class. However, since the downloaded structure does not contain the (ground state) energies I cannot do this.
I then found a VampireCallerTest code which structure the input in a valid way. Using this code and a modified json file of the downloaded material structure I can now call the VampireCaller class.
Though, after a few seconds I get an error saying “We need at least 2 unique orderings.“ from a definition in heinsenberg.py (line #105)
My problem is that I simply do not know what this means nor how to fix this issue. Is it not possible to download a material from the Materials Project and then “simply” create a Vampire UnitCell file?
I hope you can point me in the correct direction - any input is much appreciated.
Thanks in advance.
P.s. It should be noted that I’m completely new to both pymatgen and Vampire.