Changeset 1987


Ignore:
Timestamp:
Oct 6, 2015 9:27:27 AM (6 years ago)
Author:
vondreele
Message:

set up wave derivatives

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIImath.py

    r1984 r1987  
    10421042
    10431043    Ax = np.array(XSSdata[:3]).T   #atoms x waves x sin pos mods
     1044    dGdAx = np.zeros_like(Ax)
    10441045    Bx = np.array(XSSdata[3:]).T   #...cos pos mods
     1046    dGdBx = np.zeros_like(Bx)
    10451047    Af = np.array(FSSdata[0]).T    #sin frac mods x waves x atoms
     1048    dGdAf = np.zeros_like(Af)
    10461049    Bf = np.array(FSSdata[1]).T    #cos frac mods...
     1050    dGdBf = np.zeros_like(Bf)
    10471051    Au = Mast*np.array(G2lat.U6toUij(USSdata[:6])).T   #atoms x waves x sin Uij mods
     1052    dGdAu = np.zeros_like(Au)
    10481053    Bu = Mast*np.array(G2lat.U6toUij(USSdata[6:])).T   #...cos Uij mods
     1054    dGdBu = np.zeros_like(Bu)
    10491055    GpA = np.array(expModInt(SSUniq,Af,Bf,Ax,Bx,Au,Bu))
    1050     return GpA             # 2 x SGops x atoms
     1056    return GpA,dGdAf,dGdBf,dGdAx,dGdBx,dGdAu,dGdBu
    10511057   
    10521058def posFourier(tau,psin,pcos,smul):
  • trunk/GSASIIstrMath.py

    r1986 r1987  
    12711271        fot = (FF+FP-Bab)*occ*Tcorr     #ops x atoms
    12721272        fotp = FPP*occ*Tcorr            #ops x atoms
    1273         GfpuA = G2mth.ModulationDerv(waveTypes,Uniq,FSSdata,XSSdata,USSdata,Mast)
    1274         #need ModulationDerv here dGAdXsin, etc 
     1273        GfpuA,dGdAf,dGdBf,dGdAx,dGdBx,dGdAu,dGdBu =     \
     1274            G2mth.ModulationDerv(waveTypes,Uniq,FSSdata,XSSdata,USSdata,Mast)
    12751275        fa = np.array([((FF+FP).T-Bab).T*cosp*Tcorr,-Flack*FPP*sinp*Tcorr]) # array(2,nTwin,nEqv,nAtoms)
    12761276        fb = np.array([((FF+FP).T-Bab).T*sinp*Tcorr,Flack*FPP*cosp*Tcorr])
     
    12891289        dfadui = np.sum(-SQfactor*fag,axis=1)
    12901290        if nTwin > 1:
    1291             dfadx = np.array([np.sum(twopi*Uniq[it]*np.swapaxes(fax,-2,-1)[:,it,:,:,np.newaxis],axis=-2) for it in range(nTwin)])
     1291            dfadx = np.array([np.sum(twopi*Uniq[it,:,:3]*np.swapaxes(fax,-2,-1)[:,it,:,:,np.newaxis],axis=-2) for it in range(nTwin)])
    12921292            dfadua = np.array([np.sum(-Hij[it]*np.swapaxes(fa,-2,-1)[:,it,:,:,np.newaxis],axis=-2) for it in range(nTwin)])
    12931293            # array(nTwin,2,nAtom,3) & array(nTwin,2,nAtom,6)
    12941294        else:
    1295             dfadx = np.sum(twopi*Uniq*np.swapaxes(fax,-2,-1)[:,:,:,np.newaxis],axis=-2)
     1295            dfadx = np.sum(twopi*Uniq[:,:3]*np.swapaxes(fax,-2,-1)[:,:,:,np.newaxis],axis=-2)
    12961296            dfadua = np.sum(-Hij*np.swapaxes(fa,-2,-1)[:,:,:,np.newaxis],axis=-2)
    12971297            # array(2,nAtom,3) & array(2,nAtom,6)
Note: See TracChangeset for help on using the changeset viewer.