msg-byu / enumlib

Derivative structure enumeration library
MIT License
59 stars 34 forks source link

Problem: STOP Bad inverse for transformation matrix: get_rotation_perm_lists #118

Closed Minotakm closed 1 year ago

Minotakm commented 1 year ago

Hi,

We are having an issue creating the derivative supercells of a structure at a fixed stoichiometry. The error is:

STOP Bad inverse for transformation matrix: get_rotation_perm_lists

It only occurs when we try to create cells with 10 atoms. It works for 5 atoms. It seems like there is an issue with how the structure is defined in the input file. Is there a problem in how we have written the input?

Here is the input file and the POSCAR of the structure file:

######################################################################################## enum.in ########################################################################################

enum.in bulk

Lattice vectors.

-1.7757597512570156 1.7844743420785192 -0.0078481563614575 -1.775759751257016 -0.0078481563614569 1.7844743420785198 0.0126185579940101 1.7892614695731872 1.7892614695731874

NSpecies

3

NSites

1

Sites in Cartesian coordinates.

0.0126185579940105 1.7892614695731868 1.7892614695731874 0/1/2

Cells

6 10

Epsilon

0.10000000E-06

Stoich

full list of labellings 3 3 5 1 1 5 1 1 5

######################################################################################## POSCAR ########################################################################################

C 1.0000000000000000 -1.7757597512570156 1.7844743420785192 -0.0078481563614575 -1.7757597512570160 -0.0078481563614569 1.7844743420785198 0.0126185579940101 1.7892614695731872 1.7892614695731874 C
1 Cartesian 0.0126185579940105 1.7892614695731868 1.7892614695731874

glwhart commented 1 year ago

Are you saying that

#Cells
5 10

gives you some configs of size 5, but then it fails when it gets to size 10? (It will skip 6...9 since there are no configs that meet your concentration requirements.)

Minotakm commented 1 year ago

Yes that's right.

glwhart commented 1 year ago
(base) ➜  downloads ~/home/fortranCodes/enumlib/src/enum.x
---------------------------------------------------------------------------------------------
Calculating derivative structures for index n= 5 to 10
Including only structures of which the concentration of each atom is in the range:
Type: 1: 3/5--3/5
Type: 2: 1/5--1/5
Type: 3: 1/5--1/5
Volume       CPU        #HNFs  #SNFs    #reduced    % dups      volTot      RunTot
Original d-set member was not inside the unit cell. It has been remapped.
Original:  0.013   1.789   1.789
Remapped:  0.000  -0.000  -0.000
   5         0.0036       31     1        19        0.3871          38          38
  10         0.0809      217     1       119        0.4516        8568        8606
---------------------------------------------------------------------------------------------

It ran for me...

glwhart commented 1 year ago

What is in VERSION.enum?

(base) ➜  downloads cat VERSION.enum 
v2.0.4-70-g0195-dirty
Minotakm commented 1 year ago

I've got this : v2.0.4-62-g935f-dirty. So it seems I am using an old version?

glwhart commented 1 year ago

That's my best guess, though I'm not exactly sure. Check out the latest version and try again. Let me know how it goes.

The fact that it works for me but not for you makes me think that the best thing to do is update to the latest version before going crazy trying to debug something subtle.

Minotakm commented 1 year ago

Yeah probably should be that. I will do a fresh install and let you know how it goes. Thank you very much for your help and the quick respond.

Minotakm commented 1 year ago

It seems that it works now. Thank you very much for your help.