X-Sender: armel@fluo.univ-lemans.fr Date: Mon, 23 Mar 1998 10:37:40 +0100 "No patch available that will update any Rietveld code :-). "Iterating the Rietveld decomposition formula, starting from a set of identical |F|s instead of |Fcal|s" : That is the way. The programmer knowing how is going the Rietveld method will see how to do it. That is simple. At the point where calculated |F| are entered in the Rietveld decomposition formula (SUMMAT subroutine in old code), put instead a set of identical |F|, let the program do as usual, then, when getting the "|Fobs|" from this decomposition formula, use them as if they were the new |Fcalc| and continue to iterate this way...."
X-Sender: armel@fluo.univ-lemans.fr Date: Mon, 27 Apr 1998 18:45:12 +0200 >How many parameters are being refined when doing a Le Bail >and what about the intensities? Does this mean that each intensity >is a separate refinable parameter that has to go into the least squares? Intensities are refined in the Pawley method. They are not in the Le Bail method in which only profile (U,V, W, eta, zero...) and cell parameters are refined (maximum 6 to 12 parameters). With the Pawley method, you should add 1000 parameters if you have 1000 reflections, that explains the speed difference and also the stability difference. >Also, I take it that if decomposition takes place in a Rietveld program - it >is called Le Bail method. What if it takes place in a non-Rietveld program. The Le Bail method iterates the Rietveld decomposition formula. This can be done out of a Rietveld program of course (EXTRACT, EXTRA). >What is the decomposition forumula exactly and can it easily >be made independent of the Rietveld program. Yes this is easy. Here is the Rietveld decomposition formula : Io(k) = Sum i [ (Yo(i) W(i,k) Ic(k)) / Yc(i) ] Where Yo(i) is the intensity observed at 2-Theta i (in fact background subtracted) Yc(i) is the calculated intensity = Sum k [W(i,k) Ic(k)] Ic(k) = F**2 calculated for reflection k Io(k) = the famous extracted "observed" F**2 W(i,k) = t m(k) LP(k) P(i,k) t = scale factor m(k) = multiplicity for reflection k LP(k) = Lorentz polarisation factor P(i,k) = shape at point i for the profile attributed to reflection k
From the Structure Solution from Powder Diffractometry List:
At 12:44 07/09/99 -0500, Jaap Vente wrote: >On Tue, 7 Sep 1999, Peter Y. Zavalij wrote: > >> > Lachlan wrote : >> > A belated reply on the topic of Le Bail extraction >> > in GSAS: >> > >> There is small problem with LeBail extraction in GSAS: >> alpha1 and alpha2 components are refined independently... >> > > >Yes I found that as well, but thought that I had made a mistake somewhere. >I think it is a major problem though. Bob could you please fix that? Not sure if Bob has subscribed to this list. The way this problem was fixed in ARIT was to consider the two structure factor amplitudes independently derived from the alpha 1 and 2 components, then to make them both equal to the mean value, after each new iteration. I did not find a better way. This is the reason why Rp is more slowly decreasing when dealing with alpha1+2 than with alpha 1 alone. In FORTRAN, this operation corresponds to : ( see in ARIT source at http://sdpd.univ-lemans.fr/arit.html ) In ITER subroutine : make both structure factors equal to the mean DO 1 I=1,NN IF(ICH(I).EQ.0)GO TO 1 SOMH=FNUU(I)+FNUU(ICH(I)) FNUU(I)=SOMH/2. FNUU(ICH(I))=FNUU(I) 1 CONTINUE In the MAIN program, IHC is the order of the alpha2 component in the hkl list : DO 4 I=1,NN-1 IHC(I)=0 IF(ICC(I).EQ.5)GO TO 4 DO 3 J=I+1,NN IF(ICC(J).NE.5)GO TO 3 IF(ICO(I).NE.ICO(J))GO TO 3 IF(HHH(1,I).NE.HHH(1,J).OR.HHH(2,I).NE.HHH(2,J).OR. 1HHH(3,I).NE.HHH(3,J))GO TO 3 IHC(I)=J GO TO 4 3 CONTINUE 4 CONTINUE Best, Armel PS : To subscribe, send an e-mail to sdpd-subscribe@egroups.com |