Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions GSASII/imports/G2phase_CIF.py
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,15 @@ def Reader(self,filename, ParentFrame=None, usedRanIdList=[], **unused):
atomlbllist = [] # table to look up atom IDs
atomloop = blk.GetLoop('_atom_site_label')
atomkeys = [i.lower() for i in atomloop.keys()]
for _key_i, _key in enumerate(atomkeys):
if "site_symmetry_multiplicity" in _key: # accept both _atom_site_site_symmetry_multiplicity and _atom_site_symmetry_multiplicity
multiplicity_key = _key
multiplicity_key_i = _key_i
break
else:
multiplicity_key = False
#self.warnings += "Unable to find site multiplicities in CIF, will not be able to cross check calculated multiplicities."
print("Unable to find site multiplicities in CIF. No multiplicity cross check.")
if not blk.get('_atom_site_type_symbol'):
isodistort_warnings += '\natom types are missing. \n Check & revise atom types as needed'
if magnetic:
Expand Down Expand Up @@ -556,6 +565,13 @@ def Reader(self,filename, ParentFrame=None, usedRanIdList=[], **unused):
atomlist[9] = 'I'
atomlist[11:17] = [0.,0.,0.,0.,0.,0.]
atomlist[7],atomlist[8] = G2spc.SytSym(atomlist[3:6],SGData)[:2]
if multiplicity_key:
expected_multiplicity = int(aitem[multiplicity_key_i])
observed_multiplicity = atomlist[8]
if expected_multiplicity == observed_multiplicity:
pass
else:
self.warnings += f"Provided ({expected_multiplicity}) and calculated ({observed_multiplicity}) multiplicity for {atomlist[0]} differ\n"
atomlist[1] = G2elem.FixValence(atomlist[1])
atomlist.append(ran.randint(0,sys.maxsize)) # add a random Id
self.Phase['Atoms'].append(atomlist)
Expand Down