Changeset 888


Ignore:
Timestamp:
Apr 14, 2013 5:35:29 PM (9 years ago)
Author:
vondreele
Message:

fix deriv for vector RB mags.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIstruct.py

    r885 r888  
    760760        dXdv = []
    761761        for iv in range(len(VModel['VectMag'])):
    762             dXdv.append(np.inner(Bmat,VModel['rbVect'][iv]).T)
     762            dXdv.append(np.inner(Bmat.T,VModel['rbVect'][iv]).T)
    763763        XYZ,Cart = G2mth.UpdateRBXYZ(Bmat,RBObj,RBData,'Vector')
    764764        for ia,atId in enumerate(RBObj['Ids']):
     
    808808            if 'U' in RBObj['ThermalMotion'][0]:
    809809                dFdvDict[pfx+'RBVU:'+rbsx] += dFdvDict[pfx+'AUiso:'+str(AtLookup[atId])]
     810
    810811
    811812    for irb,RBObj in enumerate(RBModels.get('Residue',[])):
     
    15021503                name = pfx+rbfx+pt+rbsx
    15031504                namstr += '%12s'%(pt[:3])
    1504                 valstr += '%12.3f'%(parmDict[name])
     1505                valstr += '%12.4f'%(parmDict[name])
    15051506                if name in sigDict:
    1506                     sigstr += '%12.3f'%(sigDict[name])
     1507                    sigstr += '%12.4f'%(sigDict[name])
    15071508                else:
    15081509                    sigstr += 12*' '
     
    15131514            name = pfx+rbfx+'U:'+rbsx
    15141515            namstr = '  names :'+'%12s'%('U')
    1515             valstr = '  values:'+'%12.3f'%(parmDict[name])
     1516            valstr = '  values:'+'%12.5f'%(parmDict[name])
    15161517            if name in sigDict:
    1517                 sigstr = '  esds  :'+'%12.3f'%(sigDict[name])
     1518                sigstr = '  esds  :'+'%12.5f'%(sigDict[name])
    15181519            else:
    15191520                sigstr = '  esds  :'+12*' '
     
    15211522            print >>pFile,valstr
    15221523            print >>pFile,sigstr
    1523            
    15241524       
    15251525    def PrintRBObjTorAndSig(rbsx):
     
    22202220                    PrintMuStrainAndSig(hapData['Mustrain'],SizeMuStrSig[pfx+'Mustrain'],SGData)
    22212221                    PrintHStrainAndSig(hapData['HStrain'],SizeMuStrSig[pfx+'HStrain'],SGData)
    2222                     PrintBabinetAndSig(pfx,hapData['Babinet'],BabSig)
     2222                    if len(BabSig):
     2223                        PrintBabinetAndSig(pfx,hapData['Babinet'],BabSig)
    22232224                   
    22242225                elif 'HKLF' in histogram:
     
    39063907                corr2 = dervDict2['int']/refl[9]
    39073908            for name in varylist+dependentVars:
    3908                 try:
    3909                     aname = name.split(pfx)[1][:2]
    3910                     if aname not in ['Af','dA','AU','RB']: continue # skip anything not an atom or rigid body param
    3911                 except IndexError:
    3912                     continue
     3909                if '::RBV;' in name:
     3910                    pass
     3911                else:
     3912                    try:
     3913                        aname = name.split(pfx)[1][:2]
     3914                        if aname not in ['Af','dA','AU','RB']: continue # skip anything not an atom or rigid body param
     3915                    except IndexError:
     3916                        continue
    39133917                if name in varylist:
    39143918                    dMdv[varylist.index(name)][iBeg:iFin] += dFdvDict[name][iref]*corr
Note: See TracChangeset for help on using the changeset viewer.