1 // $Id: read_flp.h 900 2009-08-13 20:00:45Z larry $
2 //
3 // read_flp.h - header file to match the Fortran 90 TYPE statements used in FullProf
4 //
5 // part of DRAWxtl, Copyright 2005 by L. W. Finger, M. Kroeker, and B. Topy
6 //
7 #ifndef READ_FLP
8 #define READ_FLP
9 struct crystal_cell_type
10 {
11     float cell[3];
12     float ang[3];
13     float cell_std[3];
14     float ang_std[3];
15     float rcell[3];
16     float rang[3];
17     float GD[3][3];
18     float GR[3][3];
19     float Gr_Orth_cel[3][3];
20     float Orth_Gr_cel[3][3];
21     float CellVol;
22     float RCellVol;
23     char CartType;
24 };
25 
26 struct Sym_Oper_Type
27 {
28     int Rot[3][3];
29     float Tr[3];
30 };
31 
32 struct wyck_pos_type
33 {
34     int multp;
35     char site[6];
36     int norb;
37     char str_orbit[48][40];
38     char extra_orbit[MXSYM][40];
39 };
40 
41 struct wyckoff_type
42 {
43     int num_orbit;
44     struct wyck_pos_type orbit[26];
45 };
46 
47 struct space_group_type
48 {
49     int NumSpg;
50     char SPG_Symb[20];
51     char Nall[16];
52     char CrystalSys[12];
53     char Laue[5];
54     char PG[5];
55     char Info[5];
56     char SG_Setting[80];
57     int Hexa;
58     char SPG_lat;
59     char SPG_latsy[2];
60     int NumLat;
61     float Latt_Trans[12][3];
62     char Bravais[51];
63     char Centre[80];
64     int Centred;
65     float Centre_coord[3];
66     int NumOps;
67     int Multip;
68     int Num_gen;
69     struct Sym_Oper_Type Centre_Coord[MXSYM];
70     char SymopSymb[MXSYM][40];
71     struct wyckoff_type Wyckoff;
72     float R_Asym_Unit[2][3];
73 };
74 
75 struct space_group
76 {
77     char spgr[20];
78     struct space_group_type grp_espacial;
79 };
80 
81 struct Atom_Type
82 {
83     char Lab[10];
84     char ChemSymb[2];
85     char SfacSymb[4];
86     int active;
87     int Z;
88     int mult;
89     float x[3];
90     float x_std[3];
91     int lx[3];
92     float occ;
93     float occ_std;
94     float mOcc;
95     int lOcc;
96     float Biso;
97     float Biso_std;
98     float mBiso;
99     int lBiso;
100     char utype[4];
101     char thtype[5];
102     float U[6];
103     float U_std[6];
104     float Ueq;
105     float mU[6];
106     float lU[6];
107     float Charge;
108     float Moment;
109     int Ind[5];
110     int Nvar;
111     float VarF[10];
112 };
113 
114 struct FFT_param
115 {
116     int ngrid[3];
117     float denmin;
118     float denmax;
119     float xlim[2];
120     float ylim[2];
121     float zlim[2];
122     float xinx;
123     float yinc;
124     float zinc;
125 };
126 #endif
127