Menu

#7 ABINIT output leads to crash due to wrong LatticeVector for F lattice

v1.0_(example)
open
None
1
2013-11-06
2013-11-05
Anonymous
No

Output for ABINIT is incorrect, causing a crash in the ABINIT code.

ABINIT requires that the lattice vectors form a matrix with a positive determinant ( = cell volume). CIF2CELL does not produce such a matrix :

        elif self.spacegroupsetting == 'F':
            # face centered
            self.transvecs = [LatticeVector([zero,zero,zero]),
                              LatticeVector([half,half,zero]),
                              LatticeVector([half,zero,half]),
                              LatticeVector([zero,half,half])]
            self.lattrans = LatticeMatrix([[half, half, zero],
                                           [half, zero, half],
                                           [zero, half, half]])

ABINIT would require

           self.lattrans = LatticeMatrix([[zero, half, half],
                                           [half, zero, half],
                                           [half, half, zero]])

The navy.mil/lattice site appears to be down at the moment, so I cannot verify whether CIF2CELL conforms to it or not (I suspect not).

While I will try to hack this for my specific case, it would be reassuring if the author could revisit the code and make sure that a positive volume matrix is produced for all cases, taking into account all the parts of the code that I don't understand. I believe that having a positive determinant is standard. However, if there is a good reason to do it differently, please inform me. (I will, however, still need to make the changes in order to use ABINIT.)

Maybe I should've listed this as a feature request & "bug" is harsh, but this section seemed to get the most activity.

Thanks very much

Kevin Jorissen

Discussion

  • Torbjörn Björkman

    Will be fixed in the next release (which will be around shortly).

     
  • Torbjörn Björkman

     

Anonymous
Anonymous

Add attachments
Cancel