1774 lines
42 KiB
C
1774 lines
42 KiB
C
/*
|
|
Space Group Info's (c) 1994-96 Ralf W. Grosse-Kunstleve
|
|
*/
|
|
|
|
#ifndef SGINFO_H__
|
|
#define SGINFO_H__
|
|
|
|
|
|
#ifndef SGCLIB_C__
|
|
extern
|
|
const char *SgError;
|
|
#ifdef SGCOREDEF__
|
|
extern
|
|
char SgErrorBuffer[128];
|
|
#endif
|
|
#else
|
|
const char *SgError = NULL;
|
|
char SgErrorBuffer[128];
|
|
#endif
|
|
|
|
|
|
#define STBF 12 /* Seitz Matrix Translation Base Factor */
|
|
|
|
#define CRBF 12 /* Change of Basis Matrix Rotation Base Factor */
|
|
#define CTBF 72 /* Change of Basis Matrix Translation Base Factor */
|
|
|
|
/* CAUTION: (CTBF / STBF) has to be an INTEGER */
|
|
|
|
|
|
typedef struct {
|
|
int Code;
|
|
int nTrVector;
|
|
int *TrVector;
|
|
} T_LatticeInfo;
|
|
|
|
|
|
typedef union {
|
|
struct {
|
|
int R[9], T[3];
|
|
} s;
|
|
int a[12];
|
|
} T_RTMx;
|
|
|
|
|
|
typedef struct {
|
|
int EigenVector[3];
|
|
int Order;
|
|
int Inverse;
|
|
int RefAxis;
|
|
int DirCode;
|
|
} T_RotMxInfo;
|
|
|
|
|
|
typedef struct {
|
|
const char *HallSymbol;
|
|
int SgNumber;
|
|
const char *Extension;
|
|
const char *SgLabels;
|
|
} T_TabSgName;
|
|
|
|
|
|
#define MaxLenHallSymbol 39
|
|
|
|
|
|
typedef struct {
|
|
int GenOption;
|
|
int Centric;
|
|
int InversionOffOrigin;
|
|
const T_LatticeInfo *LatticeInfo;
|
|
int StatusLatticeTr;
|
|
int OriginShift[3];
|
|
int nList;
|
|
int MaxList;
|
|
T_RTMx *ListSeitzMx;
|
|
T_RotMxInfo *ListRotMxInfo;
|
|
int OrderL;
|
|
int OrderP;
|
|
int XtalSystem;
|
|
int UniqueRefAxis;
|
|
int UniqueDirCode;
|
|
int ExtraInfo;
|
|
int PointGroup;
|
|
int nGenerator;
|
|
int Generator_iList[4];
|
|
char HallSymbol[MaxLenHallSymbol + 1];
|
|
const T_TabSgName *TabSgName;
|
|
const int *CCMx_LP;
|
|
int n_si_Vector;
|
|
int si_Vector[9];
|
|
int si_Modulus[3];
|
|
} T_SgInfo;
|
|
|
|
/* T_Sginfo.GenOption: 0 = full group generation
|
|
1 = trusted:
|
|
set Centric/InversionOffOrigin/LatticeInfo only
|
|
-1 = no group generation
|
|
|
|
T_Sginfo.Centric: 0 = acentric
|
|
1 = inversion in list
|
|
-1 = inversion removed from list
|
|
|
|
T_Sginfo.StatusLatticeTr: 0 = removed from list
|
|
1 = all translation vectors in list
|
|
-1 = some translation vectors could be
|
|
missing in list
|
|
*/
|
|
|
|
|
|
typedef struct {
|
|
int M; /* Multiplicity */
|
|
int N; /* Number of equivalent hkl to follow */
|
|
int h[24]; /* If hkl == 000 M = N = 1 */
|
|
int k[24]; /* If hkl != 000 M = 2 * N */
|
|
int l[24]; /* List of hkl does not contain friedel mates */
|
|
int TH[24]; /* Phase shift relative to h[0], k[0], l[0] */
|
|
} T_Eq_hkl;
|
|
|
|
|
|
#define EI_Unknown 0
|
|
#define EI_Enantiomorphic 1
|
|
#define EI_Obverse 2
|
|
#define EI_Reverse 3
|
|
|
|
#ifndef SGCLIB_C__
|
|
extern
|
|
const char *EI_Name[];
|
|
#else
|
|
const char *EI_Name[] = {
|
|
"Unknown",
|
|
"Enantiomorphic",
|
|
"Obverse",
|
|
"Reverse"
|
|
};
|
|
#endif
|
|
|
|
|
|
#define XS_Unknown 0
|
|
#define XS_Triclinic 1
|
|
#define XS_Monoclinic 2
|
|
#define XS_Orthorhombic 3
|
|
#define XS_Tetragonal 4
|
|
#define XS_Trigonal 5
|
|
#define XS_Hexagonal 6
|
|
#define XS_Cubic 7
|
|
|
|
#ifndef SGCLIB_C__
|
|
extern
|
|
const char *XS_Name[];
|
|
#else
|
|
const char *XS_Name[] = {
|
|
"Unknown",
|
|
"Triclinic",
|
|
"Monoclinic",
|
|
"Orthorhombic",
|
|
"Tetragonal",
|
|
"Trigonal",
|
|
"Hexagonal",
|
|
"Cubic"
|
|
};
|
|
#endif
|
|
|
|
|
|
#define Make_PG_Code( i, p, l) (((i) * 33 + (p)) * 12 + (l))
|
|
#define PG_Unknown Make_PG_Code( 0, 0, 0)
|
|
#define PG_1 Make_PG_Code( 1, 1, 1)
|
|
#define PG_1b Make_PG_Code( 2, 2, 1)
|
|
#define PG_2 Make_PG_Code( 3, 3, 2)
|
|
#define PG_m Make_PG_Code( 4, 4, 2)
|
|
#define PG_2_m Make_PG_Code( 5, 5, 2)
|
|
#define PG_222 Make_PG_Code( 6, 6, 3)
|
|
#define PG_mm2 Make_PG_Code( 7, 7, 3)
|
|
#define PG_mmm Make_PG_Code( 8, 8, 3)
|
|
#define PG_4 Make_PG_Code( 9, 9, 4)
|
|
#define PG_4b Make_PG_Code(10, 10, 4)
|
|
#define PG_4_m Make_PG_Code(11, 11, 4)
|
|
#define PG_422 Make_PG_Code(12, 12, 5)
|
|
#define PG_4mm Make_PG_Code(13, 13, 5)
|
|
#define PG_4b2m Make_PG_Code(14, 14, 5)
|
|
#define PG_4bm2 Make_PG_Code(15, 14, 5)
|
|
#define PG_4_mmm Make_PG_Code(16, 15, 5)
|
|
#define PG_3 Make_PG_Code(17, 16, 6)
|
|
#define PG_3b Make_PG_Code(18, 17, 6)
|
|
#define PG_321 Make_PG_Code(19, 18, 7)
|
|
#define PG_312 Make_PG_Code(20, 18, 7)
|
|
#define PG_32 Make_PG_Code(21, 18, 7)
|
|
#define PG_3m1 Make_PG_Code(22, 19, 7)
|
|
#define PG_31m Make_PG_Code(23, 19, 7)
|
|
#define PG_3m Make_PG_Code(24, 19, 7)
|
|
#define PG_3bm1 Make_PG_Code(25, 20, 7)
|
|
#define PG_3b1m Make_PG_Code(26, 20, 7)
|
|
#define PG_3bm Make_PG_Code(27, 20, 7)
|
|
#define PG_6 Make_PG_Code(28, 21, 8)
|
|
#define PG_6b Make_PG_Code(29, 22, 8)
|
|
#define PG_6_m Make_PG_Code(30, 23, 8)
|
|
#define PG_622 Make_PG_Code(31, 24, 9)
|
|
#define PG_6mm Make_PG_Code(32, 25, 9)
|
|
#define PG_6bm2 Make_PG_Code(33, 26, 9)
|
|
#define PG_6b2m Make_PG_Code(34, 26, 9)
|
|
#define PG_6_mmm Make_PG_Code(35, 27, 9)
|
|
#define PG_23 Make_PG_Code(36, 28, 10)
|
|
#define PG_m3b Make_PG_Code(37, 29, 10)
|
|
#define PG_432 Make_PG_Code(38, 30, 11)
|
|
#define PG_4b3m Make_PG_Code(39, 31, 11)
|
|
#define PG_m3bm Make_PG_Code(40, 32, 11)
|
|
|
|
#define PG_Index(PG_Code) ((PG_Code) / (33 * 12))
|
|
#define PG_Number(PG_Code) (((PG_Code) / 12) % 33)
|
|
#define LG_Number(PG_Code) ((PG_Code) % (33 * 12))
|
|
|
|
#ifndef SGCLIB_C__
|
|
extern
|
|
const int LG_Code_of_PG_Index[];
|
|
#else
|
|
const int LG_Code_of_PG_Index[] = {
|
|
PG_Unknown,
|
|
PG_1b,
|
|
PG_1b,
|
|
PG_2_m,
|
|
PG_2_m,
|
|
PG_2_m,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_4_m,
|
|
PG_4_m,
|
|
PG_4_m,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_3b,
|
|
PG_3b,
|
|
PG_3bm1,
|
|
PG_3b1m,
|
|
PG_3bm,
|
|
PG_3bm1,
|
|
PG_3b1m,
|
|
PG_3bm,
|
|
PG_3bm1,
|
|
PG_3b1m,
|
|
PG_3bm,
|
|
PG_6_m,
|
|
PG_6_m,
|
|
PG_6_m,
|
|
PG_6_mmm,
|
|
PG_6_mmm,
|
|
PG_6_mmm,
|
|
PG_6_mmm,
|
|
PG_6_mmm,
|
|
PG_m3b,
|
|
PG_m3b,
|
|
PG_m3bm,
|
|
PG_m3bm,
|
|
PG_m3bm
|
|
};
|
|
#endif /* SGCLIB_C__ */
|
|
|
|
#ifndef SGCLIB_C__
|
|
extern
|
|
const char *PG_Names[];
|
|
#else
|
|
const char *PG_Names[] = {
|
|
"Unknown",
|
|
"1",
|
|
"-1",
|
|
"2",
|
|
"m",
|
|
"2/m",
|
|
"222",
|
|
"mm2",
|
|
"mmm",
|
|
"4",
|
|
"-4",
|
|
"4/m",
|
|
"422",
|
|
"4mm",
|
|
"-42m",
|
|
"-4m2",
|
|
"4/mmm",
|
|
"3",
|
|
"-3",
|
|
"321",
|
|
"312",
|
|
"32",
|
|
"3m1",
|
|
"31m",
|
|
"3m",
|
|
"-3m1",
|
|
"-31m",
|
|
"-3m",
|
|
"6",
|
|
"-6",
|
|
"6/m",
|
|
"622",
|
|
"6mm",
|
|
"-6m2",
|
|
"-62m",
|
|
"6/mmm",
|
|
"23",
|
|
"m-3",
|
|
"432",
|
|
"-43m",
|
|
"m-3m"
|
|
};
|
|
#endif /* SGCLIB_C__ */
|
|
|
|
|
|
#ifndef SGCLIB_C__
|
|
#ifdef SGCOREDEF__
|
|
extern const T_LatticeInfo LI_P[];
|
|
extern const T_LatticeInfo LI_A[];
|
|
extern const T_LatticeInfo LI_B[];
|
|
extern const T_LatticeInfo LI_C[];
|
|
extern const T_LatticeInfo LI_I[];
|
|
extern const T_LatticeInfo LI_R[];
|
|
extern const T_LatticeInfo LI_S[];
|
|
extern const T_LatticeInfo LI_T[];
|
|
extern const T_LatticeInfo LI_F[];
|
|
#endif
|
|
#else
|
|
#define T(i) ((i) * (STBF / 12))
|
|
static int LTr_P[] = { T(0), T(0), T(0)
|
|
};
|
|
const T_LatticeInfo LI_P[] = { {'P', 1, LTr_P}
|
|
};
|
|
static int LTr_A[] = { T(0), T(0), T(0),
|
|
T(0), T(6), T(6)
|
|
};
|
|
const T_LatticeInfo LI_A[] = { {'A', 2, LTr_A}
|
|
};
|
|
static int LTr_B[] = { T(0), T(0), T(0),
|
|
T(6), T(0), T(6)
|
|
};
|
|
const T_LatticeInfo LI_B[] = { {'B', 2, LTr_B}
|
|
};
|
|
static int LTr_C[] = { T(0), T(0), T(0),
|
|
T(6), T(6), T(0)
|
|
};
|
|
const T_LatticeInfo LI_C[] = { {'C', 2, LTr_C}
|
|
};
|
|
static int LTr_I[] = { T(0), T(0), T(0),
|
|
T(6), T(6), T(6)
|
|
};
|
|
const T_LatticeInfo LI_I[] = { {'I', 2, LTr_I}
|
|
};
|
|
static int LTr_R[] = { T(0), T(0), T(0),
|
|
T(8), T(4), T(4),
|
|
T(4), T(8), T(8)
|
|
};
|
|
const T_LatticeInfo LI_R[] = { {'R', 3, LTr_R}
|
|
};
|
|
static int LTr_S[] = { T(0), T(0), T(0),
|
|
T(4), T(4), T(8),
|
|
T(8), T(8), T(4)
|
|
};
|
|
const T_LatticeInfo LI_S[] = { {'S', 3, LTr_S}
|
|
};
|
|
static int LTr_T[] = { T(0), T(0), T(0),
|
|
T(4), T(8), T(4),
|
|
T(8), T(4), T(8)
|
|
};
|
|
const T_LatticeInfo LI_T[] = { {'T', 3, LTr_T}
|
|
};
|
|
static int LTr_F[] = { T(0), T(0), T(0),
|
|
T(0), T(6), T(6),
|
|
T(6), T(0), T(6),
|
|
T(6), T(6), T(0)
|
|
};
|
|
const T_LatticeInfo LI_F[] = { {'F', 4, LTr_F}
|
|
};
|
|
|
|
#undef T
|
|
#endif /* SGCLIB_C__ */
|
|
|
|
/*
|
|
lattice code
|
|
R S T
|
|
unique axis
|
|
3z obv - rev
|
|
3y rev obv -
|
|
3x - rev obv
|
|
*/
|
|
|
|
|
|
#ifndef SGCLIB_C__
|
|
#ifdef SGCOREDEF__
|
|
extern
|
|
const int CCMx_PP[];
|
|
extern
|
|
const int CCMx_AP[];
|
|
extern
|
|
const int CCMx_BP[];
|
|
extern
|
|
const int CCMx_CP[];
|
|
extern
|
|
const int CCMx_IP[];
|
|
extern
|
|
const int CCMx_RP_z[];
|
|
extern
|
|
const int CCMx_SP_y[];
|
|
extern
|
|
const int CCMx_TP_x[];
|
|
extern
|
|
const int CCMx_TP_z[];
|
|
extern
|
|
const int CCMx_RP_y[];
|
|
extern
|
|
const int CCMx_SP_x[];
|
|
extern
|
|
const int CCMx_FI_z[];
|
|
extern
|
|
const int CCMx_FI_y[];
|
|
extern
|
|
const int CCMx_FI_x[];
|
|
extern
|
|
const int CCMx_FP[];
|
|
#endif
|
|
#else
|
|
const int CCMx_PP[] = { 1, 0, 0, /* Change of Basis Matrices */
|
|
0, 1, 0, /* (coordinate transformations) */
|
|
0, 0, 1
|
|
};
|
|
const int CCMx_AP[] = { -1, 0, 0,
|
|
0, -1, 1,
|
|
0, 1, 1
|
|
};
|
|
const int CCMx_BP[] = { -1, 0, 1,
|
|
0, -1, 0,
|
|
1, 0, 1
|
|
};
|
|
const int CCMx_CP[] = { 1, 1, 0,
|
|
1, -1, 0,
|
|
0, 0, -1
|
|
};
|
|
const int CCMx_IP[] = { 0, 1, 1,
|
|
1, 0, 1,
|
|
1, 1, 0
|
|
};
|
|
const int CCMx_RP_z[] = { 1, 0, 1,
|
|
-1, 1, 1,
|
|
0, -1, 1
|
|
};
|
|
const int CCMx_SP_y[] = { 1, 1, -1,
|
|
-1, 1, 0,
|
|
0, 1, 1
|
|
};
|
|
const int CCMx_TP_x[] = { 1, 0, -1,
|
|
1, 1, 0,
|
|
1, -1, 1
|
|
};
|
|
const int CCMx_TP_z[] = { -1, 0, 1,
|
|
1, -1, 1,
|
|
0, 1, 1
|
|
};
|
|
const int CCMx_RP_y[] = { -1, 1, 1,
|
|
1, 1, 0,
|
|
0, 1, -1
|
|
};
|
|
const int CCMx_SP_x[] = { 1, 0, 1,
|
|
1, -1, 0,
|
|
1, 1, -1
|
|
};
|
|
const int CCMx_FI_z[] = { 1, 1, 0,
|
|
-1, 1, 0,
|
|
0, 0, 1
|
|
};
|
|
const int CCMx_FI_y[] = { 1, 0, -1,
|
|
0, 1, 0,
|
|
1, 0, 1
|
|
};
|
|
const int CCMx_FI_x[] = { 1, 0, 0,
|
|
0, 1, 1,
|
|
0, -1, 1
|
|
};
|
|
const int CCMx_FP[] = { -1, 1, 1,
|
|
1, -1, 1,
|
|
1, 1, -1
|
|
};
|
|
#endif /* SGCLIB_C__ */
|
|
|
|
|
|
#if defined(SGCLIB_C__) || defined(SGCOREDEF__)
|
|
typedef struct {
|
|
int Order;
|
|
int EigenVector[3];
|
|
int DirCode;
|
|
int RMx[9];
|
|
} T_TabXtalRotMx;
|
|
#endif
|
|
|
|
|
|
#ifndef SGCLIB_C__
|
|
#ifdef SGCOREDEF__
|
|
extern
|
|
const T_TabXtalRotMx TabXtalRotMx[];
|
|
#endif
|
|
#else
|
|
const T_TabXtalRotMx TabXtalRotMx[] = {
|
|
/* # EigenVector DirCode */
|
|
|
|
{ /* [ 0] */ 1, {0, 0, 0}, '.', /* CAUTION: */
|
|
{1, 0, 0, /* Reorganizing this table */
|
|
0, 1, 0, /* affects RMx_????? below. */
|
|
0, 0, 1}
|
|
},
|
|
{ /* [ 1] */ 2, {0, 0, 1}, '=',
|
|
{-1, 0, 0,
|
|
0, -1, 0,
|
|
0, 0, 1}
|
|
},
|
|
{ /* [ 2] */ 2, {1, 0, 0}, '=', /* hexagonal */
|
|
{1, -1, 0,
|
|
0, -1, 0,
|
|
0, 0, -1}
|
|
},
|
|
{ /* [ 3] */ 2, {0, 1, 0}, '=', /* hexagonal */
|
|
{-1, 0, 0,
|
|
-1, 1, 0,
|
|
0, 0, -1}
|
|
},
|
|
{ /* [ 4] */ 2, {1, 1, 0}, '"',
|
|
{0, 1, 0,
|
|
1, 0, 0,
|
|
0, 0, -1}
|
|
},
|
|
{ /* [ 5] */ 2, {1, -1, 0}, '\'',
|
|
{0, -1, 0,
|
|
-1, 0, 0,
|
|
0, 0, -1}
|
|
},
|
|
{ /* [ 6] */ 2, {2, 1, 0}, '|', /* hexagonal */
|
|
{1, 0, 0,
|
|
1, -1, 0,
|
|
0, 0, -1}
|
|
},
|
|
{ /* [ 7] */ 2, {1, 2, 0}, '\\', /* hexagonal */
|
|
{-1, 1, 0,
|
|
0, 1, 0,
|
|
0, 0, -1}
|
|
},
|
|
{ /* [ 8] */ 3, {0, 0, 1}, '=',
|
|
{0, -1, 0,
|
|
1, -1, 0,
|
|
0, 0, 1}
|
|
},
|
|
{ /* [ 9] */ 3, {1, 1, 1}, '*',
|
|
{0, 0, 1,
|
|
1, 0, 0,
|
|
0, 1, 0}
|
|
},
|
|
{ /* [10] */ 4, {0, 0, 1}, '=',
|
|
{0, -1, 0,
|
|
1, 0, 0,
|
|
0, 0, 1}
|
|
},
|
|
{ /* [11] */ 6, {0, 0, 1}, '=',
|
|
{1, -1, 0,
|
|
1, 0, 0,
|
|
0, 0, 1}
|
|
},
|
|
{0, {0, 0, 0}, 0,
|
|
{0, 0, 0,
|
|
0, 0, 0,
|
|
0, 0, 0}
|
|
}
|
|
};
|
|
#endif /* SGCLIB_C__ */
|
|
|
|
|
|
#ifndef SGCLIB_C__
|
|
#ifdef SGCOREDEF__
|
|
extern
|
|
const int *RMx_1_000;
|
|
extern
|
|
const int *RMx_2_001;
|
|
extern
|
|
const int *RMx_2_110;
|
|
extern
|
|
const int *RMx_3_001;
|
|
extern
|
|
const int *RMx_3_111;
|
|
extern
|
|
const int RMx_3i111[];
|
|
extern
|
|
const int *RMx_4_001;
|
|
extern
|
|
const int RMx_4i001[];
|
|
#endif
|
|
#else
|
|
const int *RMx_1_000 = TabXtalRotMx[0].RMx;
|
|
const int *RMx_2_001 = TabXtalRotMx[1].RMx;
|
|
const int *RMx_2_110 = TabXtalRotMx[4].RMx;
|
|
const int *RMx_3_001 = TabXtalRotMx[8].RMx;
|
|
const int *RMx_3_111 = TabXtalRotMx[9].RMx;
|
|
const int RMx_3i111[] = {
|
|
0, 1, 0,
|
|
0, 0, 1,
|
|
1, 0, 0
|
|
};
|
|
const int *RMx_4_001 = TabXtalRotMx[10].RMx;
|
|
const int RMx_4i001[] = {
|
|
0, 1, 0,
|
|
-1, 0, 0,
|
|
0, 0, 1
|
|
};
|
|
#endif /* SGCLIB_C__ */
|
|
|
|
|
|
#ifndef SGCLIB_C__
|
|
#ifdef SGCOREDEF__
|
|
extern
|
|
const int HallTranslations[];
|
|
#endif
|
|
#else
|
|
#define T(i) ((i) * (STBF / 12))
|
|
const int HallTranslations[] = {
|
|
'n', T(6), T(6), T(6),
|
|
'a', T(6), T(0), T(0),
|
|
'b', T(0), T(6), T(0),
|
|
'c', T(0), T(0), T(6),
|
|
'd', T(3), T(3), T(3),
|
|
'u', T(3), T(0), T(0),
|
|
'v', T(0), T(3), T(0),
|
|
'w', T(0), T(0), T(3),
|
|
0
|
|
};
|
|
|
|
#undef T
|
|
#endif
|
|
|
|
|
|
#ifndef SGCLIB_C__
|
|
#ifdef SGCOREDEF__
|
|
extern
|
|
const int VolAPointGroups[];
|
|
#endif
|
|
#else
|
|
const int VolAPointGroups[] = {
|
|
PG_Unknown,
|
|
PG_1,
|
|
PG_1b,
|
|
PG_2,
|
|
PG_2,
|
|
PG_2,
|
|
PG_m,
|
|
PG_m,
|
|
PG_m,
|
|
PG_m,
|
|
PG_2_m,
|
|
PG_2_m,
|
|
PG_2_m,
|
|
PG_2_m,
|
|
PG_2_m,
|
|
PG_2_m,
|
|
PG_222,
|
|
PG_222,
|
|
PG_222,
|
|
PG_222,
|
|
PG_222,
|
|
PG_222,
|
|
PG_222,
|
|
PG_222,
|
|
PG_222,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mm2,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_mmm,
|
|
PG_4,
|
|
PG_4,
|
|
PG_4,
|
|
PG_4,
|
|
PG_4,
|
|
PG_4,
|
|
PG_4b,
|
|
PG_4b,
|
|
PG_4_m,
|
|
PG_4_m,
|
|
PG_4_m,
|
|
PG_4_m,
|
|
PG_4_m,
|
|
PG_4_m,
|
|
PG_422,
|
|
PG_422,
|
|
PG_422,
|
|
PG_422,
|
|
PG_422,
|
|
PG_422,
|
|
PG_422,
|
|
PG_422,
|
|
PG_422,
|
|
PG_422,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4mm,
|
|
PG_4b2m,
|
|
PG_4b2m,
|
|
PG_4b2m,
|
|
PG_4b2m,
|
|
PG_4bm2,
|
|
PG_4bm2,
|
|
PG_4bm2,
|
|
PG_4bm2,
|
|
PG_4bm2,
|
|
PG_4bm2,
|
|
PG_4b2m,
|
|
PG_4b2m,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_4_mmm,
|
|
PG_3,
|
|
PG_3,
|
|
PG_3,
|
|
PG_3,
|
|
PG_3b,
|
|
PG_3b,
|
|
PG_312,
|
|
PG_321,
|
|
PG_312,
|
|
PG_321,
|
|
PG_312,
|
|
PG_321,
|
|
PG_32,
|
|
PG_3m1,
|
|
PG_31m,
|
|
PG_3m1,
|
|
PG_31m,
|
|
PG_3m,
|
|
PG_3m,
|
|
PG_3b1m,
|
|
PG_3b1m,
|
|
PG_3bm1,
|
|
PG_3bm1,
|
|
PG_3bm,
|
|
PG_3bm,
|
|
PG_6,
|
|
PG_6,
|
|
PG_6,
|
|
PG_6,
|
|
PG_6,
|
|
PG_6,
|
|
PG_6b,
|
|
PG_6_m,
|
|
PG_6_m,
|
|
PG_622,
|
|
PG_622,
|
|
PG_622,
|
|
PG_622,
|
|
PG_622,
|
|
PG_622,
|
|
PG_6mm,
|
|
PG_6mm,
|
|
PG_6mm,
|
|
PG_6mm,
|
|
PG_6bm2,
|
|
PG_6bm2,
|
|
PG_6b2m,
|
|
PG_6b2m,
|
|
PG_6_mmm,
|
|
PG_6_mmm,
|
|
PG_6_mmm,
|
|
PG_6_mmm,
|
|
PG_23,
|
|
PG_23,
|
|
PG_23,
|
|
PG_23,
|
|
PG_23,
|
|
PG_m3b,
|
|
PG_m3b,
|
|
PG_m3b,
|
|
PG_m3b,
|
|
PG_m3b,
|
|
PG_m3b,
|
|
PG_m3b,
|
|
PG_432,
|
|
PG_432,
|
|
PG_432,
|
|
PG_432,
|
|
PG_432,
|
|
PG_432,
|
|
PG_432,
|
|
PG_432,
|
|
PG_4b3m,
|
|
PG_4b3m,
|
|
PG_4b3m,
|
|
PG_4b3m,
|
|
PG_4b3m,
|
|
PG_4b3m,
|
|
PG_m3bm,
|
|
PG_m3bm,
|
|
PG_m3bm,
|
|
PG_m3bm,
|
|
PG_m3bm,
|
|
PG_m3bm,
|
|
PG_m3bm,
|
|
PG_m3bm,
|
|
PG_m3bm,
|
|
PG_m3bm
|
|
};
|
|
#endif /* SGCLIB_C__ */
|
|
|
|
|
|
#ifndef SGCLIB_C__
|
|
#ifdef SGCOREDEF__
|
|
extern
|
|
const char *SchoenfliesSymbols[];
|
|
#endif
|
|
#else
|
|
const char *SchoenfliesSymbols[] = {
|
|
NULL,
|
|
"C1^1",
|
|
"Ci^1",
|
|
"C2^1",
|
|
"C2^2",
|
|
"C2^3",
|
|
"Cs^1",
|
|
"Cs^2",
|
|
"Cs^3",
|
|
"Cs^4",
|
|
"C2h^1",
|
|
"C2h^2",
|
|
"C2h^3",
|
|
"C2h^4",
|
|
"C2h^5",
|
|
"C2h^6",
|
|
"D2^1",
|
|
"D2^2",
|
|
"D2^3",
|
|
"D2^4",
|
|
"D2^5",
|
|
"D2^6",
|
|
"D2^7",
|
|
"D2^8",
|
|
"D2^9",
|
|
"C2v^1",
|
|
"C2v^2",
|
|
"C2v^3",
|
|
"C2v^4",
|
|
"C2v^5",
|
|
"C2v^6",
|
|
"C2v^7",
|
|
"C2v^8",
|
|
"C2v^9",
|
|
"C2v^10",
|
|
"C2v^11",
|
|
"C2v^12",
|
|
"C2v^13",
|
|
"C2v^14",
|
|
"C2v^15",
|
|
"C2v^16",
|
|
"C2v^17",
|
|
"C2v^18",
|
|
"C2v^19",
|
|
"C2v^20",
|
|
"C2v^21",
|
|
"C2v^22",
|
|
"D2h^1",
|
|
"D2h^2",
|
|
"D2h^3",
|
|
"D2h^4",
|
|
"D2h^5",
|
|
"D2h^6",
|
|
"D2h^7",
|
|
"D2h^8",
|
|
"D2h^9",
|
|
"D2h^10",
|
|
"D2h^11",
|
|
"D2h^12",
|
|
"D2h^13",
|
|
"D2h^14",
|
|
"D2h^15",
|
|
"D2h^16",
|
|
"D2h^17",
|
|
"D2h^18",
|
|
"D2h^19",
|
|
"D2h^20",
|
|
"D2h^21",
|
|
"D2h^22",
|
|
"D2h^23",
|
|
"D2h^24",
|
|
"D2h^25",
|
|
"D2h^26",
|
|
"D2h^27",
|
|
"D2h^28",
|
|
"C4^1",
|
|
"C4^2",
|
|
"C4^3",
|
|
"C4^4",
|
|
"C4^5",
|
|
"C4^6",
|
|
"S4^1",
|
|
"S4^2",
|
|
"C4h^1",
|
|
"C4h^2",
|
|
"C4h^3",
|
|
"C4h^4",
|
|
"C4h^5",
|
|
"C4h^6",
|
|
"D4^1",
|
|
"D4^2",
|
|
"D4^3",
|
|
"D4^4",
|
|
"D4^5",
|
|
"D4^6",
|
|
"D4^7",
|
|
"D4^8",
|
|
"D4^9",
|
|
"D4^10",
|
|
"C4v^1",
|
|
"C4v^2",
|
|
"C4v^3",
|
|
"C4v^4",
|
|
"C4v^5",
|
|
"C4v^6",
|
|
"C4v^7",
|
|
"C4v^8",
|
|
"C4v^9",
|
|
"C4v^10",
|
|
"C4v^11",
|
|
"C4v^12",
|
|
"D2d^1",
|
|
"D2d^2",
|
|
"D2d^3",
|
|
"D2d^4",
|
|
"D2d^5",
|
|
"D2d^6",
|
|
"D2d^7",
|
|
"D2d^8",
|
|
"D2d^9",
|
|
"D2d^10",
|
|
"D2d^11",
|
|
"D2d^12",
|
|
"D4h^1",
|
|
"D4h^2",
|
|
"D4h^3",
|
|
"D4h^4",
|
|
"D4h^5",
|
|
"D4h^6",
|
|
"D4h^7",
|
|
"D4h^8",
|
|
"D4h^9",
|
|
"D4h^10",
|
|
"D4h^11",
|
|
"D4h^12",
|
|
"D4h^13",
|
|
"D4h^14",
|
|
"D4h^15",
|
|
"D4h^16",
|
|
"D4h^17",
|
|
"D4h^18",
|
|
"D4h^19",
|
|
"D4h^20",
|
|
"C3^1",
|
|
"C3^2",
|
|
"C3^3",
|
|
"C3^4",
|
|
"C3i^1",
|
|
"C3i^2",
|
|
"D3^1",
|
|
"D3^2",
|
|
"D3^3",
|
|
"D3^4",
|
|
"D3^5",
|
|
"D3^6",
|
|
"D3^7",
|
|
"C3v^1",
|
|
"C3v^2",
|
|
"C3v^3",
|
|
"C3v^4",
|
|
"C3v^5",
|
|
"C3v^6",
|
|
"D3d^1",
|
|
"D3d^2",
|
|
"D3d^3",
|
|
"D3d^4",
|
|
"D3d^5",
|
|
"D3d^6",
|
|
"C6^1",
|
|
"C6^2",
|
|
"C6^3",
|
|
"C6^4",
|
|
"C6^5",
|
|
"C6^6",
|
|
"C3h^1",
|
|
"C6h^1",
|
|
"C6h^2",
|
|
"D6^1",
|
|
"D6^2",
|
|
"D6^3",
|
|
"D6^4",
|
|
"D6^5",
|
|
"D6^6",
|
|
"C6v^1",
|
|
"C6v^2",
|
|
"C6v^3",
|
|
"C6v^4",
|
|
"D3h^1",
|
|
"D3h^2",
|
|
"D3h^3",
|
|
"D3h^4",
|
|
"D6h^1",
|
|
"D6h^2",
|
|
"D6h^3",
|
|
"D6h^4",
|
|
"T^1",
|
|
"T^2",
|
|
"T^3",
|
|
"T^4",
|
|
"T^5",
|
|
"Th^1",
|
|
"Th^2",
|
|
"Th^3",
|
|
"Th^4",
|
|
"Th^5",
|
|
"Th^6",
|
|
"Th^7",
|
|
"O^1",
|
|
"O^2",
|
|
"O^3",
|
|
"O^4",
|
|
"O^5",
|
|
"O^6",
|
|
"O^7",
|
|
"O^8",
|
|
"Td^1",
|
|
"Td^2",
|
|
"Td^3",
|
|
"Td^4",
|
|
"Td^5",
|
|
"Td^6",
|
|
"Oh^1",
|
|
"Oh^2",
|
|
"Oh^3",
|
|
"Oh^4",
|
|
"Oh^5",
|
|
"Oh^6",
|
|
"Oh^7",
|
|
"Oh^8",
|
|
"Oh^9",
|
|
"Oh^10"
|
|
};
|
|
#endif /* SGCLIB_C__ */
|
|
|
|
|
|
#ifndef SGCLIB_C__
|
|
#ifdef SGCOREDEF__
|
|
extern
|
|
const T_TabSgName TabSgName[];
|
|
#endif
|
|
#else
|
|
const T_TabSgName TabSgName[] = {
|
|
{" P 1", 1, "", "P_1"},
|
|
{"-P 1", 2, "", "P_-1"},
|
|
{" P 2y", 3, "b", "P_2 = P_1_2_1"},
|
|
{" P 2", 3, "c", "P_2 = P_1_1_2"},
|
|
{" P 2x", 3, "a", "P_2 = P_2_1_1"},
|
|
{" P 2yb", 4, "b", "P_21 = P_1_21_1"},
|
|
{" P 2c", 4, "c", "P_21 = P_1_1_21"},
|
|
{" P 2xa", 4, "a", "P_21 = P_21_1_1"},
|
|
{" C 2y", 5, "b1", "C_2 = C_1_2_1"},
|
|
{" A 2y", 5, "b2", "C_2 = A_1_2_1"},
|
|
{" I 2y", 5, "b3", "C_2 = I_1_2_1"},
|
|
{" A 2", 5, "c1", "C_2 = A_1_1_2"},
|
|
{" B 2", 5, "c2", "C_2 = B_1_1_2 = B_2"},
|
|
{" I 2", 5, "c3", "C_2 = I_1_1_2"},
|
|
{" B 2x", 5, "a1", "C_2 = B_2_1_1"},
|
|
{" C 2x", 5, "a2", "C_2 = C_2_1_1"},
|
|
{" I 2x", 5, "a3", "C_2 = I_2_1_1"},
|
|
{" P -2y", 6, "b", "P_m = P_1_m_1"},
|
|
{" P -2", 6, "c", "P_m = P_1_1_m"},
|
|
{" P -2x", 6, "a", "P_m = P_m_1_1"},
|
|
{" P -2yc", 7, "b1", "P_c = P_1_c_1"},
|
|
{" P -2yac", 7, "b2", "P_c = P_1_n_1"},
|
|
{" P -2ya", 7, "b3", "P_c = P_1_a_1"},
|
|
{" P -2a", 7, "c1", "P_c = P_1_1_a"},
|
|
{" P -2ab", 7, "c2", "P_c = P_1_1_n"},
|
|
{" P -2b", 7, "c3", "P_c = P_1_1_b = P_b"},
|
|
{" P -2xb", 7, "a1", "P_c = P_b_1_1"},
|
|
{" P -2xbc", 7, "a2", "P_c = P_n_1_1"},
|
|
{" P -2xc", 7, "a3", "P_c = P_c_1_1"},
|
|
{" C -2y", 8, "b1", "C_m = C_1_m_1"},
|
|
{" A -2y", 8, "b2", "C_m = A_1_m_1"},
|
|
{" I -2y", 8, "b3", "C_m = I_1_m_1"},
|
|
{" A -2", 8, "c1", "C_m = A_1_1_m"},
|
|
{" B -2", 8, "c2", "C_m = B_1_1_m = B_m"},
|
|
{" I -2", 8, "c3", "C_m = I_1_1_m"},
|
|
{" B -2x", 8, "a1", "C_m = B_m_1_1"},
|
|
{" C -2x", 8, "a2", "C_m = C_m_1_1"},
|
|
{" I -2x", 8, "a3", "C_m = I_m_1_1"},
|
|
{" C -2yc", 9, "b1", "C_c = C_1_c_1"},
|
|
{" A -2yac", 9, "b2", "C_c = A_1_n_1"},
|
|
{" I -2ya", 9, "b3", "C_c = I_1_a_1"},
|
|
{" A -2ya", 9, "-b1", "C_c = A_1_a_1"},
|
|
{" C -2ybc", 9, "-b2", "C_c = C_1_n_1"},
|
|
{" I -2yc", 9, "-b3", "C_c = I_1_c_1"},
|
|
{" A -2a", 9, "c1", "C_c = A_1_1_a"},
|
|
{" B -2bc", 9, "c2", "C_c = B_1_1_n"},
|
|
{" I -2b", 9, "c3", "C_c = I_1_1_b"},
|
|
{" B -2b", 9, "-c1", "C_c = B_1_1_b = B_b"},
|
|
{" A -2ac", 9, "-c2", "C_c = A_1_1_n"},
|
|
{" I -2a", 9, "-c3", "C_c = I_1_1_a"},
|
|
{" B -2xb", 9, "a1", "C_c = B_b_1_1"},
|
|
{" C -2xbc", 9, "a2", "C_c = C_n_1_1"},
|
|
{" I -2xc", 9, "a3", "C_c = I_c_1_1"},
|
|
{" C -2xc", 9, "-a1", "C_c = C_c_1_1"},
|
|
{" B -2xbc", 9, "-a2", "C_c = B_n_1_1"},
|
|
{" I -2xb", 9, "-a3", "C_c = I_b_1_1"},
|
|
{"-P 2y", 10, "b", "P_2/m = P_1_2/m_1"},
|
|
{"-P 2", 10, "c", "P_2/m = P_1_1_2/m"},
|
|
{"-P 2x", 10, "a", "P_2/m = P_2/m_1_1"},
|
|
{"-P 2yb", 11, "b", "P_21/m = P_1_21/m_1"},
|
|
{"-P 2c", 11, "c", "P_21/m = P_1_1_21/m"},
|
|
{"-P 2xa", 11, "a", "P_21/m = P_21/m_1_1"},
|
|
{"-C 2y", 12, "b1", "C_2/m = C_1_2/m_1"},
|
|
{"-A 2y", 12, "b2", "C_2/m = A_1_2/m_1"},
|
|
{"-I 2y", 12, "b3", "C_2/m = I_1_2/m_1"},
|
|
{"-A 2", 12, "c1", "C_2/m = A_1_1_2/m"},
|
|
{"-B 2", 12, "c2", "C_2/m = B_1_1_2/m = B_2/m"},
|
|
{"-I 2", 12, "c3", "C_2/m = I_1_1_2/m"},
|
|
{"-B 2x", 12, "a1", "C_2/m = B_2/m_1_1"},
|
|
{"-C 2x", 12, "a2", "C_2/m = C_2/m_1_1"},
|
|
{"-I 2x", 12, "a3", "C_2/m = I_2/m_1_1"},
|
|
{"-P 2yc", 13, "b1", "P_2/c = P_1_2/c_1"},
|
|
{"-P 2yac", 13, "b2", "P_2/c = P_1_2/n_1"},
|
|
{"-P 2ya", 13, "b3", "P_2/c = P_1_2/a_1"},
|
|
{"-P 2a", 13, "c1", "P_2/c = P_1_1_2/a"},
|
|
{"-P 2ab", 13, "c2", "P_2/c = P_1_1_2/n"},
|
|
{"-P 2b", 13, "c3", "P_2/c = P_1_1_2/b = P_2/b"},
|
|
{"-P 2xb", 13, "a1", "P_2/c = P_2/b_1_1"},
|
|
{"-P 2xbc", 13, "a2", "P_2/c = P_2/n_1_1"},
|
|
{"-P 2xc", 13, "a3", "P_2/c = P_2/c_1_1"},
|
|
{"-P 2ybc", 14, "b1", "P_21/c = P_1_21/c_1"},
|
|
{"-P 2yn", 14, "b2", "P_21/c = P_1_21/n_1"},
|
|
{"-P 2yab", 14, "b3", "P_21/c = P_1_21/a_1"},
|
|
{"-P 2ac", 14, "c1", "P_21/c = P_1_1_21/a"},
|
|
{"-P 2n", 14, "c2", "P_21/c = P_1_1_21/n"},
|
|
{"-P 2bc", 14, "c3", "P_21/c = P_1_1_21/b = P_21/b"},
|
|
{"-P 2xab", 14, "a1", "P_21/c = P_21/b_1_1"},
|
|
{"-P 2xn", 14, "a2", "P_21/c = P_21/n_1_1"},
|
|
{"-P 2xac", 14, "a3", "P_21/c = P_21/c_1_1"},
|
|
{"-C 2yc", 15, "b1", "C_2/c = C_1_2/c_1"},
|
|
{"-A 2yac", 15, "b2", "C_2/c = A_1_2/n_1"},
|
|
{"-I 2ya", 15, "b3", "C_2/c = I_1_2/a_1"},
|
|
{"-A 2ya", 15, "-b1", "C_2/c = A_1_2/a_1"},
|
|
{"-C 2ybc", 15, "-b2", "C_2/c = C_1_2/n_1"},
|
|
{"-I 2yc", 15, "-b3", "C_2/c = I_1_2/c_1"},
|
|
{"-A 2a", 15, "c1", "C_2/c = A_1_1_2/a"},
|
|
{"-B 2bc", 15, "c2", "C_2/c = B_1_1_2/n"},
|
|
{"-I 2b", 15, "c3", "C_2/c = I_1_1_2/b"},
|
|
{"-B 2b", 15, "-c1", "C_2/c = B_1_1_2/b = B_2/b"},
|
|
{"-A 2ac", 15, "-c2", "C_2/c = A_1_1_2/n"},
|
|
{"-I 2a", 15, "-c3", "C_2/c = I_1_1_2/a"},
|
|
{"-B 2xb", 15, "a1", "C_2/c = B_2/b_1_1"},
|
|
{"-C 2xbc", 15, "a2", "C_2/c = C_2/n_1_1"},
|
|
{"-I 2xc", 15, "a3", "C_2/c = I_2/c_1_1"},
|
|
{"-C 2xc", 15, "-a1", "C_2/c = C_2/c_1_1"},
|
|
{"-B 2xbc", 15, "-a2", "C_2/c = B_2/n_1_1"},
|
|
{"-I 2xb", 15, "-a3", "C_2/c = I_2/b_1_1"},
|
|
{" P 2 2", 16, "", "P_2_2_2"},
|
|
{" P 2c 2", 17, "", "P_2_2_21"},
|
|
{" P 2a 2a", 17, "cab", "P_21_2_2"},
|
|
{" P 2 2b", 17, "bca", "P_2_21_2"},
|
|
{" P 2 2ab", 18, "", "P_21_21_2"},
|
|
{" P 2bc 2", 18, "cab", "P_2_21_21"},
|
|
{" P 2ac 2ac", 18, "bca", "P_21_2_21"},
|
|
{" P 2ac 2ab", 19, "", "P_21_21_21"},
|
|
{" C 2c 2", 20, "", "C_2_2_21"},
|
|
{" A 2a 2a", 20, "cab", "A_21_2_2"},
|
|
{" B 2 2b", 20, "bca", "B_2_21_2"},
|
|
{" C 2 2", 21, "", "C_2_2_2"},
|
|
{" A 2 2", 21, "cab", "A_2_2_2"},
|
|
{" B 2 2", 21, "bca", "B_2_2_2"},
|
|
{" F 2 2", 22, "", "F_2_2_2"},
|
|
{" I 2 2", 23, "", "I_2_2_2"},
|
|
{" I 2b 2c", 24, "", "I_21_21_21"},
|
|
{" P 2 -2", 25, "", "P_m_m_2"},
|
|
{" P -2 2", 25, "cab", "P_2_m_m"},
|
|
{" P -2 -2", 25, "bca", "P_m_2_m"},
|
|
{" P 2c -2", 26, "", "P_m_c_21"},
|
|
{" P 2c -2c", 26, "ba-c", "P_c_m_21"},
|
|
{" P -2a 2a", 26, "cab", "P_21_m_a"},
|
|
{" P -2 2a", 26, "-cba", "P_21_a_m"},
|
|
{" P -2 -2b", 26, "bca", "P_b_21_m"},
|
|
{" P -2b -2", 26, "a-cb", "P_m_21_b"},
|
|
{" P 2 -2c", 27, "", "P_c_c_2"},
|
|
{" P -2a 2", 27, "cab", "P_2_a_a"},
|
|
{" P -2b -2b", 27, "bca", "P_b_2_b"},
|
|
{" P 2 -2a", 28, "", "P_m_a_2"},
|
|
{" P 2 -2b", 28, "ba-c", "P_b_m_2"},
|
|
{" P -2b 2", 28, "cab", "P_2_m_b"},
|
|
{" P -2c 2", 28, "-cba", "P_2_c_m"},
|
|
{" P -2c -2c", 28, "bca", "P_c_2_m"},
|
|
{" P -2a -2a", 28, "a-cb", "P_m_2_a"},
|
|
{" P 2c -2ac", 29, "", "P_c_a_21"},
|
|
{" P 2c -2b", 29, "ba-c", "P_b_c_21"},
|
|
{" P -2b 2a", 29, "cab", "P_21_a_b"},
|
|
{" P -2ac 2a", 29, "-cba", "P_21_c_a"},
|
|
{" P -2bc -2c", 29, "bca", "P_c_21_b"},
|
|
{" P -2a -2ab", 29, "a-cb", "P_b_21_a"},
|
|
{" P 2 -2bc", 30, "", "P_n_c_2"},
|
|
{" P 2 -2ac", 30, "ba-c", "P_c_n_2"},
|
|
{" P -2ac 2", 30, "cab", "P_2_n_a"},
|
|
{" P -2ab 2", 30, "-cba", "P_2_a_n"},
|
|
{" P -2ab -2ab", 30, "bca", "P_b_2_n"},
|
|
{" P -2bc -2bc", 30, "a-cb", "P_n_2_b"},
|
|
{" P 2ac -2", 31, "", "P_m_n_21"},
|
|
{" P 2bc -2bc", 31, "ba-c", "P_n_m_21"},
|
|
{" P -2ab 2ab", 31, "cab", "P_21_m_n"},
|
|
{" P -2 2ac", 31, "-cba", "P_21_n_m"},
|
|
{" P -2 -2bc", 31, "bca", "P_n_21_m"},
|
|
{" P -2ab -2", 31, "a-cb", "P_m_21_n"},
|
|
{" P 2 -2ab", 32, "", "P_b_a_2"},
|
|
{" P -2bc 2", 32, "cab", "P_2_c_b"},
|
|
{" P -2ac -2ac", 32, "bca", "P_c_2_a"},
|
|
{" P 2c -2n", 33, "", "P_n_a_21"},
|
|
{" P 2c -2ab", 33, "ba-c", "P_b_n_21"},
|
|
{" P -2bc 2a", 33, "cab", "P_21_n_b"},
|
|
{" P -2n 2a", 33, "-cba", "P_21_c_n"},
|
|
{" P -2n -2ac", 33, "bca", "P_c_21_n"},
|
|
{" P -2ac -2n", 33, "a-cb", "P_n_21_a"},
|
|
{" P 2 -2n", 34, "", "P_n_n_2"},
|
|
{" P -2n 2", 34, "cab", "P_2_n_n"},
|
|
{" P -2n -2n", 34, "bca", "P_n_2_n"},
|
|
{" C 2 -2", 35, "", "C_m_m_2"},
|
|
{" A -2 2", 35, "cab", "A_2_m_m"},
|
|
{" B -2 -2", 35, "bca", "B_m_2_m"},
|
|
{" C 2c -2", 36, "", "C_m_c_21"},
|
|
{" C 2c -2c", 36, "ba-c", "C_c_m_21"},
|
|
{" A -2a 2a", 36, "cab", "A_21_m_a"},
|
|
{" A -2 2a", 36, "-cba", "A_21_a_m"},
|
|
{" B -2 -2b", 36, "bca", "B_b_21_m"},
|
|
{" B -2b -2", 36, "a-cb", "B_m_21_b"},
|
|
{" C 2 -2c", 37, "", "C_c_c_2"},
|
|
{" A -2a 2", 37, "cab", "A_2_a_a"},
|
|
{" B -2b -2b", 37, "bca", "B_b_2_b"},
|
|
{" A 2 -2", 38, "", "A_m_m_2"},
|
|
{" B 2 -2", 38, "ba-c", "B_m_m_2"},
|
|
{" B -2 2", 38, "cab", "B_2_m_m"},
|
|
{" C -2 2", 38, "-cba", "C_2_m_m"},
|
|
{" C -2 -2", 38, "bca", "C_m_2_m"},
|
|
{" A -2 -2", 38, "a-cb", "A_m_2_m"},
|
|
{" A 2 -2c", 39, "", "A_b_m_2"},
|
|
{" B 2 -2c", 39, "ba-c", "B_m_a_2"},
|
|
{" B -2c 2", 39, "cab", "B_2_c_m"},
|
|
{" C -2b 2", 39, "-cba", "C_2_m_b"},
|
|
{" C -2b -2b", 39, "bca", "C_m_2_a"},
|
|
{" A -2c -2c", 39, "a-cb", "A_c_2_m"},
|
|
{" A 2 -2a", 40, "", "A_m_a_2"},
|
|
{" B 2 -2b", 40, "ba-c", "B_b_m_2"},
|
|
{" B -2b 2", 40, "cab", "B_2_m_b"},
|
|
{" C -2c 2", 40, "-cba", "C_2_c_m"},
|
|
{" C -2c -2c", 40, "bca", "C_c_2_m"},
|
|
{" A -2a -2a", 40, "a-cb", "A_m_2_a"},
|
|
{" A 2 -2ac", 41, "", "A_b_a_2"},
|
|
{" B 2 -2bc", 41, "ba-c", "B_b_a_2"},
|
|
{" B -2bc 2", 41, "cab", "B_2_c_b"},
|
|
{" C -2bc 2", 41, "-cba", "C_2_c_b"},
|
|
{" C -2bc -2bc", 41, "bca", "C_c_2_a"},
|
|
{" A -2ac -2ac", 41, "a-cb", "A_c_2_a"},
|
|
{" F 2 -2", 42, "", "F_m_m_2"},
|
|
{" F -2 2", 42, "cab", "F_2_m_m"},
|
|
{" F -2 -2", 42, "bca", "F_m_2_m"},
|
|
{" F 2 -2d", 43, "", "F_d_d_2"},
|
|
{" F -2d 2", 43, "cab", "F_2_d_d"},
|
|
{" F -2d -2d", 43, "bca", "F_d_2_d"},
|
|
{" I 2 -2", 44, "", "I_m_m_2"},
|
|
{" I -2 2", 44, "cab", "I_2_m_m"},
|
|
{" I -2 -2", 44, "bca", "I_m_2_m"},
|
|
{" I 2 -2c", 45, "", "I_b_a_2"},
|
|
{" I -2a 2", 45, "cab", "I_2_c_b"},
|
|
{" I -2b -2b", 45, "bca", "I_c_2_a"},
|
|
{" I 2 -2a", 46, "", "I_m_a_2"},
|
|
{" I 2 -2b", 46, "ba-c", "I_b_m_2"},
|
|
{" I -2b 2", 46, "cab", "I_2_m_b"},
|
|
{" I -2c 2", 46, "-cba", "I_2_c_m"},
|
|
{" I -2c -2c", 46, "bca", "I_c_2_m"},
|
|
{" I -2a -2a", 46, "a-cb", "I_m_2_a"},
|
|
{"-P 2 2", 47, "", "P_m_m_m"},
|
|
{" P 2 2 -1n", 48, "1", "P_n_n_n"},
|
|
{"-P 2ab 2bc", 48, "2", "P_n_n_n"},
|
|
{"-P 2 2c", 49, "", "P_c_c_m"},
|
|
{"-P 2a 2", 49, "cab", "P_m_a_a"},
|
|
{"-P 2b 2b", 49, "bca", "P_b_m_b"},
|
|
{" P 2 2 -1ab", 50, "1", "P_b_a_n"},
|
|
{"-P 2ab 2b", 50, "2", "P_b_a_n"},
|
|
{" P 2 2 -1bc", 50, "1cab", "P_n_c_b"},
|
|
{"-P 2b 2bc", 50, "2cab", "P_n_c_b"},
|
|
{" P 2 2 -1ac", 50, "1bca", "P_c_n_a"},
|
|
{"-P 2a 2c", 50, "2bca", "P_c_n_a"},
|
|
{"-P 2a 2a", 51, "", "P_m_m_a"},
|
|
{"-P 2b 2", 51, "ba-c", "P_m_m_b"},
|
|
{"-P 2 2b", 51, "cab", "P_b_m_m"},
|
|
{"-P 2c 2c", 51, "-cba", "P_c_m_m"},
|
|
{"-P 2c 2", 51, "bca", "P_m_c_m"},
|
|
{"-P 2 2a", 51, "a-cb", "P_m_a_m"},
|
|
{"-P 2a 2bc", 52, "", "P_n_n_a"},
|
|
{"-P 2b 2n", 52, "ba-c", "P_n_n_b"},
|
|
{"-P 2n 2b", 52, "cab", "P_b_n_n"},
|
|
{"-P 2ab 2c", 52, "-cba", "P_c_n_n"},
|
|
{"-P 2ab 2n", 52, "bca", "P_n_c_n"},
|
|
{"-P 2n 2bc", 52, "a-cb", "P_n_a_n"},
|
|
{"-P 2ac 2", 53, "", "P_m_n_a"},
|
|
{"-P 2bc 2bc", 53, "ba-c", "P_n_m_b"},
|
|
{"-P 2ab 2ab", 53, "cab", "P_b_m_n"},
|
|
{"-P 2 2ac", 53, "-cba", "P_c_n_m"},
|
|
{"-P 2 2bc", 53, "bca", "P_n_c_m"},
|
|
{"-P 2ab 2", 53, "a-cb", "P_m_a_n"},
|
|
{"-P 2a 2ac", 54, "", "P_c_c_a"},
|
|
{"-P 2b 2c", 54, "ba-c", "P_c_c_b"},
|
|
{"-P 2a 2b", 54, "cab", "P_b_a_a"},
|
|
{"-P 2ac 2c", 54, "-cba", "P_c_a_a"},
|
|
{"-P 2bc 2b", 54, "bca", "P_b_c_b"},
|
|
{"-P 2b 2ab", 54, "a-cb", "P_b_a_b"},
|
|
{"-P 2 2ab", 55, "", "P_b_a_m"},
|
|
{"-P 2bc 2", 55, "cab", "P_m_c_b"},
|
|
{"-P 2ac 2ac", 55, "bca", "P_c_m_a"},
|
|
{"-P 2ab 2ac", 56, "", "P_c_c_n"},
|
|
{"-P 2ac 2bc", 56, "cab", "P_n_a_a"},
|
|
{"-P 2bc 2ab", 56, "bca", "P_b_n_b"},
|
|
{"-P 2c 2b", 57, "", "P_b_c_m"},
|
|
{"-P 2c 2ac", 57, "ba-c", "P_c_a_m"},
|
|
{"-P 2ac 2a", 57, "cab", "P_m_c_a"},
|
|
{"-P 2b 2a", 57, "-cba", "P_m_a_b"},
|
|
{"-P 2a 2ab", 57, "bca", "P_b_m_a"},
|
|
{"-P 2bc 2c", 57, "a-cb", "P_c_m_b"},
|
|
{"-P 2 2n", 58, "", "P_n_n_m"},
|
|
{"-P 2n 2", 58, "cab", "P_m_n_n"},
|
|
{"-P 2n 2n", 58, "bca", "P_n_m_n"},
|
|
{" P 2 2ab -1ab", 59, "1", "P_m_m_n"},
|
|
{"-P 2ab 2a", 59, "2", "P_m_m_n"},
|
|
{" P 2bc 2 -1bc", 59, "1cab", "P_n_m_m"},
|
|
{"-P 2c 2bc", 59, "2cab", "P_n_m_m"},
|
|
{" P 2ac 2ac -1ac", 59, "1bca", "P_m_n_m"},
|
|
{"-P 2c 2a", 59, "2bca", "P_m_n_m"},
|
|
{"-P 2n 2ab", 60, "", "P_b_c_n"},
|
|
{"-P 2n 2c", 60, "ba-c", "P_c_a_n"},
|
|
{"-P 2a 2n", 60, "cab", "P_n_c_a"},
|
|
{"-P 2bc 2n", 60, "-cba", "P_n_a_b"},
|
|
{"-P 2ac 2b", 60, "bca", "P_b_n_a"},
|
|
{"-P 2b 2ac", 60, "a-cb", "P_c_n_b"},
|
|
{"-P 2ac 2ab", 61, "", "P_b_c_a"},
|
|
{"-P 2bc 2ac", 61, "ba-c", "P_c_a_b"},
|
|
{"-P 2ac 2n", 62, "", "P_n_m_a"},
|
|
{"-P 2bc 2a", 62, "ba-c", "P_m_n_b"},
|
|
{"-P 2c 2ab", 62, "cab", "P_b_n_m"},
|
|
{"-P 2n 2ac", 62, "-cba", "P_c_m_n"},
|
|
{"-P 2n 2a", 62, "bca", "P_m_c_n"},
|
|
{"-P 2c 2n", 62, "a-cb", "P_n_a_m"},
|
|
{"-C 2c 2", 63, "", "C_m_c_m"},
|
|
{"-C 2c 2c", 63, "ba-c", "C_c_m_m"},
|
|
{"-A 2a 2a", 63, "cab", "A_m_m_a"},
|
|
{"-A 2 2a", 63, "-cba", "A_m_a_m"},
|
|
{"-B 2 2b", 63, "bca", "B_b_m_m"},
|
|
{"-B 2b 2", 63, "a-cb", "B_m_m_b"},
|
|
{"-C 2bc 2", 64, "", "C_m_c_a"},
|
|
{"-C 2bc 2bc", 64, "ba-c", "C_c_m_b"},
|
|
{"-A 2ac 2ac", 64, "cab", "A_b_m_a"},
|
|
{"-A 2 2ac", 64, "-cba", "A_c_a_m"},
|
|
{"-B 2 2bc", 64, "bca", "B_b_c_m"},
|
|
{"-B 2bc 2", 64, "a-cb", "B_m_a_b"},
|
|
{"-C 2 2", 65, "", "C_m_m_m"},
|
|
{"-A 2 2", 65, "cab", "A_m_m_m"},
|
|
{"-B 2 2", 65, "bca", "B_m_m_m"},
|
|
{"-C 2 2c", 66, "", "C_c_c_m"},
|
|
{"-A 2a 2", 66, "cab", "A_m_a_a"},
|
|
{"-B 2b 2b", 66, "bca", "B_b_m_b"},
|
|
{"-C 2b 2", 67, "", "C_m_m_a"},
|
|
{"-C 2b 2b", 67, "ba-c", "C_m_m_b"},
|
|
{"-A 2c 2c", 67, "cab", "A_b_m_m"},
|
|
{"-A 2 2c", 67, "-cba", "A_c_m_m"},
|
|
{"-B 2 2c", 67, "bca", "B_m_c_m"},
|
|
{"-B 2c 2", 67, "a-cb", "B_m_a_m"},
|
|
{" C 2 2 -1bc", 68, "1", "C_c_c_a"},
|
|
{"-C 2b 2bc", 68, "2", "C_c_c_a"},
|
|
{" C 2 2 -1bc", 68, "1ba-c", "C_c_c_b"},
|
|
{"-C 2b 2c", 68, "2ba-c", "C_c_c_b"},
|
|
{" A 2 2 -1ac", 68, "1cab", "A_b_a_a"},
|
|
{"-A 2a 2c", 68, "2cab", "A_b_a_a"},
|
|
{" A 2 2 -1ac", 68, "1-cba", "A_c_a_a"},
|
|
{"-A 2ac 2c", 68, "2-cba", "A_c_a_a"},
|
|
{" B 2 2 -1bc", 68, "1bca", "B_b_c_b"},
|
|
{"-B 2bc 2b", 68, "2bca", "B_b_c_b"},
|
|
{" B 2 2 -1bc", 68, "1a-cb", "B_b_a_b"},
|
|
{"-B 2b 2bc", 68, "2a-cb", "B_b_a_b"},
|
|
{"-F 2 2", 69, "", "F_m_m_m"},
|
|
{" F 2 2 -1d", 70, "1", "F_d_d_d"},
|
|
{"-F 2uv 2vw", 70, "2", "F_d_d_d"},
|
|
{"-I 2 2", 71, "", "I_m_m_m"},
|
|
{"-I 2 2c", 72, "", "I_b_a_m"},
|
|
{"-I 2a 2", 72, "cab", "I_m_c_b"},
|
|
{"-I 2b 2b", 72, "bca", "I_c_m_a"},
|
|
{"-I 2b 2c", 73, "", "I_b_c_a"},
|
|
{"-I 2a 2b", 73, "ba-c", "I_c_a_b"},
|
|
{"-I 2b 2", 74, "", "I_m_m_a"},
|
|
{"-I 2a 2a", 74, "ba-c", "I_m_m_b"},
|
|
{"-I 2c 2c", 74, "cab", "I_b_m_m"},
|
|
{"-I 2 2b", 74, "-cba", "I_c_m_m"},
|
|
{"-I 2 2a", 74, "bca", "I_m_c_m"},
|
|
{"-I 2c 2", 74, "a-cb", "I_m_a_m"},
|
|
{" P 4", 75, "", "P_4"},
|
|
{" P 4w", 76, "", "P_41"},
|
|
{" P 4c", 77, "", "P_42"},
|
|
{" P 4cw", 78, "", "P_43"},
|
|
{" I 4", 79, "", "I_4"},
|
|
{" I 4bw", 80, "", "I_41"},
|
|
{" P -4", 81, "", "P_-4"},
|
|
{" I -4", 82, "", "I_-4"},
|
|
{"-P 4", 83, "", "P_4/m"},
|
|
{"-P 4c", 84, "", "P_42/m"},
|
|
{" P 4ab -1ab", 85, "1", "P_4/n"},
|
|
{"-P 4a", 85, "2", "P_4/n"},
|
|
{" P 4n -1n", 86, "1", "P_42/n"},
|
|
{"-P 4bc", 86, "2", "P_42/n"},
|
|
{"-I 4", 87, "", "I_4/m"},
|
|
{" I 4bw -1bw", 88, "1", "I_41/a"},
|
|
{"-I 4ad", 88, "2", "I_41/a"},
|
|
{" P 4 2", 89, "", "P_4_2_2"},
|
|
{" P 4ab 2ab", 90, "", "P_42_1_2"},
|
|
{" P 4w 2c", 91, "", "P_41_2_2"},
|
|
{" P 4abw 2nw", 92, "", "P_41_21_2"},
|
|
{" P 4c 2", 93, "", "P_42_2_2"},
|
|
{" P 4n 2n", 94, "", "P_42_21_2"},
|
|
{" P 4cw 2c", 95, "", "P_43_2_2"},
|
|
{" P 4nw 2abw", 96, "", "P_43_21_2"},
|
|
{" I 4 2", 97, "", "I_4_2_2"},
|
|
{" I 4bw 2bw", 98, "", "I_41_2_2"},
|
|
{" P 4 -2", 99, "", "P_4_m_m"},
|
|
{" P 4 -2ab", 100, "", "P_4_b_m"},
|
|
{" P 4c -2c", 101, "", "P_42_c_m"},
|
|
{" P 4n -2n", 102, "", "P_42_n_m"},
|
|
{" P 4 -2c", 103, "", "P_4_c_c"},
|
|
{" P 4 -2n", 104, "", "P_4_n_c"},
|
|
{" P 4c -2", 105, "", "P_42_m_c"},
|
|
{" P 4c -2ab", 106, "", "P_42_b_c"},
|
|
{" I 4 -2", 107, "", "I_4_m_m"},
|
|
{" I 4 -2c", 108, "", "I_4_c_m"},
|
|
{" I 4bw -2", 109, "", "I_41_m_d"},
|
|
{" I 4bw -2c", 110, "", "I_41_c_d"},
|
|
{" P -4 2", 111, "", "P_-4_2_m"},
|
|
{" P -4 2c", 112, "", "P_-4_2_c"},
|
|
{" P -4 2ab", 113, "", "P_-4_21_m"},
|
|
{" P -4 2n", 114, "", "P_-4_21_c"},
|
|
{" P -4 -2", 115, "", "P_-4_m_2"},
|
|
{" P -4 -2c", 116, "", "P_-4_c_2"},
|
|
{" P -4 -2ab", 117, "", "P_-4_b_2"},
|
|
{" P -4 -2n", 118, "", "P_-4_n_2"},
|
|
{" I -4 -2", 119, "", "I_-4_m_2"},
|
|
{" I -4 -2c", 120, "", "I_-4_c_2"},
|
|
{" I -4 2", 121, "", "I_-4_2_m"},
|
|
{" I -4 2bw", 122, "", "I_-4_2_d"},
|
|
{"-P 4 2", 123, "", "P_4/m_m_m"},
|
|
{"-P 4 2c", 124, "", "P_4/m_c_c"},
|
|
{" P 4 2 -1ab", 125, "1", "P_4/n_b_m"},
|
|
{"-P 4a 2b", 125, "2", "P_4/n_b_m"},
|
|
{" P 4 2 -1n", 126, "1", "P_4/n_n_c"},
|
|
{"-P 4a 2bc", 126, "2", "P_4/n_n_c"},
|
|
{"-P 4 2ab", 127, "", "P_4/m_b_m"},
|
|
{"-P 4 2n", 128, "", "P_4/m_n_c"},
|
|
{" P 4ab 2ab -1ab", 129, "1", "P_4/n_m_m"},
|
|
{"-P 4a 2a", 129, "2", "P_4/n_m_m"},
|
|
{" P 4ab 2n -1ab", 130, "1", "P_4/n_c_c"},
|
|
{"-P 4a 2ac", 130, "2", "P_4/n_c_c"},
|
|
{"-P 4c 2", 131, "", "P_42/m_m_c"},
|
|
{"-P 4c 2c", 132, "", "P_42/m_c_m"},
|
|
{" P 4n 2c -1n", 133, "1", "P_42/n_b_c"},
|
|
{"-P 4ac 2b", 133, "2", "P_42/n_b_c"},
|
|
{" P 4n 2 -1n", 134, "1", "P_42/n_n_m"},
|
|
{"-P 4ac 2bc", 134, "2", "P_42/n_n_m"},
|
|
{"-P 4c 2ab", 135, "", "P_42/m_b_c"},
|
|
{"-P 4n 2n", 136, "", "P_42/m_n_m"},
|
|
{" P 4n 2n -1n", 137, "1", "P_42/n_m_c"},
|
|
{"-P 4ac 2a", 137, "2", "P_42/n_m_c"},
|
|
{" P 4n 2ab -1n", 138, "1", "P_42/n_c_m"},
|
|
{"-P 4ac 2ac", 138, "2", "P_42/n_c_m"},
|
|
{"-I 4 2", 139, "", "I_4/m_m_m"},
|
|
{"-I 4 2c", 140, "", "I_4/m_c_m"},
|
|
{" I 4bw 2bw -1bw", 141, "1", "I_41/a_m_d"},
|
|
{"-I 4bd 2", 141, "2", "I_41/a_m_d"},
|
|
{" I 4bw 2aw -1bw", 142, "1", "I_41/a_c_d"},
|
|
{"-I 4bd 2c", 142, "2", "I_41/a_c_d"},
|
|
{" P 3", 143, "", "P_3"},
|
|
{" P 31", 144, "", "P_31"},
|
|
{" P 32", 145, "", "P_32"},
|
|
{" R 3", 146, "H", "R_3"},
|
|
{" P 3*", 146, "R", "R_3"},
|
|
{"-P 3", 147, "", "P_-3"},
|
|
{"-R 3", 148, "H", "R_-3"},
|
|
{"-P 3*", 148, "R", "R_-3"},
|
|
{" P 3 2", 149, "", "P_3_1_2"},
|
|
{" P 3 2\"", 150, "", "P_3_2_1"},
|
|
{" P 31 2c (0 0 1)", 151, "", "P_31_1_2"},
|
|
{" P 31 2\"", 152, "", "P_31_2_1"},
|
|
{" P 32 2c (0 0 -1)", 153, "", "P_32_1_2"},
|
|
{" P 32 2\"", 154, "", "P_32_2_1"},
|
|
{" R 3 2\"", 155, "H", "R_32"},
|
|
{" P 3* 2", 155, "R", "R_32"},
|
|
{" P 3 -2\"", 156, "", "P_3_m_1"},
|
|
{" P 3 -2", 157, "", "P_3_1_m"},
|
|
{" P 3 -2\"c", 158, "", "P_3_c_1"},
|
|
{" P 3 -2c", 159, "", "P_3_1_c"},
|
|
{" R 3 -2\"", 160, "H", "R_3_m"},
|
|
{" P 3* -2", 160, "R", "R_3_m"},
|
|
{" R 3 -2\"c", 161, "H", "R_3_c"},
|
|
{" P 3* -2n", 161, "R", "R_3_c"},
|
|
{"-P 3 2", 162, "", "P_-3_1_m"},
|
|
{"-P 3 2c", 163, "", "P_-3_1_c"},
|
|
{"-P 3 2\"", 164, "", "P_-3_m_1"},
|
|
{"-P 3 2\"c", 165, "", "P_-3_c_1"},
|
|
{"-R 3 2\"", 166, "H", "R_-3_m"},
|
|
{"-P 3* 2", 166, "R", "R_-3_m"},
|
|
{"-R 3 2\"c", 167, "H", "R_-3_c"},
|
|
{"-P 3* 2n", 167, "R", "R_-3_c"},
|
|
{" P 6", 168, "", "P_6"},
|
|
{" P 61", 169, "", "P_61"},
|
|
{" P 65", 170, "", "P_65"},
|
|
{" P 62", 171, "", "P_62"},
|
|
{" P 64", 172, "", "P_64"},
|
|
{" P 6c", 173, "", "P_63"},
|
|
{" P -6", 174, "", "P_-6"},
|
|
{"-P 6", 175, "", "P_6/m"},
|
|
{"-P 6c", 176, "", "P_63/m"},
|
|
{" P 6 2", 177, "", "P_6_2_2"},
|
|
{" P 61 2 (0 0 -1)", 178, "", "P_61_2_2"},
|
|
{" P 65 2 (0 0 1)", 179, "", "P_65_2_2"},
|
|
{" P 62 2c (0 0 1)", 180, "", "P_62_2_2"},
|
|
{" P 64 2c (0 0 -1)", 181, "", "P_64_2_2"},
|
|
{" P 6c 2c", 182, "", "P_63_2_2"},
|
|
{" P 6 -2", 183, "", "P_6_m_m"},
|
|
{" P 6 -2c", 184, "", "P_6_c_c"},
|
|
{" P 6c -2", 185, "", "P_63_c_m"},
|
|
{" P 6c -2c", 186, "", "P_63_m_c"},
|
|
{" P -6 2", 187, "", "P_-6_m_2"},
|
|
{" P -6c 2", 188, "", "P_-6_c_2"},
|
|
{" P -6 -2", 189, "", "P_-6_2_m"},
|
|
{" P -6c -2c", 190, "", "P_-6_2_c"},
|
|
{"-P 6 2", 191, "", "P_6/m_m_m"},
|
|
{"-P 6 2c", 192, "", "P_6/m_c_c"},
|
|
{"-P 6c 2", 193, "", "P_63/m_c_m"},
|
|
{"-P 6c 2c", 194, "", "P_63/m_m_c"},
|
|
{" P 2 2 3", 195, "", "P_2_3"},
|
|
{" F 2 2 3", 196, "", "F_2_3"},
|
|
{" I 2 2 3", 197, "", "I_2_3"},
|
|
{" P 2ac 2ab 3", 198, "", "P_21_3"},
|
|
{" I 2b 2c 3", 199, "", "I_21_3"},
|
|
{"-P 2 2 3", 200, "", "P_m_-3"},
|
|
{" P 2 2 3 -1n", 201, "1", "P_n_-3"},
|
|
{"-P 2ab 2bc 3", 201, "2", "P_n_-3"},
|
|
{"-F 2 2 3", 202, "", "F_m_-3"},
|
|
{" F 2 2 3 -1d", 203, "1", "F_d_-3"},
|
|
{"-F 2uv 2vw 3", 203, "2", "F_d_-3"},
|
|
{"-I 2 2 3", 204, "", "I_m_-3"},
|
|
{"-P 2ac 2ab 3", 205, "", "P_a_-3"},
|
|
{"-I 2b 2c 3", 206, "", "I_a_-3"},
|
|
{" P 4 2 3", 207, "", "P_4_3_2"},
|
|
{" P 4n 2 3", 208, "", "P_42_3_2"},
|
|
{" F 4 2 3", 209, "", "F_4_3_2"},
|
|
{" F 4d 2 3", 210, "", "F_41_3_2"},
|
|
{" I 4 2 3", 211, "", "I_4_3_2"},
|
|
{" P 4acd 2ab 3", 212, "", "P_43_3_2"},
|
|
{" P 4bd 2ab 3", 213, "", "P_41_3_2"},
|
|
{" I 4bd 2c 3", 214, "", "I_41_3_2"},
|
|
{" P -4 2 3", 215, "", "P_-4_3_m"},
|
|
{" F -4 2 3", 216, "", "F_-4_3_m"},
|
|
{" I -4 2 3", 217, "", "I_-4_3_m"},
|
|
{" P -4n 2 3", 218, "", "P_-4_3_n"},
|
|
{" F -4c 2 3", 219, "", "F_-4_3_c"},
|
|
{" I -4bd 2c 3", 220, "", "I_-4_3_d"},
|
|
{"-P 4 2 3", 221, "", "P_m_-3_m"},
|
|
{" P 4 2 3 -1n", 222, "1", "P_n_-3_n"},
|
|
{"-P 4a 2bc 3", 222, "2", "P_n_-3_n"},
|
|
{"-P 4n 2 3", 223, "", "P_m_-3_n"},
|
|
{" P 4n 2 3 -1n", 224, "1", "P_n_-3_m"},
|
|
{"-P 4bc 2bc 3", 224, "2", "P_n_-3_m"},
|
|
{"-F 4 2 3", 225, "", "F_m_-3_m"},
|
|
{"-F 4c 2 3", 226, "", "F_m_-3_c"},
|
|
{" F 4d 2 3 -1d", 227, "1", "F_d_-3_m"},
|
|
{"-F 4vw 2vw 3", 227, "2", "F_d_-3_m"},
|
|
{" F 4d 2 3 -1cd", 228, "1", "F_d_-3_c"},
|
|
{"-F 4cvw 2vw 3", 228, "2", "F_d_-3_c"},
|
|
{"-I 4 2 3", 229, "", "I_m_-3_m"},
|
|
{"-I 4bd 2c 3", 230, "", "I_a_-3_d"},
|
|
{NULL, 0, NULL, NULL}
|
|
};
|
|
#endif /* SGCLIB_C__ */
|
|
|
|
|
|
#define Sg_nLoopInv(SgInfo_)\
|
|
((SgInfo_)->Centric == -1 ? 2 : 1)
|
|
|
|
|
|
#define InitRotMx(RotMx, diagonal)\
|
|
{\
|
|
int private_i_;\
|
|
for (private_i_ = 0; private_i_ < 9; private_i_++)\
|
|
(RotMx)[private_i_] = (private_i_ % 4 ? 0 : diagonal);\
|
|
}
|
|
|
|
#define InitSeitzMx(SeitzMx_, diagonal)\
|
|
{\
|
|
int private_i_;\
|
|
for (private_i_ = 0; private_i_ < 12; private_i_++)\
|
|
(SeitzMx_)->a[private_i_] = (private_i_ % 4 ? 0 : diagonal);\
|
|
}
|
|
|
|
|
|
#if defined(SGCLIB_C__) || defined(SGCOREDEF__)
|
|
#define SpecialSMx_Identity 0x01
|
|
#define SpecialSMx_Inversion 0x02
|
|
#define SpecialSMx_Transl0 0x04
|
|
#endif
|
|
|
|
|
|
/* sgclib.c */
|
|
|
|
void SetSgError(const char *msg);
|
|
int iModPositive(int ix, int iy);
|
|
int traceRotMx(const int *RotMx);
|
|
int deterRotMx(const int *RotMx);
|
|
void RotMx_t_Vector(int *R_t_V, const int *RotMx, const int *Vector,
|
|
int FacTr);
|
|
void RotMxMultiply(int *rmxab, const int *rmxa, const int *rmxb);
|
|
void RotateRotMx(int *RotMx, const int *RMx, const int *InvRMx);
|
|
void SeitzMxMultiply(T_RTMx * smxab, const T_RTMx * smxa,
|
|
const T_RTMx * smxb);
|
|
void RTMxMultiply(T_RTMx * rtmxab, const T_RTMx * rtmxa,
|
|
const T_RTMx * rtmxb, int FacAug, int FacTr);
|
|
void InverseRotMx(const int *RotMx, int *InvRotMx);
|
|
void InverseRTMx(const T_RTMx * RTMx, T_RTMx * InvRTMx);
|
|
int IsSMxTransl0(const T_LatticeInfo * LatticeInfo, const int *SeitzMxT);
|
|
int CompareSeitzMx(const T_LatticeInfo * LatticeInfo,
|
|
const T_RTMx * SeitzMxA, const T_RTMx * SeitzMxB);
|
|
int GetRotMxOrder(const int *RotMx);
|
|
int GetRotMxInfo(const int *RotMx, T_RotMxInfo * RotMxInfo);
|
|
const T_RotMxInfo *ListOrBufRotMxInfo(const T_SgInfo * SgInfo, int iList,
|
|
T_RotMxInfo * BufRotMxInfo);
|
|
int Add2ListSeitzMx(T_SgInfo * SgInfo, const T_RTMx * NewSMx);
|
|
int AddInversion2ListSeitzMx(T_SgInfo * SgInfo);
|
|
int AddLatticeTr2ListSeitzMx(T_SgInfo * SgInfo,
|
|
const T_LatticeInfo * LatticeInfo);
|
|
int ApplyOriginShift(T_SgInfo * SgInfo);
|
|
int FindSeitzMx(const T_SgInfo * SgInfo,
|
|
int Order, int HonorSign, int RefAxis, int DirCode);
|
|
void InitSgInfo(T_SgInfo * SgInfo);
|
|
int CompleteSgInfo(T_SgInfo * SgInfo);
|
|
int CB_SMx(T_RTMx * CSiC,
|
|
const T_RTMx * CBMx, const T_RTMx * SMx,
|
|
const T_RTMx * InvCBMx);
|
|
int TransformSgInfo(const T_SgInfo * SgInfo, const T_RTMx * CBMx,
|
|
const T_RTMx * InvCBMx, T_SgInfo * BC_SgInfo);
|
|
|
|
/* sgio.c */
|
|
|
|
const T_TabSgName *FindTabSgNameEntry(const char *UserSgName,
|
|
int VolLetter);
|
|
unsigned int SgID_Number(const T_TabSgName * tsgn);
|
|
int ParseSymXYZ(const char *SymXYZ, T_RTMx * SeitzMx, int FacTr);
|
|
int ParseHallSymbol(const char *hsym, T_SgInfo * SgInfo);
|
|
int PrintFullHM_SgName(const T_TabSgName * tsgn, int space, FILE * fpout);
|
|
void PrintTabSgNameEntry(const T_TabSgName * tsgn, int Style, int space,
|
|
FILE * fpout);
|
|
const char *FormatFraction(int nume, int deno, int Decimal,
|
|
char *Buffer, int SizeBuffer);
|
|
const char *RTMx2XYZ(const T_RTMx * RTMx, int FacRo, int FacTr,
|
|
int Decimal, int TrFirst, int Low,
|
|
const char *Seperator,
|
|
char *BufferXYZ, int SizeBufferXYZ);
|
|
void PrintMapleRTMx(const T_RTMx * RTMx, int FacRo, int FacTr,
|
|
const char *Label, FILE * fpout);
|
|
void ListSgInfo(const T_SgInfo * SgInfo, int F_XYZ, int F_Verbose,
|
|
FILE * fpout);
|
|
|
|
|
|
/* sgfind.c */
|
|
|
|
const T_TabSgName *FindReferenceSpaceGroup(T_SgInfo * SgInfo,
|
|
T_RTMx * CBMx,
|
|
T_RTMx * InvCBMx);
|
|
|
|
/* sghkl.c */
|
|
|
|
int IsSysAbsent_hkl(const T_SgInfo * SgInfo,
|
|
int h, int k, int l, int *TH_Restriction);
|
|
int BuildEq_hkl(const T_SgInfo * SgInfo, T_Eq_hkl * Eq_hkl, int h, int k,
|
|
int l);
|
|
int AreSymEquivalent_hkl(const T_SgInfo * SgInfo, int h1, int k1, int l1,
|
|
int h2, int k2, int l2);
|
|
void SetListMin_hkl(const T_SgInfo * SgInfo, int Maxk, int Maxl, int *Minh,
|
|
int *Mink, int *Minl);
|
|
int IsSuppressed_hkl(const T_SgInfo * SgInfo, int Minh, int Mink, int Minl,
|
|
int Maxk, int Maxl, int h, int k, int l);
|
|
|
|
/* sgsi.c */
|
|
|
|
void MarkLegalOrigins(const T_SgInfo * SgInfo, int *TestField);
|
|
int Verify_si(int h, int k, int l, const int *TestField);
|
|
int Is_si(const T_SgInfo * SgInfo, int h, int k, int l);
|
|
int Set_si(T_SgInfo * SgInfo);
|
|
void Set_uvw(const T_SgInfo * SgInfo, int h, int k, int l, int *uvw);
|
|
|
|
|
|
#endif /* SGINFO_H__ */
|