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