Changeset 971


Ignore:
Timestamp:
Jun 28, 2013 9:05:31 AM (10 years ago)
Author:
vondreele
Message:

update binwin2.7 with new G77 pyd files.
add mcsasubs to fsource directory
some mods to GSASIImath.py to accommodate them

Location:
trunk
Files:
4 added
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Exercises/fluroapatite/FAP.EXP

    r604 r971  
    22      DESCR   fluoroapatite                                                     
    33    HSTRY  1 EXPEDT  Win32  Jun 23 14:59:14 2011 P PH        LA  O             
     4    HSTRY  2 POWPREF Win32  Jun 23 14:59:14 2011                               
     5    HSTRY  3 POWPREF Win32  Jun 27 16:05:04 2013                               
    46  DSGL CDAT1  DRAD ARAD NOFO                                                   
    57  GNLS CDAT1  MXCY  3                                                           
     
    6769HAP1 1PRCF 4   0.000000E+00   0.000000E+00   0.000000E+00   0.000000E+00       
    6870HAP1 1PRCF 5   0.000000E+00   0.000000E+00                                     
    69 HAP1 1PREFO1   1.00000   1.00000   0.00000   0.00000   1.00000   NN    0        
     71HAP1 1PREFO1  1.000000  1.000000  0.000000  0.000000  1.000000   NN    0    0   
    7072HAP1 1RADDAM    0.00000E+00    N    0      0.00                                 
    7173HST  1  HFIL  c:\gsas\class\data\fap.xra                                       
     
    7880HST  1 ICONS  1.540500  1.544300       0.0         0       0.5    0             
    7981HST  1 IRAD     3                                                               
     82HST  1 MAXRF   14                                                               
    8083HST  1 NEXC     2                                                               
    8184HST  1 NPHAS    1    0    0    0    0    0    0    0    0                       
    82 HST  1 NREF   652    0.8499                                                     
     85HST  1 NREF   652    0.8499    Y    Y                                           
     86HST  1 TRNGE  15.00000 129.98000                                               
     87HST  1 WREXP    0.0561                                                         
    8388HST  1ABSCOR   0.000000E+00   0.000000E+00    N    0                           
    8489HST  1BAKGD     5    3    Y    0    Y                                           
    85 HST  1BAKGD1   0.100000E+01   0.000000E+00   0.000000E+00                       
     90HST  1BAKGD1   0.666448E+02   0.742536E+03  -0.462682E+02                       
    8691HST  1CHI       0.0000                                                         
    8792HST  1DETAZM    0.0000                                                         
    8893HST  1EXC  1     0.000     0.000                                               
    8994HST  1EXC  2   130.000  1000.000                                               
    90 HST  1HSCALE   1.000000E+00    Y    0                                           
     95HST  1HSCALE     47.361        Y    0                                           
    9196HST  1I HEAD  DUMMY INCIDENT SPECTRUM FOR X-RAY DIFFRACTOMETER                 
    9297HST  1I ITYP    0    0.0000  180.0000         1                                 
     98HST  1MNREF     0    1.0000                                                     
    9399HST  1OMEGA     0.0000    Y                                                     
    94100HST  1PHI       0.0000                                                         
     
    97103HST  1PRCF12   1.000000E+00   0.000000E+00                                     
    98104ZZZZZZZZZZZZ  Last EXP file record                                             
    99     HSTRY  2 POWPREF Win32  Jun 23 14:59:14 2011                               
    100 HST  1 TRNGE  15.00000 129.98000                                               
    101 HST  1 WREXP    0.0561                                                         
    102 HST  1MNREF     0    1.0000                                                     
    103 HST  1 MAXRF   14                                                               
     105    HSTRY  4 GENLES  Win32  Jun 27 16:05:09 2013 Sdsq= 0.443E+06 S/E= 0.112E-06
     106HST  1TRMNMX   1.00000   1.00000                                               
     107HST  1EXMNMX   1.00000   1.00000                                               
     108HST  1ODMNMX   1.00000   1.00000                                               
     109HST  1 BIGFO   0.154218E+06                                                     
     110HST  1RSP    0.2012 0.5103 0.5297 0.4337 0.3914 0.3425 0.2708 0.2233 0.1673     
     111HST  1RSPW   0.3422 0.6010 0.5929 0.5003 0.4625 0.4065 0.3233 0.2730 0.2016     
     112HST  1RSPA   0.4694 0.5608 0.5860 0.4999 0.4472 0.4003 0.3111 0.2624 0.1939     
     113HST  1RSPWA  0.6347 0.6513 0.6537 0.5753 0.5306 0.4847 0.3796 0.3270 0.2309     
     114HST  1RSPTT  15.00 27.76 40.54 53.32 66.10 78.86 91.64104.42117.20129.98       
     115HST  1 RPOWD    0.4926    0.3915   5750 4.43421E+05    0.0000    0.0000    0   
     116 REFN RPOWD     0.4926    0.3915   5750 4.43421E+05    0.0000    0.0000     0   
     117 REFN STATS  Cycle   2 There were  5750 observations. Total CHI**2 = 4.4342E+05
     118 REFN GDNFT  Reduced CHI**2 =  77.17     for    4 variables                     
     119HST  1 NFOBS  650    0    0    0    0    0    0    0    0                       
     120HST  1 R-FAC  650   0.44212   3.826640E+07                                     
     121  GNLS SHFTS      0.00      0.00                                               
     122CRS1  CHMF 1  CA            5.00                                               
     123CRS1  CHMF 2  P             3.00                                               
     124CRS1  CHMF 3  F             1.00                                               
     125CRS1  CHMF 4  O            12.00                                               
     126  GNLS  RUN on Jun 27 16:05:09 2013    Total cycles run   2      0.44342E+06   
  • trunk/GSASIImath.py

    r970 r971  
    23182318        x0 = schedule.getstart_temp(best_state)
    23192319    else:
    2320         x0 = random.uniform(size=len(x0))*(upper-lower) + lower
     2320#        x0 = random.uniform(size=len(x0))*(upper-lower) + lower
    23212321        best_state.x = None
    23222322        best_state.cost = numpy.Inf
     
    24262426    for p in procs:
    24272427        p.join()
    2428        
    24292428    return resultlist
    2430    
    24312429
    24322430def mcsaSearch(data,RBdata,reflType,reflData,covData,pgbar):
     
    25772575        sumMD = len(Uniq)
    25782576        if MDval != 1.0:
     2577            VA = MDaxis/np.sqrt(np.inner(MDaxis,np.inner(G,MDaxis)))
     2578            DB = np.sqrt(np.dot(Uniq[0],np.inner(G,Uniq[0])))
    25792579            for H in Uniq:
    2580                 cosP,sinP = G2lat.CosSinAngle(H,MDaxis,G)
    2581                 A = 1.0/np.sqrt((MDval*cosP)**2+sinP**2/MDval)
     2580                cosP2 = np.dot(VA,np.inner(G,H/DB))
     2581                A = 1.0/np.sqrt(cosP2*MDval**2+(1.-cosP2)/MDval)
    25822582                sumMD += A**3
    2583             sumMD = np.sum(1./np.sqrt((MDval*cosP)**2+sinP**2/MDval)**3)
    25842583        return sumMD/len(Uniq)
    25852584       
     
    25892588            mul,len(FFs),FFs,len(Uniq),Uniq.flatten(),Phi)
    25902589        return Icalc
    2591 #        FF = np.zeros(len(Tdata))
    2592 #        for i,j in enumerate(Tdata):       #NB: generator here is slower!
    2593 #            FF[i] = FFs[j]
    2594 #        FF *= Mdata/len(Phi)            #FF*occ
    2595 #        phase = np.inner(Uniq,Xdata)     #hx+ky+lz
    2596 #        phase += Phi[:,np.newaxis]      #hx+ky+lz+phi
    2597 #        cosp = np.cos(twopi*phase)
    2598 #        fas = np.sum(FF*cosp)
    2599 #        if ifInv:
    2600 #            fbs = 0.
    2601 #        else:
    2602 #            sinp = np.sin(twopi*phase)
    2603 #            fbs = np.sum(FF*sinp)
    2604 #        return (fas**2+fbs**2)*mul
    26052590
    26062591    def mcsaCalc(values,refList,rcov,ifInv,RBdata,varyList,parmDict):
     
    26232608            t0 = time.time()
    26242609            refl[5] = mcsasfCalc(ifInv,Tdata,Mdata,Xdata,refl[3],refl[7],refl[8],refl[9])
    2625 #            refl[5] *= calcMDcorr(MDval,MDaxis,Uniq,Gmat)
     2610            refl[5] *= calcMDcorr(MDval,MDaxis,Uniq,Gmat)
    26262611            tsum += (time.time()-t0)
    26272612            sumFcsq += refl[5]
  • trunk/fsource/pypowder.for

    r969 r971  
    181181      RETURN
    182182      END
    183 
    184       SUBROUTINE PYMCSASFCALC(INV,NTD,TDATA,MDATA,X,MUL,NFFS,FFS,
    185      1  NUNIQ,U,PHI,ICALC)
     183     
     184      SUBROUTINE PYSETUPSINTAB()
     185      CALL SETUPSINTAB
     186      RETURN
     187      END
     188
     189     
     190      SUBROUTINE PYMDCALC(MDVAL,MDAXIS,NUNIQ,UNIQ,G,MDCORR)
     191Cf2py intent(in) MDVAL
     192Cf2py intent(in) MDAXIS
     193Cf2py intent(in) NUNIQ
     194cf2py depend(NUNIQ) UNIQ
     195Cf2py intent(in) G
     196Cf2py intent(out) MDCORR
     197
     198      INTEGER*4 NUNIQ
     199      REAL*4 MDVAL,MDAXIS(0:2),UNIQ(0:3*NUNIQ-1),G(3,3),MDCORR
     200      REAL*4 SUMMD
     201
     202      SUMMD = FLOAT(NUNIQ)
     203c      IF ( MDVAL .NE. 1.0) THEN
     204c        DO I=0,NUNIQ-1
     205
     206
     207
     208c        sumMD = len(Uniq)
     209c        if MDval != 1.0:
     210c            for H in Uniq:
     211c                cosP,sinP = G2lat.CosSinAngle(H,MDaxis,G)
     212c                A = 1.0/np.sqrt((MDval*cosP)**2+sinP**2/MDval)
     213c                sumMD += A**3
     214c            sumMD = np.sum(1./np.sqrt((MDval*cosP)**2+sinP**2/MDval)**3)
     215c        return sumMD/len(Uniq)
     216      RETURN
     217      END
     218
     219      SUBROUTINE PYMCSASFCALC(INV,NTD,TDATA,MDATA,XDATA,MUL,NFFS,FFS,
     220     1  NUNIQ,UNIQ,PHI,ICALC)
    186221Cf2py intent(in) INV
    187222Cf2py intent(in) NTD
     
    190225Cf2py intent(in) MDATA
    191226cf2py depend(NTD) MDATA
    192 Cf2py intent(in) X
    193 cf2py depend(NTD) X
     227Cf2py intent(in) XDATA
     228cf2py depend(NTD) XDATA
    194229Cf2py intent(in) MUL
    195230Cf2py intent(in) NFFS
     
    197232cf2py depend(NFFS) FFS
    198233Cf2py intent(in) NUNIQ
    199 Cf2py intent(in) U
    200 cf2py depend(NUNIQ) U
     234Cf2py intent(in) UNIQ
     235cf2py depend(NUNIQ) UNIQ
    201236Cf2py intent(in) PHI
    202237cf2py depend(NUNIQ) PHI
     
    204239
    205240      LOGICAL*4 INV
    206       INTEGER*4 NTD,MUL,NFFS,NUNIQ,I,J,K,TDATA(0:NTD-1)
    207       REAL*4 X(0:3*NTD-1),U(0:3*NUNIQ-1)
     241      INTEGER*4 NTD,MUL,NFFS,NUNIQ,TDATA(0:NTD-1)
     242      REAL*4 XDATA(0:3*NTD-1),UNIQ(0:3*NUNIQ-1)
    208243      REAL*4 MDATA(0:NTD-1),FFS(0:NFFS-1)
    209244      REAL*4 ICALC,PHI(0:NUNIQ-1)
    210       REAL*4 PHASE(0:NTD,0:NUNIQ),FF(0:NTD-1),FAS,FBS,TWOPI
    211 
    212       TWOPI = 8.0*ATAN(1.0)
    213       DO I=0,NTD-1
    214         FF(I) = FFS(TDATA(I))*MDATA(I)/NUNIQ
    215         DO J=0,NUNIQ-1
    216           PHASE(I,J) = 0.
    217           DO K=0,2
    218             PHASE(I,J) = PHASE(I,J)+U(3*J+K)*X(3*I+K)
    219           END DO
    220           PHASE(I,J) = PHASE(I,J)+PHI(J)
    221         END DO
    222       END DO
    223       FAS = 0.
    224       FBS = 0.
    225       DO I=0,NTD-1
    226         DO J=0,NUNIQ-1
    227           FAS = FAS+FF(I)*COS(TWOPI*PHASE(I,J))
    228           IF ( .NOT. INV ) FBS = FBS+FF(I)*SIN(TWOPI*PHASE(I,J))
    229         END DO
    230       END DO
    231       ICALC = (FAS**2+FBS**2)*MUL
     245
     246      CALL MCSASFCALC(INV,NTD,TDATA,MDATA,XDATA,MUL,NFFS,FFS,
     247     1  NUNIQ,UNIQ,PHI,ICALC)
    232248      RETURN
    233249      END
Note: See TracChangeset for help on using the changeset viewer.