Closed magnusrahm closed 6 years ago
Thanks Magnus, we'll take a look at this.
Found the bug. The problem was introduced by an improper setting of the number of arrows to be used in the enumeration. In this case it was clearly meant to be 0, however that wasn't being set properly so the code was treating the enumeration like it had an extra degree of freedom. This will be fixed in the next push.
Dear enumlib developers,
I have used enumlib for a while (with great joy!) but since I updated to the most recent version, enumlib does not behave as I expect when doing concentration restricted enumeration. Consider, as a minimal example, concentration restricted enumeration for an fcc lattice (just a slight adaptation of the
struct_enum.in.fcc.fixed_concentrations
script in thesupport
folder):The output file looks like this:
Note that I get multiple structures with just one of the elements. This happens also for larger supercells. If I remove the last three lines of the input file (the concentration restriction) I get the expected output, i.e., only one pure structure. It does not seem like this behaviour is restricted to the pure structures, because among the mixed structures, there seems to be groups of structures that are equivalent.
I'm quite sure that this was not the behaviour in a previous version of enumlib, because I happened to have an old enumeration around that I could run again, and the output was different. Unfortunately, I failed to track down which version that was. I did some attempts to check out to previous versions of enumlib to obtain the expected behaviour, but that was in vain, which makes me a bit suspicious that there could be something weird with my system rather than the code (but I thought it could be worth notifying you if it is indeed a bug). I've compiled the code with gfortran on Ubuntu 18.04.
Best regards, Magnus Rahm