What's the best rpoly value?

169 views
Skip to first unread message

Marco Vandone

unread,
Oct 27, 2023, 4:38:22 PM10/27/23
to diffpy-users
Hi
I was trying to generate some PDF signals starting from some materials that are not really crystalline.
I followed the suggested procedure reported in this forum to generate the Gr, and now I have a question regarding the rpoly.
Attached you can find two different Gr generated varying only the rpoly.
With rpoly = 0.9, I obtained a good signal, but the first oscillation, which is around r = 0.8, is also the strongest in the PDF and probably shouldn't be considered. (as  r < rpoly)
By increasing the rpoly, I was able to suppress that oscillation, but I had to use a rpoly>1.35 (in the picture 1.47), which is at a r value probably larger than the shorter bond distance in the model structure (around 1.25)
What would be the best option to report the PDF signals?
Can I also look at the other functions to better decide which rpoly value I should use?
Thank you
allsignals_rpoly_highR.png
pdf_rpoly_lowR.png
pdf_rpoly_highR.png

Mikkel Juelsholt

unread,
Nov 2, 2023, 1:19:26 PM11/2/23
to diffpy-users
Hi Marco 

Rule of thumb is that rpoly should never be larger than your shortest interatomic distance that you can see. I include the you can see because there are several H interatomic bonds that are around 1 Å but we cannot see them in x-ray data. For you, it means you should not go higher than 1.1 Å. 

Looking at your data I think you are in trouble from just your raw scattering data. It looks to me that you have a Bragg peak right at the edge of your detector. You have this weird flat part at the start of your data. How does this work? Where does it come from? 
And how do you do your background subtraction? For me, it looks like you are over-subtracting your background, which will cause all the trouble. 
Furthermore, just below 10, just above 15 and just below 20 Å-1 you have these weird sharp edges in the Q-space data. This is also going to make it troublesome for you to get a PDF. Looks like you need to mask your 2D data better. Is this measured on a CdTe detector? They tend to be very problematic. 

Hope this can help you in the right direction. 

Cheers Mikkel

Marco Vandone

unread,
Nov 2, 2023, 1:42:18 PM11/2/23
to diffpy-users
Hi Mikkel,
Thank you so much for your answer. 
Indeed I have some problems with the detectors and I'm already masking it as best as I can (there are also glitches at high q not visble here that don't allow me to estend the q range). I'm checking the flat part but I usually cut it off when I process the data. 
For the background, I'm using the empty capillary images for it and by comparing the obtained patterns (no bkg, with bkg, only empy capillary) it seems that the subtraction is reasonable, not having any over-subtraction.
I'll look into these points and I'll come back here.
I don't know which detector they were using, but I'm having some problems with the masking etc.
Again, thank you so much!
Best 

Marco Vandone

unread,
Jul 3, 2024, 9:57:07 AMJul 3
to diffpy-users
Hi, I'm coming back to the same topic.
I'm trying to understand how we should deal with the r_poly value.
I read different papers and many posts around this forum to have an idea, but still, it's not clear to me if r_poly should be used to make G(r) look better (no ripples at the beginning, no strong peaks, with a slope = 4pi*rho*r) or it should be adjusted to let the S(Q) function be coherent with its mathematical description (starts at 0 and tends to 1 as q increases)
I came across examples where S(Q) starts at five or a generally high value due to strong peaks close to Q=0. To have an S(Q) with the correct shape, I had to use rpoly =2 or more, which hinders much of the usable r space with MOF materials, where the first distances are 1.3-1.5A.

On the same topic, I was trying to understand what are the traces present in the plot (FIg1) obtained from
t4 = pdfgetter.getTransformation(4)
t4.plot()
(procedure described here https://www.diffpy.org/doc/pdfgetx3/tutorial.html#:~:text=y%20default%20the%20tuneconfig()%20function,passed%20to%20the%20tuneconfig()%20function)
and I miss the orange, purple and red ones ...

Another typical situation I came across is represented in Fig 2, which comes from MOFs.
grey line -> rpoly 1.08
blue line -> rpoly 1.6
As u can see, the blue line seems to have a better profile for G(r), although the grey one has a better profile for S(Q), which starts from 0 and tends to 1(but then G(r) has that strong peak at 0.77, which is something that I often see treating PDFs from MOF)

Any help would be really appreciated.
Figure_2.png
Figure_1.png

Marco Vandone

unread,
Jul 3, 2024, 10:16:20 AMJul 3
to diffpy-users
https://scripts.iucr.org/cgi-bin/paper?S1600576720015630
I was looking at this to understand how the S(Q) function should look like ... and seems that it shouldn't tend to 0 but to a finite value which seems to be close to 0 (?)

Mikkel Juelsholt

unread,
Jul 3, 2024, 1:46:30 PMJul 3
to diffpy-users
Hi Marco 

The correct answer is that you cannot choose r_poly so that "G(r) to look better (no ripples at the beginning, no strong peaks, with a slope = 4pi*rho*r), or it should be adjusted to let the S(Q) function be coherent with its mathematical description." G(r) is the Fourier transform of S(Q)  and does not include any new information. If your S(Q) is correct, then your G(r) will also be. It is not a compromise between them because the data is the same. We use both to guide the polynomial that is being fitted to correct for incoherent and inelastic effects. 

S(Q) should oscillate around 1 and will go to 1 as Q goes to infinity due to the thermal motion of the atoms and in the case of x-rays, the form factor. 
G(r) should oscillate around 0 and go to 0 as r goes to infinity. 
However, if you read the paper you are referring to, you will see that essentially, after every equation, the authors mention a bunch of exceptions to the derived equations. 
In your case, with MOF materials, you are guaranteed to have a bunch of small-angle scattering, which will make the equations different. 

The important thing to remember is that rpoly is a number you give the PDFgetX3 algorithm and PDFgetX3 will do its best to correct your S(Q) and F(Q) with a polynomial so that the resulting G(r) is 0 below the rpoly value. Because of this ad hoc method, the corrections will never be perfect so there will be some leftover incoherent/inelastic signal but this will be a low frequency Q signal giving sharp peaks at very low r in real space. 

So for your MOF if you have interatomic distances at 1.3 Å keep rpoly below that. If you force real PDF peaks to go away, you are overcorrecting you S(Q). Then the only thing you can do is to find the value that minimises peaks at unphysical r-distances. 

Cheers Mikkel


Reply all
Reply to author
Forward
0 new messages