Thanks for the answer and the links. But if I understand correctly, these
codes only give us the irreps, and I need the specific representation
matrices calculated from the QE wave-functions. The best way to get these
seem to be editing this routine.

I've found my mistake, and a bug (I'll report for the developers as well).
My mistake was that I was not using the "which_irr_so(iclass)" to identify
the class. I was assuming that "iclass" would already list the classes in
the correct order.

Now, the bug is that "which_ir_so" is returning the class 9 two times here,
but one of these should be 6 instead. This can be checked with the
following code

PRINT *, "======================================================"
PRINT *, "which_ir_so:", (which_irr_so(iclass), iclass=1, nclass)
PRINT *, "classes:", (name_class_so(iclass), iclass=1, nclass)
DO irap=1,nrap
PRINT *, ">>", (char_mat_so(irap, which_irr_so(iclass)), iclass=1, nclass)
ENDDO
PRINT *, "======================================================"

Which prints

which_ir_so(iclass):           1           5           3           9
    9           7           2           4           8
classes: E    -E   2C3  -2C3  3C2' s_h 2S3  -2S3  3s_v

So, the classes are ordered as {E, 3C2', 2C3, 3s_v, 3s_v, 2S3, -E, -2C3,
-2S3}

Notice that 3s_v appears twice, and s_h does not appear in the list.

Best,
--
Gerson J. Ferreira
Prof. Dr. @ InFis - UFU
----------------------------------------------
gjferreira.wordpress.com
Institute of Physics
Federal University of Uberlândia, Brazil
----------------------------------------------


On Sun, Mar 6, 2022 at 10:35 PM Hongyi Zhao <[email protected]> wrote:

> On Mon, Mar 7, 2022 at 2:39 AM Gerson J. Ferreira
> <[email protected]> wrote:
> >
> > Dear QE users,
> >
> > I need the matrix representation for the symmetry operators in the basis
> of the QE bands, so I'm checking how to edit the file sym_band.f90 for this
> purpose.
> >
> > The SUBROUTINE find_band_sym_so already calculates the trace as (loops
> are implied)
> >>
> >> trace(iclass,igroup)=trace(iclass,igroup) + DOT_PRODUCT
> (evc(:,ibnd),evcr(:,ibnd))
> >
> >
> > So, at first I imagined that a simple change would allow me to get the
> full matrices as (loops are implied)
> >>
> >> matrep(iclass,igroup,i,j) = DOT_PRODUCT (evc(:,ibnd),evcr(:,jbnd))
> >
> >
> > But I've noticed that the traces are "wrong". If I print as
> >>
> >> PRINT *, 'Class:', name_class_so(iclass)
> >> PRINT *, 'Trace:', trace(iclass,igroup)
> >
> > Both the trace and the matrices (matrep) above don't match the expected
> results. For instance, all double group bar-irreps are showing trace = 0.
> >
> > In the second part of this subroutine, where the code identifies the
> symmetry representations, I don't understand some of the IFs there, and the
> meaning of the variable "shift". So I guess I'm misreading something.
> >
> > Could someone help me understand what I am doing wrong?
>
> First, the method implemented in "./PP/src/sym_band.f90" is just a
> rough partial implementation, as indicated by the comment in the above
> source code file:
>
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> SUBROUTINE find_band_sym_so (ik,evc,et,nsym,s,ft,d_spin,gk, &
>      invs,rap_et,times,ngroup,istart,accuracy)
>
>   !
>   !   This subroutine finds the irreducible representations of the
>   !   double group which give the transformation properties of the
>   !   spinor wavefunctions evc.
>   !   Presently it does NOT work at zone border if the space group of
>   !   the crystal has fractionary translations (non-symmorphic space
> groups).
>   !
>   !
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>
> 2. As an alternative, if I understand correctly, the following
> packages are currently available for this purpose, as discussed here
> [1]:
>
> A.  https://github.com/qeirreps/qeirreps
> B. https://github.com/stepan-tsirkin/irrep
>
> [1] https://github.com/goodluck1982/SpaceGroupIrep/issues/6
>
> Regards
> --
> Assoc. Prof. Hongsheng Zhao <[email protected]>
> Theory and Simulation of Materials
> Hebei Vocational University of Technology and Engineering
> No. 473, Quannan West Street, Xindu District, Xingtai, Hebei province
> _______________________________________________
> The Quantum ESPRESSO community stands by the Ukrainian
> people and expresses its concerns about the devastating
> effects that the Russian military offensive has on their
> country and on the free and peaceful scientific, cultural,
> and economic cooperation amongst peoples
> _______________________________________________
> Quantum ESPRESSO is supported by MaX (www.max-centre.eu)
> users mailing list [email protected]
> https://lists.quantum-espresso.org/mailman/listinfo/users
>
>
_______________________________________________
The Quantum ESPRESSO community stands by the Ukrainian
people and expresses its concerns about the devastating
effects that the Russian military offensive has on their
country and on the free and peaceful scientific, cultural,
and economic cooperation amongst peoples
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu)
users mailing list [email protected]
https://lists.quantum-espresso.org/mailman/listinfo/users

Reply via email to