[Pw_forum] Mismatch in symmetry operations for diamond

Paolo Giannozzi p.giannozzi at gmail.com
Mon Sep 19 20:12:04 CEST 2016


Maybe rotation matrices in cartesian axis (sr) are not properly
initialized, because not used, in EPW. The "historical" way of storing
rotation matrices is in crystal axis and as integer matrices. By the way, I
consider a very bad idea to have two distinct representations of the same
matrices as global variables.

Paolo

On Mon, Sep 19, 2016 at 2:57 PM, Vahid Askarpour <vh261281 at dal.ca> wrote:

> Hi Paolo,
>
> I printed the other s(:,:,isym) and got the following for some of them:
>
> for s(3)
>   1.00000000000000       0.000000000000000E+000  0.000000000000000E+000
>   0.000000000000000E+000  -1.00000000000000       0.000000000000000E+000
>   0.000000000000000E+000  0.000000000000000E+000  -1.00000000000000
>  instead of
>  cart.    s( 3) = ( -1.0000000  0.0000000  0.0000000 )
>                   (  0.0000000  1.0000000  0.0000000 )
>                   (  0.0000000  0.0000000 -1.0000000 )
>
> for s(4)
>    1.00000000000000       0.000000000000000E+000  0.000000000000000E+000
>   0.000000000000000E+000   1.00000000000000       0.000000000000000E+000
>   0.000000000000000E+000  0.000000000000000E+000  -1.00000000000000
>  instead of
>  cart.    s( 4) = (  1.0000000  0.0000000  0.0000000 )
>                   (  0.0000000 -1.0000000  0.0000000 )
>                   (  0.0000000  0.0000000 -1.0000000 )
> for s(5)
>    1.00000000000000       0.000000000000000E+000  0.000000000000000E+000
>   0.000000000000000E+000   1.00000000000000       0.000000000000000E+000
>   0.000000000000000E+000  0.000000000000000E+000  -1.00000000000000
> instead of
>  cart.    s( 5) = (  0.0000000  1.0000000  0.0000000 )    f =( -0.2500000
> )
>                   (  1.0000000  0.0000000  0.0000000 )       (  0.2500000
> )
>                   (  0.0000000  0.0000000 -1.0000000 )       (  0.2500000 )
>
> The following two lines are included at the top of the routine:
>
>   USE symm_base, ONLY : s, sr,nsym,t_rev, time_reversal, set_sym_bl, nrot
>   USE cell_base, ONLY : alat, at, omega,bg
>
> Interestingly, I get the correct symmetries if in the same EPW routine, I
> do the following (from the symm_base.f90):
>
>   DO isym = 1,nsym
>      sa (:,:) = dble ( s(:,:,isym) )
>      sb = matmul ( bg, sa )
>      sr (:,:, isym) = matmul ( at, transpose (sb) )
>     write(*,*) sr(:,:,isym)
>   ENDDO
>
> Somehow, sr needs to be recalculated and it is not enough to include USE
> symm_base and cell_base at the top of the routine.
>
> Best,
>
> Vahid
>
>
> On Sep 19, 2016, at 8:37 AM, Vahid Askarpour <vh261281 at dal.ca> wrote:
>
> Hi Paolo,
>
> I was attempting to extract the symmetries in an EPW routine in order to
> simplify the calculations. I used a loop ns=1,nrot and inside this loop, I
> printed sr(:,:,2). Perhaps I should have looped over nsym instead of nrot.
> I will check to see if this makes a difference.
>
> Thanks,
>
> Vahid
>
>
> On Sep 19, 2016, at 2:57 AM, Paolo Giannozzi <p.giannozzi at gmail.com>
> wrote:
>
> What is printed on output is exactly sr(:,:,isym), with isym running over
> symmetries. Where and how did you print sr(:,:,2)? and what about all other
> symmetries?
>
> Paolo
>
> On Mon, Sep 19, 2016 at 12:28 AM, Vahid Askarpour <vh261281 at dal.ca> wrote:
>
>> Dear QE Users,
>>
>> When doing relaxation on diamond, one of the symmetry operations
>> identified by QE-5.4.0 is the following:
>>
>> isym =  2     180 deg rotation - cart. axis [0,0,1]
>>
>> cryst.   s( 2) = (     0          1         -1      )
>>                        (     1          0         -1      )
>>                        (     0          0         -1      )
>>
>>  cart.    s( 2) = ( -1.0000000  0.0000000  0.0000000 )
>>                        (  0.0000000 -1.0000000  0.0000000 )
>>                        (  0.0000000  0.0000000  1.0000000 )
>>
>> However, when I print out sr(:,:,2) for this structure (isym=2), I get :
>>
>>   1.00000000000000                0.000000000000000E+000
>>  0.000000000000000E+000
>>   0.000000000000000E+000  -1.00000000000000
>> 0.000000000000000E+000
>>   0.000000000000000E+000    0.000000000000000E+000   1.00000000000000
>>
>> Since the sr matrix prints the cartesian rotation matrix, there seems to
>> be a mismatch between the sr(1,1) elements. The other elements are
>> consistent.
>>
>> Is this a bug or am I missing another operation embedded in the sr matrix?
>>
>> Thank you,
>>
>> Vahid
>>
>> Vahid Askarpour
>> Department of Physics and Atmospheric Science
>> Dalhousie University,
>> Halifax, NS, Canada
>>
>>
>> _______________________________________________
>> Pw_forum mailing list
>> Pw_forum at pwscf.org
>> http://pwscf.org/mailman/listinfo/pw_forum
>>
>
>
>
> --
> Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
> Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
> Phone +39-0432-558216, fax +39-0432-558222
>
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://pwscf.org/mailman/listinfo/pw_forum
>
>
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://pwscf.org/mailman/listinfo/pw_forum
>
>
>
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://pwscf.org/mailman/listinfo/pw_forum
>



-- 
Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
Phone +39-0432-558216, fax +39-0432-558222
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20160919/55ecf38d/attachment.html>


More information about the users mailing list