Changeset 2039
- Timestamp:
- Nov 2, 2015 3:36:00 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIphsGUI.py
r2036 r2039 1177 1177 ################################################################################ 1178 1178 1179 SSdefault = {'SS1':{'waveType':'Fourier',' crenelType':None,'Sfrac':[],'Spos':[],'Sadp':[],'Smag':[]}}1179 SSdefault = {'SS1':{'waveType':'Fourier','Sfrac':[],'Spos':[],'Sadp':[],'Smag':[]}} 1180 1180 def FillAtomsGrid(Atoms): 1181 1181 '''Display the contents of the Atoms tab -
trunk/imports/G2phase.py
r2038 r2039 465 465 S1T = list(S1[60:63]) 466 466 waveType = waveTypes[int(S1T[1])] 467 crenelType = ''468 467 Spos = [] 469 468 Sadp = [] … … 492 491 if int(S1T[0]): #"", "Legendre" or "Xharm" in 18:27 for "crenel"! 493 492 waveType = 'Crenel/Fourier' #all waves 'Fourier' no other choice 494 crenelType = FS[18:27]495 493 Sfrac.append(file2.readline()[:18]) #if not crenel = Osin & Ocos 496 494 # else Osin & Ocos except last one is X40 = 'Center' … … 516 514 print Sfrac[i] 517 515 for i,it in enumerate(Spos): 518 if waveType in [' ZigZag','Sawtooth'] and not i:516 if waveType in ['Sawtooth',] and not i: 519 517 vals = [float(it[:9]),float(it[9:18]),float(it[18:27]),float(it[27:36])] 520 518 else: … … 533 531 Atom.append([]) 534 532 Atom.append([]) 535 Atom.append({'SS1':{'waveType':waveType,' crenelType':crenelType,'Sfrac':Sfrac,'Spos':Spos,'Sadp':Sadp,'Smag':Smag}}) #SS2 is for (3+2), etc.533 Atom.append({'SS1':{'waveType':waveType,'Sfrac':Sfrac,'Spos':Spos,'Sadp':Sadp,'Smag':Smag}}) #SS2 is for (3+2), etc. 536 534 Atoms.append(Atom) 537 535 file2.close() -
trunk/imports/G2phase_CIF.py
r2038 r2039 183 183 anisokeys = [] 184 184 anisolabels = [] 185 if Super: 186 occFloop = None 187 occCloop = None 188 occFdict = {} 189 cooCdict = {} 190 displSloop = None 191 displFloop = None 192 dispSdict = {} 193 dispFdict = {} 194 UijFloop = None 195 UijFdict = {} 196 if blk.get('_atom_site_occ_Fourier_atom_site_label'): 197 occFloop = blk.GetLoop('_atom_site_occ_Fourier_atom_site_label') 198 occFdict = dict(occFloop.items()) 199 if blk.get('_atom_site_occ_special_func_atom_site_label'): #Crenel (i.e. Block Wave) occ 200 occCloop = blk.GetLoop('_atom_site_occ_special_func_atom_site_label') 201 occCdict = dict(occCloop.items()) 202 if blk.get('_atom_site_displace_Fourier_atom_site_label'): 203 displFloop = blk.GetLoop('_atom_site_displace_Fourier_atom_site_label') 204 displFdict = dict(displFloop.items()) 205 if blk.get('_atom_site_displace_special_func_atom_site_label'): #sawtooth 206 displSloop = blk.GetLoop('_atom_site_displace_special_func_atom_site_label') 207 displSdict = dict(displSloop.items()) 208 if blk.get('_atom_site_U_Fourier_atom_site_label'): 209 UijFloop = blk.GetLoop('_atom_site_U_Fourier_atom_site_label') 210 UijFdict = dict(UijFloop.items()) 185 211 self.Phase['Atoms'] = [] 186 212 G2AtomDict = { '_atom_site_type_symbol' : 1, … … 196 222 '_atom_site_aniso_u_13' : 15, 197 223 '_atom_site_aniso_u_23' : 16, } 198 G2SSAtomDict = {'_atom_site_occ_Fourier_wave_vector_seq_id' : 1,199 '_atom_site_occ_Fourier_param_cos' : 2,200 '_atom_site_occ_Fourier_param_sin' : 3,201 '_atom_site_displace_Fourier_axis' : 2,202 '_atom_site_displace_Fourier_wave_vector_seq_id' : 3,203 '_atom_site_displace_Fourier_param_cos' : 5,204 '_atom_site_displace_Fourier_param_sin' : 4,205 '_atom_site_U_Fourier_tens_elem' : 7,206 '_atom_site_U_Fourier_wave_vector_seq_id' : 8,207 '_atom_site_U_Fourier_param_cos' : 9,208 '_atom_site_U_Fourier_param_sin' : 10, }209 210 211 224 212 225 ranIdlookup = {} … … 253 266 else: 254 267 atomlbllist.append(atomlist[0]) 268 if Super: 269 Sfrac = [] 270 Sadp = [] 271 Spos = np.zeros((4,6)) 272 nim = -1 273 for i,item in enumerate(displFdict['_atom_site_displace_Fourier_atom_site_label']): 274 if item == atomlist[0]: 275 waveType = 'Fourier' 276 ix = ['x','y','z'].index(displFdict['_atom_site_displace_Fourier_axis'][i]) 277 im = int(displFdict['_atom_site_displace_Fourier_wave_vector_seq_id'][i]) 278 if im != nim: 279 nim = im 280 val = displFdict['_atom_site_displace_Fourier_param_sin'][i] 281 Spos[im-1][ix] = cif.get_number_with_esd(val)[0] 282 val = displFdict['_atom_site_displace_Fourier_param_cos'][i] 283 Spos[im-1][ix+3] = cif.get_number_with_esd(val)[0] 284 if nim >= 0: 285 Spos = [[spos,False] for spos in Spos[:nim]] 286 else: 287 Spos = [] 288 if UijFdict: 289 nim = -1 290 Sadp = np.zeros((4,12)) 291 for i,item in enumerate(UijFdict['_atom_site_U_Fourier_atom_site_label']): 292 if item == atomlist[0]: 293 ix = ['U11','U22','U33','U12','U13','U23'].index(UijFdict['_atom_site_U_Fourier_tens_elem'][i]) 294 im = int(UijFdict['_atom_site_U_Fourier_wave_vector_seq_id'][i]) 295 if im != nim: 296 nim = im 297 val = UijFdict['_atom_site_U_Fourier_param_sin'][i] 298 Sadp[im-1][ix] = cif.get_number_with_esd(val)[0] 299 val = UijFdict['_atom_site_U_Fourier_param_cos'][i] 300 Sadp[im-1][ix+6] = cif.get_number_with_esd(val)[0] 301 if nim >= 0: 302 Sadp = [[sadp,False] for sadp in Sadp[:nim]] 303 else: 304 Sadp = [] 305 306 SSdict = {'SS1':{'waveType':waveType,'Sfrac':Sfrac,'Spos':Spos,'Sadp':Sadp,'Smag':[]}} 307 atomlist.append(SSdict) 255 308 if len(atomlbllist) != len(self.Phase['Atoms']): 256 309 self.isodistort_warnings += '\nRepeated atom labels prevents ISODISTORT decode'
Note: See TracChangeset
for help on using the changeset viewer.