[Pw_forum] Error in divide_class ( with D_2 symmetry)
Tao Sun
tsun at grad.physics.sunysb.edu
Fri Aug 17 00:10:53 CEST 2007
Dear Andrea,
Thanks. After your modification, the code ran smoothly
and yielded the following:
Mode symmetry, D_2 (222) point group:
omega( 1 - 1) = 81.09814 [cm-1] --> B_1
omega( 2 - 2) = 111.55732 [cm-1] --> B_3
omega( 3 - 3) = 124.59709 [cm-1] --> B_2
I guess I need to look at the eigenvectors with respect to rotation
axis to judge whether these symmetry assignments are correct. Anyway
they are not very relevant to our current project and I hope you
won't mind I didn't check this.
Cheers.
Tao
On Thu, 16 Aug 2007, Dal Corso Andrea wrote:
> On Wed, 2007-08-15 at 14:35 -0400, Tao Sun wrote:
> > Hi,
> >
> > When I tried to compute phonon at q=(-0.01000100010001, -1.000100010001,
> > 0.5) in a shear-strained fcc primitive cell
> >
> > CELL_PARAMETERS (alat)
> > -0.5 0.005 0.5
> > -0.005 0.5 0.5
> > -0.505 0.505 0.0
> >
> > using espresso-3.2.2
> >
> > I met the following error message:
> >
> > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> > from divide_class : error # 1
> > wrong axis
> >
> > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> >
> > stopping ...
> >
> > This error message comes from PW/divide_class.f90, in the D_2
> > symmetry part. between line 150-169:
> >
> > -----------------------------------------------------
> > ELSEIF (code_group==8) THEN
> > !
> > ! D_2
> > !
> > ! versor find the rotation axis.
> > ! is_axis(ax,ind) is true if ax the axis given by ind
> > ! (1 asse x, 2 asse y, 3 asse z).
> > !
> > DO iclass=2,nclass
> > CALL versor(smat(1,1,elem(1,iclass)),ax)
> > IF (is_axis(ax,3)) THEN
> > which_irr(iclass)=2
> > ELSEIF (is_axis(ax,2)) THEN
> > which_irr(iclass)=3
> > ELSEIF (is_axis(ax,2)) THEN
> > which_irr(iclass)=4
> > ELSE
> > CALL errore('divide_class','wrong axis',1)
> > ENDIF
> > ENDDO
> > -----------------------------------------------------
> >
>
> You are right, divide_class is wrong for D_2. Thank you for reporting
> this. Actually in your system two of the three C_2 axes are not parallel
> to x or y, so even correcting the bug will not solve the problem.
>
> One possibility is to take C_2 parallel to the axis of
> the first rotation, C_2' parallel to the axis of the
> second rotation, and C_2'' parallel to the axis of the third rotation.
> This can be done substituting the loop over classes with:
>
> DO iclass=2,nclass
> which_irr(iclass)=iclass
> ENDDO
>
> For divide_class_so we can do the same thing. The loop over the
> classes becomes:
>
>
> first=.true.
> DO iclass=2,nclass
> ts=tipo_sym(smat(1,1,elem(1,iclass)))
> IF (ts==1) THEN
> which_irr(iclass)=2
> first=.false.
> ELSE
> if (first) then
> which_irr(iclass)=iclass+1
> else
> which_irr(iclass)=iclass
> endif
> END IF
> ENDDO
>
>
> Hope this helps.
>
> Andrea
>
>
>
>
>
> > The duplicated condition (is_axis(ax,2)) looks suspicious,
> > but when I changed one of them into is_axis(ax,1), the
> > error is still there.
> >
> > If I remove the CALL errore(... sentence, the code can
> > compute the eigen-values, except gives weird symmetry
> > label to each mode, as:
> >
> > ---------------------------------------------------------
> > Mode symmetry, D_2 (222) point group:
> >
> > omega( 1 - 1) = 81.09814 [cm-1] --> ?
> > omega( 1 - 1) = 81.09814 [cm-1] --> A
> > omega( 1 - 1) = 81.09814 [cm-1] --> ?
> > omega( 1 - 1) = 81.09814 [cm-1] --> B_1
> > omega( 2 - 2) = 111.55732 [cm-1] --> ?
> > omega( 2 - 2) = 111.55732 [cm-1] --> B_2
> > omega( 2 - 2) = 111.55732 [cm-1] --> ?
> > omega( 2 - 2) = 111.55732 [cm-1] --> B_3
> > omega( 3 - 3) = 124.59709 [cm-1] --> ?
> > omega( 3 - 3) = 124.59709 [cm-1] --> B_2
> > omega( 3 - 3) = 124.59709 [cm-1] --> ?
> > omega( 3 - 3) = 124.59709 [cm-1] --> B_3
> > ------------------------------------------------------
> >
> > This error is independent of the system, we observe the
> > same behavior in two different fcc crystals(MgO and Pt).
> >
> > BTW, similar problem exists in PW/divide_class_so.f90
> > while q points of other symmetry type(e.g. D_2h) seems OK.
> >
> > It will be great if somebody can help us fix the problem.
> >
> > Cheers.
> >
> > Tao Sun
> >
> > Graduate Student
> > Dept. of Physics & Astronomy
> > SUNY at Stony Brook
> >
> >
> > _______________________________________________
> > Pw_forum mailing list
> > Pw_forum at pwscf.org
> > http://www.democritos.it/mailman/listinfo/pw_forum
>
More information about the Pw_forum
mailing list