Changeset 971
- Timestamp:
- Jun 28, 2013 9:05:31 AM (10 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Exercises/fluroapatite/FAP.EXP
r604 r971 2 2 DESCR fluoroapatite 3 3 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 4 6 DSGL CDAT1 DRAD ARAD NOFO 5 7 GNLS CDAT1 MXCY 3 … … 67 69 HAP1 1PRCF 4 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 68 70 HAP1 1PRCF 5 0.000000E+00 0.000000E+00 69 HAP1 1PREFO1 1.00000 1.00000 0.00000 0.00000 1.00000 NN 071 HAP1 1PREFO1 1.000000 1.000000 0.000000 0.000000 1.000000 NN 0 0 70 72 HAP1 1RADDAM 0.00000E+00 N 0 0.00 71 73 HST 1 HFIL c:\gsas\class\data\fap.xra … … 78 80 HST 1 ICONS 1.540500 1.544300 0.0 0 0.5 0 79 81 HST 1 IRAD 3 82 HST 1 MAXRF 14 80 83 HST 1 NEXC 2 81 84 HST 1 NPHAS 1 0 0 0 0 0 0 0 0 82 HST 1 NREF 652 0.8499 85 HST 1 NREF 652 0.8499 Y Y 86 HST 1 TRNGE 15.00000 129.98000 87 HST 1 WREXP 0.0561 83 88 HST 1ABSCOR 0.000000E+00 0.000000E+00 N 0 84 89 HST 1BAKGD 5 3 Y 0 Y 85 HST 1BAKGD1 0. 100000E+01 0.000000E+00 0.000000E+0090 HST 1BAKGD1 0.666448E+02 0.742536E+03 -0.462682E+02 86 91 HST 1CHI 0.0000 87 92 HST 1DETAZM 0.0000 88 93 HST 1EXC 1 0.000 0.000 89 94 HST 1EXC 2 130.000 1000.000 90 HST 1HSCALE 1.000000E+00Y 095 HST 1HSCALE 47.361 Y 0 91 96 HST 1I HEAD DUMMY INCIDENT SPECTRUM FOR X-RAY DIFFRACTOMETER 92 97 HST 1I ITYP 0 0.0000 180.0000 1 98 HST 1MNREF 0 1.0000 93 99 HST 1OMEGA 0.0000 Y 94 100 HST 1PHI 0.0000 … … 97 103 HST 1PRCF12 1.000000E+00 0.000000E+00 98 104 ZZZZZZZZZZZZ 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 106 HST 1TRMNMX 1.00000 1.00000 107 HST 1EXMNMX 1.00000 1.00000 108 HST 1ODMNMX 1.00000 1.00000 109 HST 1 BIGFO 0.154218E+06 110 HST 1RSP 0.2012 0.5103 0.5297 0.4337 0.3914 0.3425 0.2708 0.2233 0.1673 111 HST 1RSPW 0.3422 0.6010 0.5929 0.5003 0.4625 0.4065 0.3233 0.2730 0.2016 112 HST 1RSPA 0.4694 0.5608 0.5860 0.4999 0.4472 0.4003 0.3111 0.2624 0.1939 113 HST 1RSPWA 0.6347 0.6513 0.6537 0.5753 0.5306 0.4847 0.3796 0.3270 0.2309 114 HST 1RSPTT 15.00 27.76 40.54 53.32 66.10 78.86 91.64104.42117.20129.98 115 HST 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 119 HST 1 NFOBS 650 0 0 0 0 0 0 0 0 120 HST 1 R-FAC 650 0.44212 3.826640E+07 121 GNLS SHFTS 0.00 0.00 122 CRS1 CHMF 1 CA 5.00 123 CRS1 CHMF 2 P 3.00 124 CRS1 CHMF 3 F 1.00 125 CRS1 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 2318 2318 x0 = schedule.getstart_temp(best_state) 2319 2319 else: 2320 x0 = random.uniform(size=len(x0))*(upper-lower) + lower2320 # x0 = random.uniform(size=len(x0))*(upper-lower) + lower 2321 2321 best_state.x = None 2322 2322 best_state.cost = numpy.Inf … … 2426 2426 for p in procs: 2427 2427 p.join() 2428 2429 2428 return resultlist 2430 2431 2429 2432 2430 def mcsaSearch(data,RBdata,reflType,reflData,covData,pgbar): … … 2577 2575 sumMD = len(Uniq) 2578 2576 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]))) 2579 2579 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) 2582 2582 sumMD += A**3 2583 sumMD = np.sum(1./np.sqrt((MDval*cosP)**2+sinP**2/MDval)**3)2584 2583 return sumMD/len(Uniq) 2585 2584 … … 2589 2588 mul,len(FFs),FFs,len(Uniq),Uniq.flatten(),Phi) 2590 2589 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*occ2595 # phase = np.inner(Uniq,Xdata) #hx+ky+lz2596 # phase += Phi[:,np.newaxis] #hx+ky+lz+phi2597 # 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)*mul2605 2590 2606 2591 def mcsaCalc(values,refList,rcov,ifInv,RBdata,varyList,parmDict): … … 2623 2608 t0 = time.time() 2624 2609 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) 2626 2611 tsum += (time.time()-t0) 2627 2612 sumFcsq += refl[5] -
trunk/fsource/pypowder.for
r969 r971 181 181 RETURN 182 182 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) 191 Cf2py intent(in) MDVAL 192 Cf2py intent(in) MDAXIS 193 Cf2py intent(in) NUNIQ 194 cf2py depend(NUNIQ) UNIQ 195 Cf2py intent(in) G 196 Cf2py 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) 203 c IF ( MDVAL .NE. 1.0) THEN 204 c DO I=0,NUNIQ-1 205 206 207 208 c sumMD = len(Uniq) 209 c if MDval != 1.0: 210 c for H in Uniq: 211 c cosP,sinP = G2lat.CosSinAngle(H,MDaxis,G) 212 c A = 1.0/np.sqrt((MDval*cosP)**2+sinP**2/MDval) 213 c sumMD += A**3 214 c sumMD = np.sum(1./np.sqrt((MDval*cosP)**2+sinP**2/MDval)**3) 215 c 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) 186 221 Cf2py intent(in) INV 187 222 Cf2py intent(in) NTD … … 190 225 Cf2py intent(in) MDATA 191 226 cf2py depend(NTD) MDATA 192 Cf2py intent(in) X 193 cf2py depend(NTD) X 227 Cf2py intent(in) XDATA 228 cf2py depend(NTD) XDATA 194 229 Cf2py intent(in) MUL 195 230 Cf2py intent(in) NFFS … … 197 232 cf2py depend(NFFS) FFS 198 233 Cf2py intent(in) NUNIQ 199 Cf2py intent(in) U 200 cf2py depend(NUNIQ) U 234 Cf2py intent(in) UNIQ 235 cf2py depend(NUNIQ) UNIQ 201 236 Cf2py intent(in) PHI 202 237 cf2py depend(NUNIQ) PHI … … 204 239 205 240 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) 208 243 REAL*4 MDATA(0:NTD-1),FFS(0:NFFS-1) 209 244 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) 232 248 RETURN 233 249 END
Note: See TracChangeset
for help on using the changeset viewer.