Changeset 3268


Ignore:
Timestamp:
Feb 9, 2018 2:06:03 PM (4 years ago)
Author:
vondreele
Message:

begin work on incommensurate mag SF calcs.
fix problem with fade calc. for incommensurate site fractions

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIImath.py

    r3266 r3268  
    12741274################################################################################
    12751275
    1276 def makeWaves(waveTypes,FSSdata,XSSdata,USSdata,Mast):
     1276def makeWaves(waveTypes,FSSdata,XSSdata,USSdata,MSSdata,Mast):
    12771277    '''
    12781278    waveTypes: array nAtoms: 'Fourier','ZigZag' or 'Block'
     
    12801280    XSSdata: array 2x3 x atoms X waves (sin,cos terms)
    12811281    USSdata: array 2x6 x atoms X waves (sin,cos terms)
     1282    MSSdata: array 2x3 x atoms X waves (sin,cos terms)
     1283   
    12821284    Mast: array orthogonalization matrix for Uij
    12831285    '''
     
    13291331    else:
    13301332        Umod = 1.0
    1331 #    GSASIIpath.IPyBreak()
    1332     return ngl,nWaves,Fmod,Xmod,Umod,glTau,glWt
     1333    Mmod = 1.0
     1334    return ngl,nWaves,Fmod,Xmod,Umod,Mmod,glTau,glWt
    13331335       
    13341336def Modulation(H,HP,nWaves,Fmod,Xmod,Umod,glTau,glWt):
     
    13881390    return np.array([cosHA,sinHA])             # 2 x refBlk x SGops x atoms
    13891391   
    1390 def makeWavesDerv(ngl,waveTypes,FSSdata,XSSdata,USSdata,Mast):
     1392def makeWavesDerv(ngl,waveTypes,FSSdata,XSSdata,USSdata,MSSdata,Mast):
    13911393    '''
    13921394    FSSdata: array 2 x atoms x waves    (sin,cos terms)
     
    16071609   
    16081610def fracFourier(tau,fsin,fcos):
    1609     A = np.array([fs[:,nxs]*np.sin(2.*np.pi*(i+1)*tau) for i,fs in enumerate(fsin)])
    1610     B = np.array([fc[:,nxs]*np.cos(2.*np.pi*(i+1)*tau) for i,fc in enumerate(fcos)])
     1611    if len(fsin) == 1:
     1612        A = np.array([fsin[0]*np.sin(2.*np.pi*tau)])
     1613        B = np.array([fcos[0]*np.cos(2.*np.pi*tau)])
     1614    else:
     1615        A = np.array([fs[:,nxs]*np.sin(2.*np.pi*(i+1)*tau) for i,fs in enumerate(fsin)])
     1616        B = np.array([fc[:,nxs]*np.cos(2.*np.pi*(i+1)*tau) for i,fc in enumerate(fcos)])
    16111617    return np.sum(A,axis=0)+np.sum(B,axis=0)
    16121618
     
    16261632    atoms = data['Atoms']
    16271633    drawAtoms = drawingData['Atoms']
    1628     Fade = np.zeros(len(drawAtoms))
     1634    Fade = np.ones(len(drawAtoms))
    16291635    for atom in atoms:   
    16301636        atxyz = G2spc.MoveToUnitCell(np.array(atom[cx:cx+3]))[0]
  • trunk/GSASIIphsGUI.py

    r3266 r3268  
    11901190                                if not 'Crenel' in waveType:
    11911191                                    wType = waveType
    1192                             atom[-1]['SS1'][parm] = [wType,]+atom[-1]['SS1'][parm]
     1192                            atom[-1]['SS1'][parm] = [wType,]+list(atom[-1]['SS1'][parm])
    11931193                    del atom[-1]['SS1']['waveType']
    11941194        if 'Modulated' not in generalData:
  • trunk/GSASIIplot.py

    r3266 r3268  
    60046004                SetDrawAtomsText(data['Drawing']['Atoms'])
    60056005                G2phG.FindBondsDraw(data)           #rebuild bonds & polygons
    6006                 if not np.any(Fade):
    6007                     Fade += 1
     6006#                if not np.any(Fade):
     6007#                    Fade += 1
    60086008                Draw('key down',Fade)
    60096009            return
  • trunk/GSASIIstrMath.py

    r3266 r3268  
    13211321        return
    13221322    waveTypes,FSSdata,XSSdata,USSdata,MSSdata = GetAtomSSFXU(pfx,calcControls,parmDict)
    1323     ngl,nWaves,Fmod,Xmod,Umod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,Mast)
     1323    ngl,nWaves,Fmod,Xmod,Umod,Mmod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,MSSdata,Mast)
    13241324    modQ = np.array([parmDict[pfx+'mV0'],parmDict[pfx+'mV1'],parmDict[pfx+'mV2']])
    13251325    FF = np.zeros(len(Tdata))
     
    14491449        return
    14501450    waveTypes,FSSdata,XSSdata,USSdata,MSSdata = GetAtomSSFXU(pfx,calcControls,parmDict)
    1451     ngl,nWaves,Fmod,Xmod,Umod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,Mast)
     1451    ngl,nWaves,Fmod,Xmod,Umod,Mmod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,Mast)
    14521452    modQ = np.array([parmDict[pfx+'mV0'],parmDict[pfx+'mV1'],parmDict[pfx+'mV2']])
    14531453    FF = np.zeros(len(Tdata))
     
    15811581    mSize = len(Mdata)  #no. atoms
    15821582    waveTypes,FSSdata,XSSdata,USSdata,MSSdata = GetAtomSSFXU(pfx,calcControls,parmDict)
    1583     ngl,nWaves,Fmod,Xmod,Umod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,Mast)
    1584     waveShapes,SCtauF,SCtauX,SCtauU,UmodAB = G2mth.makeWavesDerv(ngl,waveTypes,FSSdata,XSSdata,USSdata,Mast)
     1583    ngl,nWaves,Fmod,Xmod,Umod,Mmod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,MSSdata,Mast)
     1584    waveShapes,SCtauF,SCtauX,SCtauU,UmodAB = G2mth.makeWavesDerv(ngl,waveTypes,FSSdata,XSSdata,USSdata,MSSdata,Mast)
    15851585    modQ = np.array([parmDict[pfx+'mV0'],parmDict[pfx+'mV1'],parmDict[pfx+'mV2']])
    15861586    FF = np.zeros(len(Tdata))
     
    17951795    mSize = len(Mdata)  #no. atoms
    17961796    waveTypes,FSSdata,XSSdata,USSdata,MSSdata = GetAtomSSFXU(pfx,calcControls,parmDict)
    1797     ngl,nWaves,Fmod,Xmod,Umod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,Mast)
    1798     waveShapes,SCtauF,SCtauX,SCtauU,UmodAB = G2mth.makeWavesDerv(ngl,waveTypes,FSSdata,XSSdata,USSdata,Mast)
     1797    ngl,nWaves,Fmod,Xmod,Umod,Mmod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,MSSdata,Mast)
     1798    waveShapes,SCtauF,SCtauX,SCtauU,UmodAB = G2mth.makeWavesDerv(ngl,waveTypes,FSSdata,XSSdata,USSdata,MSSdata,Mast)
    17991799    modQ = np.array([parmDict[pfx+'mV0'],parmDict[pfx+'mV1'],parmDict[pfx+'mV2']])
    18001800    FF = np.zeros(len(Tdata))
     
    20252025    mSize = len(Mdata)  #no. atoms
    20262026    waveTypes,FSSdata,XSSdata,USSdata,MSSdata = GetAtomSSFXU(pfx,calcControls,parmDict)
    2027     ngl,nWaves,Fmod,Xmod,Umod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,Mast)
    2028     waveShapes,SCtauF,SCtauX,SCtauU,UmodAB = G2mth.makeWavesDerv(ngl,waveTypes,FSSdata,XSSdata,USSdata,Mast)
     2027    ngl,nWaves,Fmod,Xmod,Umod,Mmod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,MSSdata,Mast)
     2028    waveShapes,SCtauF,SCtauX,SCtauU,UmodAB = G2mth.makeWavesDerv(ngl,waveTypes,FSSdata,XSSdata,USSdata,MSSdata,Mast)
    20292029    modQ = np.array([parmDict[pfx+'mV0'],parmDict[pfx+'mV1'],parmDict[pfx+'mV2']])
    20302030    FF = np.zeros(len(Tdata))
Note: See TracChangeset for help on using the changeset viewer.