[gpaw-users] Symmetry of k-points
Atz Togo
atz.togo at gmail.com
Mon Mar 1 23:04:25 CET 2010
I modified 'gpaw/test/symmetry.py' for finding reduced k-points on
3x3x3 mesh and found 5 k-points. But I think 4 k-points should be
found if the crystal symmetry is fully searched.
The line 167 in
https://trac.fysik.dtu.dk/projects/gpaw/browser/trunk/gpaw/symmetry.py
may be corrected by:
diff = np.dot(ibzk_kc, op_cc.T) - k_c
b_k = (diff - diff.round())**2).sum(1) < self.tol
After this modification, fortunately 4 k-points are found. But this is
just lucky because inversion symmetry is forced to be included.
There may be two more problems. The first is that this code seems not
to consider nonsymmorphic case. k-points may not be fully reduced. The
second is that the rotation matrix in the reciprocal space is treated
as just transpose of the rotation matrix in real space, which can be
problem in hexagonal system. This may be fixed replaceing op_cc.T by
op_cc_k as follows:
met = np.dot( self.cell_cv, self.cell_cv.transpose() )
op_scc_k_float = np.array( [ np.dot( np.linalg.inv( met ),
np.dot( op, met ) )
for op in self.op_scc ] )
op_scc_k = np.array([ int(x) for x in op_scc_float.flatten()
]).reshape(-1,3,3)
for op_cc_k in op_scc_k:
....
I just see the code for a short time. I'm sorry if I say something
really wrong or strange.
Togo
--
Atsushi Togo
LEM, ONERA-CNRS, BP72
92322 Châtillon Cedex
E-mail: atz.togo at gmail.com
More information about the gpaw-users
mailing list