Hi,

I was looking into your struct file:

a) Your angles are NOT exactly 90, but presumably you want 90.0000:
 10.684512  7.555091 29.500000 90.000001 90.000001 90.000001

This poses a problem to symmetry, which cannot find the pointgroups of
the atoms. So please remove the rounding errors of your struct file generator and edit this and set it to 90 degree.

b) With respect to the transformation done by sgroup:
This surface has spacegroup 6 (P m), i.e. a monoclinic SG (although the angles are 90 degree !!). It has 2 symm.ops, E and one mirror-plane.
sgroup wants to use a "standard setting" and thus transforms the
lattice parameters/coordinates such that it obtains a m_z operation.

However, this is an example where there is no need to follow the suggestions of sgroup. You can safely ignore it and use the struct-file generated by symmetry. It leaves all positions as entered, will find a m_y instead of a m_z, which is perfectly fine.

----------------------------------------------------
As a general rule: For an struct file, where symmetry is not known, one should run:

x nn    and accept changes due to different multiplicities of atoms
        repeat   x nn   until no error remains.

x sgroup Check if sgroup has "reduced" the cell, i.e. the new cell has less atoms/unitcell than the old one. If this is the case, you MUST accept the struct file from sgroup. If sgroup does nothing else than reordering a,b,c, or SOMETIMES even when changing the Lattice type (from F to B, ...; but the number of atoms remains unchanged), I would most likely NOT accept the structure of sgroup, if in addition:

x symmetry Check, if it finds the same number of symops and point symmetries of all atoms as in case.outputsgroup. In this case, you do NOT need to accept the changes of sgroup. The only exception: when there is a message:
"INVERSION was found, but you must translate the origin."
In this case again, you MUST accept the changes by sgroup (or adapt the positions yourself).

--------------------
PS: Do not put "1" symmetry operation (identity) into your struct file, just leave it at "0". Only then, symmetry will write a new struct file

PPS: sgroup knows the "default settings" and depending on your particular case will convert the structure into this default setting.
It also will reorder the positions listing all As atoms first, then all Ga.

case.outputsgroup lists the tranformations:

===== Decomposition of new basis vectors over input basis =====
 0.000000   0.000000 -1.000000  <--- 1
 1.000000   0.000000  0.000000  <--- 2
 0.000000  -1.000000  0.000000  <--- 3

and:
============================================================
Note that shift vectors for this space group are defined
only up to the vector { X, Y, 0 }.
Here X and Y can take any values.

===== Number of possible shift vectors: 2 =====
===== List of shift vectors:
 0.0000   0.0000   0.0000
 0.0000   0.0000   0.5000

This tells you that the new positions can be arbitrarely shifted by x and/or y, but z only by 0 or 0.5.


On 12/14/2014 05:17 PM, John Rundgren wrote:
Dear Prof. Blaha,

My GaAs110.struct has the set of atoms,
   As: X=0.03890680 Y=0.00000000 Z=0.00000000
   Ga: X=0.81013380 Y=0.50000000 Z=0.04399220
   Ga: X=0.25000000 Y=0.00000000 Z=0.13835920
   As: X=0.50000000 Y=0.50000000 Z=0.14028120
   Ga: X=0.75000000 Y=0.50000000 Z=0.26737257
   As: X=0.00000000 Y=0.00000000 Z=0.26737257
   Ga: X=0.25000000 Y=0.00000000 Z=0.39542496
   As: X=0.50000000 Y=0.50000000 Z=0.39542496
   Ga: X=0.75000000 Y=0.50000000 Z=0.52347735
   As: X=0.00000000 Y=0.00000000 Z=0.52347735
   Ga: X=0.25000000 Y=0.00000000 Z=0.65152974
   As: X=0.50000000 Y=0.50000000 Z=0.65152974

GaAs110.struct_sgroup generates the following set,
  0.65152974   0.53890680  0.50000000
  As
  0.51124854   0.00000000  0.00000000
  As
  0.38415717   0.50000000  0.50000000
  As
  0.25610478   0.00000000  0.00000000
  As
  0.12805239   0.50000000  0.50000000
  As
  0.00000000   0.00000000  0.00000000
  As
  0.25610478   0.75000000  0.50000000
  Ga
  0.60753754   0.31013380  0.00000000
  Ga
  0.12805239   0.25000000  0.00000000
  Ga
  0.38415717   0.25000000  0.00000000
  Ga
  0.00000000   0.75000000  0.50000000
  Ga
  0.51317054   0.75000000  0.50000000
  Ga

How can I get the permutation of atoms
   struct <-> struct_sgroup?

I need this permutation many times (and correctly) in LEED applications.
Does it exist in some output, or is it conveniently available in the code?

Manual search is an awkward alternative.
Regards,
John Rundgren, KTH

_______________________________________________
Wien mailing list
[email protected]
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:
http://www.mail-archive.com/[email protected]/index.html

--

                                      P.Blaha
--------------------------------------------------------------------------
Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
Phone: +43-1-58801-165300             FAX: +43-1-58801-165982
Email: [email protected]    WIEN2k: http://www.wien2k.at
WWW:   http://www.imc.tuwien.ac.at/staff/tc_group_e.php
--------------------------------------------------------------------------
_______________________________________________
Wien mailing list
[email protected]
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:  
http://www.mail-archive.com/[email protected]/index.html

Reply via email to