Changeset 1985


Ignore:
Timestamp:
Oct 5, 2015 2:05:04 PM (6 years ago)
Author:
toby
Message:

fix CIF import where ? is used for Uiso value and where iso/aniso type is inferred

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r1971 r1985  
    284284            except AttributeError:
    285285                print 'Import_'+errprefix+': Attribute Error '+str(filename)
    286                 pass
    287             except ImportError:
    288                 print 'Import_'+errprefix+': Error importing file '+str(filename)
    289                 pass
     286            #except ImportError:
     287            #    print 'Import_'+errprefix+': Error importing file '+str(filename)
     288            except Exception,errmsg:
     289                print('\nImport_'+errprefix+': Error importing file '+str(filename))
     290                print('Error message: '+str(errmsg)+'\n')
    290291            if fp: fp.close()
    291292
  • trunk/imports/G2phase_CIF.py

    r1982 r1985  
    178178                    anisoloop = blk.GetLoop('_atom_site_aniso_label')
    179179                    anisokeys = [i.lower() for i in anisoloop.keys()]
     180                    anisolabels = blk.get('_atom_site_aniso_label')
    180181                else:
    181182                    anisoloop = None
    182183                    anisokeys = []
     184                    anisolabels = []
    183185                self.Phase['Atoms'] = []
    184186                G2AtomDict = {  '_atom_site_type_symbol' : 1,
     
    204206                        if col >= 3:
    205207                            atomlist[col] = cif.get_number_with_esd(val)[0]
     208                            if col >= 11: atomlist[9] = 'A' # if any Aniso term is defined, set flag
    206209                        elif col is not None:
    207210                            atomlist[col] = val
     
    211214                                atomlist[9] = 'A'
    212215                        elif key == '_atom_site_u_iso_or_equiv':
    213                             atomlist[10] =cif.get_number_with_esd(val)[0]
     216                            uisoval =cif.get_number_with_esd(val)[0]
     217                            if uisoval is not None: atomlist[10] = uisoval
    214218                    if not atomlist[1] and atomlist[0]:
    215219                        typ = atomlist[0].rstrip('0123456789-+')
     
    219223                            atomlist[1] = 'Xe'
    220224                            self.warnings += ' Atom type '+typ+' not recognized; Xe assumed\n'
    221                     ulbl = '_atom_site_aniso_label'
    222                     if  atomlist[9] == 'A' and atomlist[0] in blk.get(ulbl):
    223                         for val,key in zip(anisoloop.GetKeyedPacket(ulbl,atomlist[0]),
    224                                            anisokeys):
     225                    if atomlist[0] in anisolabels: # does this atom have aniso values in separate loop?
     226                        atomlist[9] = 'A'  # set the aniso flag
     227                        for val,key in zip( # load the values
     228                                anisoloop.GetKeyedPacket('_atom_site_aniso_label',atomlist[0]),
     229                                anisokeys):
    225230                            col = G2AtomDict.get(key)
    226231                            if col:
Note: See TracChangeset for help on using the changeset viewer.