|
1 | 1 |
|
2 | 2 | # *SymmetryFinder*: platform-independent symmetry finder, wrapping Spglib code |
3 | | -# *SymmetryHandler*: symmetry inferences for 0D, 1D, 2D and 3D-systems |
| 3 | +# *SymmetryHandler*: symmetry inferences for 0D-, 1D-, 2D- and 3D-systems |
4 | 4 | # Author: Evgeny Blokhin |
5 | | -# v021215 |
| 5 | +# v080416 |
6 | 6 |
|
7 | 7 | import os, sys |
8 | 8 |
|
@@ -71,20 +71,22 @@ def __init__(self, tilde_obj, accuracy=None): |
71 | 71 | SymmetryFinder.__init__(self, accuracy) |
72 | 72 | SymmetryFinder.get_spacegroup(self, tilde_obj) |
73 | 73 |
|
74 | | - # Tables from Bandura-Evarestov book |
75 | | - # "Non-emp calculations of crystals", 2004, ISBN 5-288-03401-X |
| 74 | + # Data below are taken from Table 2.3 of the book |
| 75 | + # Robert A. Evarestov, Quantum Chemistry of Solids, |
| 76 | + # LCAO Treatment of Crystals and Nanostructures, 2nd Edition, |
| 77 | + # Springer, 2012, http://dx.doi.org/10.1007/978-3-642-30356-2 |
| 78 | + # NB 7 crystal systems != 7 lattice systems |
76 | 79 |
|
77 | | - # space group 2 crystal system |
78 | | - # TODO: only for 3d systems |
| 80 | + # space group to crystal system conversion |
79 | 81 | if 195 <= self.n <= 230: self.symmetry = 'cubic' |
80 | 82 | elif 168 <= self.n <= 194: self.symmetry = 'hexagonal' |
81 | | - elif 143 <= self.n <= 167: self.symmetry = 'rhombohedral' |
| 83 | + elif 143 <= self.n <= 167: self.symmetry = 'trigonal' |
82 | 84 | elif 75 <= self.n <= 142: self.symmetry = 'tetragonal' |
83 | 85 | elif 16 <= self.n <= 74: self.symmetry = 'orthorhombic' |
84 | 86 | elif 3 <= self.n <= 15: self.symmetry = 'monoclinic' |
85 | 87 | elif 1 <= self.n <= 2: self.symmetry = 'triclinic' |
86 | 88 |
|
87 | | - # space group 2 point group |
| 89 | + # space group to point group conversion |
88 | 90 | if 221 <= self.n <= 230: self.pg = 'O<sub>h</sub>' |
89 | 91 | elif 215 <= self.n <= 220: self.pg = 'T<sub>d</sub>' |
90 | 92 | elif 207 <= self.n <= 214: self.pg = 'O' |
@@ -118,7 +120,7 @@ def __init__(self, tilde_obj, accuracy=None): |
118 | 120 | elif self.n == 2: self.pg = 'C<sub>i</sub>' |
119 | 121 | elif self.n == 1: self.pg = 'C<sub>1</sub>' |
120 | 122 |
|
121 | | - # space group 2 layer group |
| 123 | + # space group to layer group conversion |
122 | 124 | if tilde_obj.structures[-1].periodicity == 2: |
123 | 125 | if self.n in [25, 26, 28, 51]: |
124 | 126 | tilde_obj.warning('Warning! Diperiodical group setting is undefined!') |
|
0 commit comments