Bug in UCF & materials file parser in Vampire 7.0.0

24 views
Skip to first unread message

markusme...@gmail.com

unread,
Jan 22, 2026, 8:33:26 AM (14 days ago) Jan 22
to Vampire Users
Dear developers,
after extensive testing I think I have found a bug introduced in Vampire 7.0.0; the behaviour is not reproducable with Vampire 5 and Vampire 6.

I construct UCF and mat files for an antiferromagnet using Jij parameters from SPR-KKR. The UCF and mat files are built with a custom fork of KKRtoVAMPIRE and carefully checked according to available examples, the Youtube videos from the workshop and the manual.

My unit cell has just two atoms, aligned antiferromagnetically. Thus, I need two materials which are identical up to the initial spin direction, which I set antiparallel. The problem now arises in the UCF file. In the atoms definition, I set 

# Atoms
2 2
0 0.000000000000 0.000000000000 0.000000000000 0 0 0
1 0.500000000000 0.500000000000 0.500000000000 1 0 0

In Vampire 5 and 6 this works perfectly fine and I get the correct numbers of atoms in the log file. However, in Vampire 7, I only get half of the atoms, with all atoms being material 0. Material 1 is completely ignored. If I set both atoms to material 1, I get an error that no atoms have been created. However, I can set both atoms to material 0 and get the correct number of atoms.

Given that v5 and v6 work just fine with the input, it seems that this is a bug in v7. I'm attaching the relevant input files here.

Best regards,
Markus

vampire.inp
vampire.mat
vampire.UCF

Peela baradwaj naidu

unread,
Jan 22, 2026, 7:34:34 PM (13 days ago) Jan 22
to Vampire Users
I think you're missing the material[1]:unit-cell-category = 1 (same but with 2 instead of 1 for atom type 2) line in your material file, you still need to specify to vampire which material atom 1 and atom 2 are assigned to. You need to do this everytime your ucf file has more than type of atom otherwise vampire will only count atoms of type 1 and ignore all the others. in your case it ignored atom of type 2 so you get half of your atoms.

Richard Evans

unread,
Jan 23, 2026, 5:45:29 AM (13 days ago) Jan 23
to Peela baradwaj naidu, Vampire Users
Hi Markus, Peela,

Thanks for the question and solution - indeed this is a feature, not a bug. However, it keeps causing problems so I may well take it back to the default behaviour in the next version. It changed as the default allocation of unit-cell-category = material made it difficult to generate certain structures, eg core-shell nanoparticles with multiple atoms per unit cell, and the code occasionally did unexpected things. So, I may well go back to the default, unless you need those kind of complicated structures where I will add a special flag to avoid confusion in future.

Many thanks and all the best,

Richard 

-- 
You received this message because you are subscribed to the Google Groups "Vampire Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vampire-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/vampire-users/d93642ef-3cc4-416b-82c7-15f172487271n%40googlegroups.com.

markusme...@gmail.com

unread,
Jan 23, 2026, 6:10:22 AM (13 days ago) Jan 23
to Vampire Users
Dear Peela, Richard,

thank you very much for the clarification and the quick help! Just following the tutorials (using Vampire 6) misled me here. I can now see that this is a feature, but it does cause a bit of confusion. :)

Thank you very much!
Best regards,
Markus


Reply all
Reply to author
Forward
0 new messages