Changeset 1327
- Timestamp:
- May 6, 2014 9:23:56 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIpwdGUI.py
r1323 r1327 2793 2793 IInst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Instrument Parameters')) 2794 2794 # ISubstances = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Substances')) 2795 IfOK,result,varyList,sig,Rvals,covMatrix = G2sasd.ModelFit(IProfile,IProfDict,ILimits,ISample,IModel)2795 IfOK,result,varyList,sig,Rvals,covMatrix,Msg = G2sasd.ModelFit(IProfile,IProfDict,ILimits,ISample,IModel) 2796 2796 if not IfOK: 2797 2797 G2frame.ErrorDialog('Failed sequential refinement for data '+name, 2798 ' You need to rethink your selection of parameters\n'+ \2798 ' Msg: '+Msg+'\nYou need to rethink your selection of parameters\n'+ \ 2799 2799 ' Model restored to previous version for'+name) 2800 2800 SeqResult['histNames'] = names[:i] … … 2831 2831 elif data['Current'] == 'Particle fit': 2832 2832 SaveState() 2833 if not G2sasd.ModelFit(Profile,ProfDict,Limits,Sample,data)[0]: 2834 G2frame.ErrorDialog('Failed refinement', 2835 'You need to rethink your selection of parameters\n'+ \ 2836 ' Model restored to previous version') 2833 Results = G2sasd.ModelFit(Profile,ProfDict,Limits,Sample,data) 2834 if not Results[0]: 2835 G2frame.ErrorDialog('Failed refinement', 2836 ' Msg: '+Results[-1]+'\nYou need to rethink your selection of parameters\n'+ \ 2837 ' Model restored to previous version') 2837 2838 G2sasd.ModelFxn(Profile,ProfDict,Limits,Sample,data) 2838 2839 RefreshPlots(True) -
trunk/GSASIIsasd.py
r1319 r1327 1240 1240 Rvals['GOF'] = chisq/(Ifin-Ibeg-len(varyList)) #reduced chi^2 1241 1241 Ic[Ibeg:Ifin] = getSASD(Q[Ibeg:Ifin],levelTypes,parmDict) 1242 Msg = 'Failed to converge' 1242 1243 try: 1244 Nans = np.isnan(result[0]) 1245 if np.any(Nans): 1246 name = varyList[Nans.nonzero(True)[0]] 1247 Msg = 'Nan result for '+name+'!' 1248 raise ValueError 1249 Negs = np.less_equal(result[0],0.) 1250 if np.any(Negs): 1251 name = varyList[Negs.nonzero(True)[0]] 1252 Msg = 'negative coefficient for '+name+'!' 1253 raise ValueError 1243 1254 if len(covM): 1244 1255 sig = np.sqrt(np.diag(covM)*Rvals['GOF']) … … 1249 1260 SetModelParms() 1250 1261 covMatrix = covM*Rvals['GOF'] 1251 return True,result,varyList,sig,Rvals,covMatrix 1262 return True,result,varyList,sig,Rvals,covMatrix,'' 1252 1263 except (ValueError,TypeError): #when bad LS refinement; covM missing or with nans 1253 return False,0,0,0,0,0 1264 return False,0,0,0,0,0,Msg 1254 1265 1255 1266 def ModelFxn(Profile,ProfDict,Limits,Sample,sasdData):
Note: See TracChangeset
for help on using the changeset viewer.