Skip to content

Commit e1b0066

Browse files
committed
remove ::dAx from CIF sequential table & get s.u.'s for ::Ax, etc.
1 parent d3f7c00 commit e1b0066

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

GSASII/exports/G2export_CIF.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -300,11 +300,20 @@ def mkSeqResTable(mode,seqHistList,seqData,Phases,Histograms,Controls):
300300
sellist = [vs.index(v) if v is not None else None for v in varsellist]
301301
#sellist = [i if G2fil.striphist(v,'*') in varsellist else None for i,v in enumerate(seqData[name]['varyList'])]
302302
if not varsellist: raise Exception()
303-
vals.append([seqData[name]['variables'][s] if s is not None else None for s in sellist])
303+
vallist = []
304+
# lookup values: For coordinates (::dA[xyz]) get actual val, but use dA su
305+
for v,s in zip(varlbls,sellist):
306+
if s is None:
307+
vallist.append(None)
308+
elif v in seqData[name]['newAtomDict']:
309+
vallist.append(seqData[name]['newAtomDict'][v][1])
310+
else:
311+
vallist.append(seqData[name]['variables'][s])
312+
vals.append(vallist)
304313
esds.append([seqData[name]['sig'][s] if s is not None else None for s in sellist])
305314
tblValues += zip(*vals)
306315
tblSigs += zip(*esds)
307-
tblLabels += varlbls
316+
tblLabels += [s.replace('::dA','::A') for s in varlbls]
308317
tblTypes += ['float' for i in varlbls]
309318

310319
# tabulate constrained variables, removing histogram numbers if needed
@@ -322,22 +331,26 @@ def mkSeqResTable(mode,seqHistList,seqData,Phases,Histograms,Controls):
322331
depValDict[svar].append(val)
323332
depSigDict[svar].append(sig)
324333

325-
# add the dependent constrained variables to the table
334+
# add the dependent constrained variables to the table, except coordinates
326335
for var in sorted(depValDict):
336+
if '::dA' in var: continue
327337
if len(depValDict[var]) != len(histNames): continue
328338
tblLabels.append(var)
329339
tblTypes.append('10,5')
330340
tblSigs += [depSigDict[var]]
331341
tblValues += [depValDict[var]]
332342

333-
# add refined atom parameters to table
343+
# add unrefined atom parameters to table. Expect constrained values only
334344
for parm in sorted(atomLookup):
345+
if parm in tblLabels: continue # skip if already present
335346
tblLabels.append(parm)
336347
tblTypes.append('10,5')
337348
tblValues += [[seqData[name]['newAtomDict'][atomLookup[parm]][1] for name in histNames]]
338-
if atomLookup[parm] in seqData[histNames[0]]['varyList']:
349+
if atomLookup[parm] in seqData[histNames[0]]['varyList']: # refined
339350
col = seqData[histNames[0]]['varyList'].index(atomLookup[parm])
340351
tblSigs += [[seqData[name]['sig'][col] for name in histNames]]
352+
elif atomLookup[parm] in depSigDict: # constrained
353+
tblSigs += [depSigDict[atomLookup[parm]]]
341354
else:
342355
tblSigs += [None]
343356

@@ -4280,7 +4293,7 @@ def SelectDisAglFlags(event):
42804293
# setup and show sequential results table
42814294
tblLabels,tblValues,tblSigs,tblTypes = mkSeqResTable('cif',seqHistList,self.seqData,
42824295
self.Phases,self.Histograms,self.Controls)
4283-
WriteCIFitem(self.fp, '\n# Sequential results table') # (in case anyone can make sense of it)
4296+
WriteCIFitem(self.fp, '\n# Sequential results table') # (in case anyone can make use of it)
42844297
WriteCIFitem(self.fp, 'loop_ _gsas_seq_results_col_num _gsas_seq_results_col_label')
42854298
for i,lbl in enumerate(tblLabels):
42864299
s = PutInCol(str(i),5)

0 commit comments

Comments
 (0)