[Wien] struct <-> struct_sgroup
Peter Blaha
pblaha at theochem.tuwien.ac.at
Tue Dec 16 09:09:34 CET 2014
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
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
> SEARCH the MAILING-LIST at:
> http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/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: blaha at theochem.tuwien.ac.at WIEN2k: http://www.wien2k.at
WWW: http://www.imc.tuwien.ac.at/staff/tc_group_e.php
--------------------------------------------------------------------------
More information about the Wien
mailing list