low region in PDF

Skip to first unread message


Aug 3, 2016, 10:58:42 AM8/3/16
to diffpy-users
I have recently started to work with PDF data using PDFgetX3 and PDFGui. I am writing to you in order to ask you a question about PDF data.
I am working with some hydroxides samples, so I have some distances which belongs to O-H bond lengths around 0.8 angstrom (below 1 angstrom). My question is, working with PDF, can I trust on distances below 1 angstrom? or, the peaks below the rpoly are only ripples?
For this reason, I don't know if i can use PDFGUI to fit my data using a region which start below 1 angstrom (around 0.5 angstrom or so).

Many thanks in advance,



ali dordaee

Mar 6, 2021, 2:00:54 PMMar 6
to diffpy-users
 Dear Ana,
 You can use "--rpoly=0.5" if you want to set it to 0.5 Angstroms. But if you ask what exactly this rpoly does, I have no idea!

 I have a questions from experts here, Guys, Could you please guide me to a book or paper so I can totally understand what exactly this "rpoly" is? In PDFGETX3 documentation, there is barely 4 introductory lines about it, no physical definition, no equation! I really need something to learn about these parameters more... rpoly, Qdamp, Qbroad, delta1, delta2 (The only thing I learned from PDFgui documentation is that delta1 and delta2 related to peak width in high and low temperatures! What is HIGH? what is LOW? is 25°C LOW or HIGH? what about 25.001°C? what about 300°C? what about 0°C? ) .etc.

 Thanks in advance for any clues.

Simon Billinge

Mar 6, 2021, 2:53:42 PMMar 6
to diffpy...@googlegroups.com
Dear Ali,

Did you read about it here?: 

P. Juhás, T. Davis, C. L. Farrow, and Billinge, S. J. L. “PDFgetX3: A rapid and highly
automatable program for processing powder diffraction data into total scattering pair distribution
functions”. In: J. Appl. Crystallogr. 46 (2013), pp. 560–566. doi: 10.1107/S0021889813005190.
url: http://dx.doi.org/10.1107/S0021889813005190

I think it is  reasonably well described there, but let me know if you need more information.

You received this message because you are subscribed to the Google Groups "diffpy-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to diffpy-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/diffpy-users/a8332962-0aad-405d-89a6-feda31271114n%40googlegroups.com.

Simon Billinge
Professor, Columbia University
Physicist, Brookhaven National Laboratory

ali dordaee

Mar 6, 2021, 3:46:44 PMMar 6
to diffpy-users
 The paper is just impeccable. Thanks so much dear Simon. One last Question for tonight; Q_maxinst is always supposed to be Q_max in my results. Can I have any information about it as well?

 Thanks so much,

Simon Billinge

Mar 6, 2021, 4:30:18 PMMar 6
to diffpy...@googlegroups.com
Hi Ali,

I am glad the paper answered the question about r_poly. 

That's a great question about Q_maxinst. 

In terms of definition (which I think you know from that paper), Q_maxinst gives the highest Q-value that (along with Q_min) defines the range of I(Q) that the polynomial function is fit over.    On the other hand, Q_max (along with Q_min) gives the range of the diffraction data that is Fourier transformed to obtain the PDF.

But what is maybe more valuable to you is to learn our workflow and how we use these two parameters in my group when we do data reduction, so I can share that here.
1) I select a representative dataset from all my data to play around with the analysis. It might be the lowest T data or the highest T, or whatever, but I choose one.
2) I use xPDFsuite, so I select it in xPDFsuite and click the 2D plot button.   You can do something similar directly in PDFgetX3.
3) I set Q_maxinst and Q_max both to the maximum value so i can see all the data, and I select to plot I(Q) and F(Q) (but not S(Q) or G(r)).  The  most useful plot for what I will describe is F(Q) and I want it nice and big (I(Q) is a good sanity check, especially if there is a background being subtracted).
4) This allows me to see how BAD my data are.  I look for glitches and very weird stuff that often happens at the edges of the data in the high-Q range.   Then I identify a point on F(Q) to the left of the left-most nasty bad glitch (I don't worry so much about small glitches at this point).  In xPDFsuite I use my cursor to find the Q value of that point I identified.
5) I set Q_maxinst to that value.  The reason for this is that I want the polynomial to be fit over as wide a Q-range as possible, but I don't want the polynomial to try and fit nasty glitches that have nothing to do with the real signal.   At this point I don't care about statistical noise.  It can be as noisy as all heck, I am just caring about the glitches.
6) After I have set the Q_maxinst I then move the Q_max value around from lower to higher and see how it affects the PDF.  At this point, I often change what I am looking at to be looking at F(Q) and G(r).  Without changing Q_maxinst, I move Q_max around to get the right balance between resolution in my PDF (which wants higher Q_max) and reduction of noise (which wants lower Q_max).  I can make good guesses based on just looking at F(Q), but the real measure is what the g(r) looks like.  In F(Q) I am looking for signal-noise ratio, so I identify what I think is signal and I want it to be comparable to or higher than what I identify as noise.  But since, esthetically, the appearance of noise depends on the binning, the better measure is how small the ripples look like in G(r).
7) this gets Q_max to the right ball-park, then I purposefully select a point for my final Q_max where the signal approaches or goes through the F = 0 line just to finalize things.

Hope it helps,


Mikkel Juelsholt

Mar 7, 2021, 7:57:23 PMMar 7
to diffpy-users
Hi Ana

To answer your original question. If you are using PDFgetX3 then I assume you have X-ray data. While you in principle can see O-H bonds in a X-ray PDF, in practice this is not possible. The low scattering factor of H makes it almost invisible to X-ray PDF regardless of the atom it is bonded to. When bonded to O the overall electron density is so low that your O-H distances won't show up in your experimental PDF. In PDFgui you can always fit from 0 Å, but again it won't matter for your fit as the O-H bonds does not show up in the experimental PDF. 
You can see the O-H distances if you have a neutron PDF. If you have that, then you need to ensure you have really high Qmaxinstr and good statistics at high Q, to eliminate termination ripples and noise. If you have that then you can as Ali says set the Rpoly to 0.5 in PDFgetN (the neutron version of PDFgetX3) and your PDF peak above 0.5 Å should have physical meaning. 

All in all, the answer is: If you have a X-ray PDF then do not bother with distances at or below 1 Å because these are H distances and you cannot see them anyway. So rather optimise your Rpoly so the rest of your PDF looks good.

Best, Mikkel

ali dordaee

Mar 10, 2021, 3:14:39 PMMar 10
to diffpy-users
Thanks so much for the very thorough guidance dear Simon. I am so grateful.
Reply all
Reply to author
0 new messages