Need help with Pair distribution function analysis

839 views
Skip to first unread message

Ranjith Devaraj

unread,
Dec 4, 2020, 6:13:06 PM12/4/20
to diffpy-users
Greetings of the day all,
I am Ranjith Devaraj, PhD student at Western Michigan University in the department of Mechanical engineering. My research involves study of Heusler alloy particularly interesting in NiMnGa alloy. I am looking into the pair distribution function analysis to get a better picture of the local structure of the alloy obtained from different manufacturing process and also interested in phase transformation temperature for room temperature cooling application. I have obtained data from Argonne National Labs using 11-ID-B. I am totally new in this field. i have been exploring different software, initially started with fullproof then went on to use GSAS 2 but got stuck with refinement phase. I am currently using fit2d to convert the 2d file to 1d into .chi format, used PDFgetX2 which required lot of parameter that I was not aware of and tried PDFgetX3 recently it went smoothly. now for refinement do i use PDFgui? or JANA?. i did try fitting in PDFgui but not sure what mistake i did it wouldn't calculate.
Any help is much Appreciated.

Thank you,
Ranjith 

Simon Billinge

unread,
Dec 5, 2020, 6:12:12 AM12/5/20
to diffpy...@googlegroups.com
Hi Ranjith,

It sounds as if you made a very good start, congratulations!

The standard workflow in our group would be to use this stack:
pyFAI (calibration and integration).  There are some gui's for pyfai such as dioptas but we don't use the guis)
PDFgetX3.  We use it in the xPDFsuite gui which makes life much easier but you(r boss) have to pay for that package
PDFgui.  For initial modeling in an "attenuated crystal" modeling approach
Diffpy-CMI  When we need more powerful modeling capabilities like discrete clusters etc..  Some other groups at this point turn to "big box" modeling approaches such as RMC.  We get many papers published without having to resort to diffpy-cmi or big box modeling which  generally takes considerably more time and effort.

This is the current stack.   We are working on next-generation tools that do things like pipelining the data reduction/analysis for high throughput situations, and using data analytic methods to help with modeling.   As these become publicly available they will be announced here, so keep an eye on diffpy-users.

We also are working on a book to help people get started with these methods that we hope will be out shortly.  For now, doing the tutorials that come with the PDFgui program is a great way to start, trying to find a workshop to get hands-on help (also often advertised on diffpy-users).  If you have a structural 'cif' file for the material you are studying, and you want to post it here, I am sure someone would be happy to check that it is loading correctly and giving a valid PDF.

This is just the basic workflow in our group.  Other groups do it differently.

Simon (Billinge)

--
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/95d7c061-aac1-44d5-aeed-4d26c934ed47n%40googlegroups.com.


--
Simon Billinge
Professor, Columbia University
Physicist, Brookhaven National Laboratory

Ranjith Devaraj

unread,
Dec 5, 2020, 1:02:51 PM12/5/20
to diffpy-users
Thanks for the quick reply Dr. Billinge,
I was wondering if the software was cross-compatible with others, as i had used fit2d for calibration and integration and then went on to use pdfgetx3 to obtain pdf. I did try the RMC profile on GSAS2 which is dependent on the RMCprofile package and couldn't get that working. It would be great if someone verified my work and guide me if I am doing it right. Attached is the pdf I obtained through PDFgetx3 G -A vs r(A). Also attached is a stochiometric composition of the alloy and the PDF file i obtained through PDFgetX3


Thank you
Sincerely,
Ranjith 

Ranjith Devaraj

unread,
Dec 5, 2020, 1:03:14 PM12/5/20
to diffpy-users
Figure_1.png

On Saturday, December 5, 2020 at 6:12:12 AM UTC-5 Simon J. L. Billinge wrote:

Ranjith Devaraj

unread,
Dec 5, 2020, 1:04:14 PM12/5/20
to diffpy-users
MnGaNi2_mp-20228_symmetrized.cif
Message has been deleted

Ranjith Devaraj

unread,
Dec 5, 2020, 1:05:31 PM12/5/20
to diffpy-users
Sorry for the mess it wouldn't let me attach files to my message.

On Saturday, December 5, 2020 at 6:12:12 AM UTC-5 Simon J. L. Billinge wrote:

Ranjith Devaraj

unread,
Dec 5, 2020, 1:08:22 PM12/5/20
to diffpy-users

Mikkel Juelsholt

unread,
Dec 7, 2020, 1:15:20 PM12/7/20
to diffpy-users
Hi Ranjith 

I don't know if you have gotten the answers you need, but it looks to me as you are keeping some unphysical data from your integration. 

I believe you have used a 2D area detector for the data collection and you keep the data measured at the corners of the detector in your Fourier transform. It is important to know that only the data that comes from whole rings on the 2D detector should be used for you PDF. It can be difficult to see in the I(q), but the effect is easily seen in the F(q) and the G(r). As you can see in my attached image the data at very high Q, i.e. the corners of the detector, gives rise to this sharp peak. This is not physical and is an artefact left by the detector. Instead you need to set your Qmax-instr. to below the sharp peak. Then use your Qmax to optimise the noise vs. Q-range. See the end result in the other attached image. 

Alternatively your mask in the integration step is not good enough. Look for very sharp thin peaks at random places in the F(q) 

Normally my process is to use fit2D to do the calibration. Then integrate my data using Dioptas, because the masking is much easier. Then I use PDFgetX3 to obtain my PDF. You can use a number of programs to refine the data. I personally use PDFgui coupled with Diffpy-CMI, but also Topas (though you have to pay for it.) I don't know if JANA can model PDFs, but GSAS-II can, I think. Also DISCUS and Fullprof can be used, but I have never used Fullprof for PDFs. The first question to ask yourself when starting to model is if you have a cif-file or something similar as your starting model. If not can you construct one? Because if you don't, yoo need to use either DISCUS or Diffpy to work with XYZ files.

Happy PDFing

Mikkel

Screenshot 2020-12-07 at 18.56.03.png
Screenshot 2020-12-07 at 18.55.39.png

Ranjith Devaraj

unread,
Dec 8, 2020, 12:41:32 AM12/8/20
to diffpy-users
Dear Mikkel,
Thanks for checking it out. I do agree with you, i believe the range set during calibration and integration was to blame. I am not sure as to what constitutes as the best range. I did come across the max Q to be 30 angstrom or greater  from the paper
 " Billinge, Simon. (2019). The rise of the X-ray atomic pair distribution function method: a series of fortunate events. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences. 377. 20180413. 10.1098/rsta.2018.0413 "   
I did try Fullprof for a while but was unsuccessful. I do believe i need to construct a structure file. 
Also, when i used PDFgui - i did provide the initial stochiometric structure file and i tried creating a phase from scratch by adding atoms and expanding the space group. but my refinement always resulted with near zero values for calculated line or sometime it got stuck with 2nd run and never went beyond. 
With GSAS 2 - I was confused as to importing the .gr PDF file because, when i tried importing as PDF data it gave me an error saying the data was not in the tree. i tried another way to import it by using powder data import but that resulted in the graph being intensity vs 2theta or Q and it was half the graph. 
Can you please guide me in using PDFgui or DISCUS for refinement?
also attached is PDF obtained from GSAS2 what do you think of this?
and my refinement would look soo bad. 

Thanks for your help!
Sincerely,
Ranjith 


G(r).pnginitial_refinement.png

Mikkel Juelsholt

unread,
Dec 9, 2020, 10:37:23 AM12/9/20
to diffpy-users
Hi Ranjith

The PDFs looks much better. To me it looks like you need to add an instrumental dampening to the model. This is due to limited Q-resolution on the instrument. 

I would start by going through these tutorials for PDFgui: https://github.com/diffpy/add2016-pdfgui

And use the PDFgui manual to help you. 

Cheers Mikkel

Ranjith Devaraj

unread,
Feb 11, 2021, 8:58:46 PM2/11/21
to diffpy-users
Dear Mikkel,
I am not sure where I am going wrong. initial refinement seems promising but later the G calculated goes to near zero. Attached are few of my runs using PDFgui. Can you please guide me with this? 



NiGaMn_PDF.png

1st_refinement.png2nd refinement.png
Thank you,
Ranjith 

Mikkel Juelsholt

unread,
Feb 12, 2021, 5:15:38 AM2/12/21
to diffpy-users
Hi Ranjith

It looks like you are using a wrong model. When I look at the plots you attached your calculated peaks seems to be in the wrong positions. It also looks like you have fairly crystalline samples, so I would start by looking at I(q) and see if you can identify the crystalline phases from the Bragg peaks.


Best Mikkel

Ranjith Devaraj

unread,
Feb 12, 2021, 11:12:23 PM2/12/21
to diffpy-users

Thanks for the quick response Mikkel,
So, when you say model are you referring to my phase data? I do not have a .cif file and I manually add the atoms, I do know the space group which is Fm -3m. I did not get I(Q) from pdfgetx3. Is my PDF data wrong? Should I be using the instrument parameters in the configuration file while I generate PDF from PDFgetX3?

Sincerely, 
Ranjith

Mikkel Juelsholt

unread,
Feb 13, 2021, 3:55:08 AM2/13/21
to diffpy-users
Yes, the model is the phase you fit to the data. 

You can get PDFgetX3 to generate the I(Q), but it is essentially your raw scattering data. I would maybe suggest you do a Rietveld refinement of you Q-space data before you start refining the PDF so you what crystalline phases you have present and what their lattice parameters are.

I think your PDF looks fine, but to be sure I would need to look at your I(Q) and F(Q).

I don't believe you have the right space group. There are too many peaks in the first 10 Å to have something with such high symmetry. If you are sure about the space group, you have serious local distortions or more likely at least one impurity phase. To figure out which, then start by doing a Rietveld refinement of your data in Q-space. You should be able to do it with the crystallite size of your sample. 
If you look at your calculated PDF and your measured PDF you will see that the first calculated peak is around 4 Å,. There is no peak in the experimental PDF at 4 Å. Instead the first peak is around 2 Å. So I do believe you have a wrong model. My guess is your model is a metal/alloy, but your PDF looks more like an oxide. Could your sample have been oxidised during the measurement?  

I would suggest you try to find a CIF-file. Have searched a database e.g. the crystallographic open data base?

Simon Billinge

unread,
Feb 13, 2021, 1:30:36 PM2/13/21
to diffpy...@googlegroups.com
Mikkel is right.  Your model looks like close-packed fcc (which would be in sg Fm-3m) and your measured PDF looks like a good PDF but is certainly not close-packed fcc, it is something else.

With PDFitc it is possible to
1) put your measured PDF into the structureMining app with some basic compositional information and it can see if there are any structures in the  known structural databases that give PDFs that are close to you rmeasured one.  You would immediately find if there is a known oxide (for example) that matches your PDF (no need for Rietveld in that case)
2) give your measured PDF to the sgfinder App and it will tell you what s.g. it thinks the sample had that produced the PDF.

These are quick and dirty things to do before Rietveld.

Unfortunately, PDFitc is not publicly available yet (we are waiting approval from legal).  Ranjith, if you want please send your measured PDF (gr file please) to us (sb2...@columbia.edu) and anything you know about what the composition of the sample may be (even just what elements are definitely there) we can run these tests for you.

S

--
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.

Ranjith Devaraj

unread,
Feb 13, 2021, 3:16:02 PM2/13/21
to diffpy-users
NiGaMn_PDF_gr.png


Thanks Dr. Billinge,
will share the files with you. your insight will be very helpful. attached is the S(Q) and I(Q) that i obtained. 

Sincerely, 
Ranjith 

Ranjith Devaraj

unread,
Feb 19, 2021, 10:31:47 PM2/19/21
to diffpy-users
Dr. Billinge,
I tried sending the file immediately but there was some network issues and it unfortunately did not go through, noticed it just now.  I have resent the mail just now.

Sincerely, 
Ranjith

Simon Billinge

unread,
Feb 20, 2021, 8:15:32 AM2/20/21
to diffpy...@googlegroups.com
Thanks for sharing your PDF Ranjith,

I tried it in PDFitc.org with telling structureMining that it contained Ni and Mn and another unspecified element.  StructureMining tried 177 variants and the top results are summarized in the screenshot below. 
image.png

One of them is a NiMnGa alloy so this may be the closest, but there are a number of nearby structural variants. 

structureMining does a quick and dirty fit (its job is to screen large numbers of structures, not to do a perfect fit, that is your job) and the fit for the Fm-3m NiMnGa alloy looked like this:
image.png

So PDFitc.org returned a number of good candidate structures and you can look into them all to gain more insights.

PDFitc returns the original cif from the database, and also the cif-file that is generated for PDFgui with the expanded unit cell.  I attach these below for the Ga containing Fm-3m variant, #1 in the list below.  You can try and see if you can reproduce the fit in PDFgui.

pdf_BMS219_p5x10_00025_tif_A0_Ni_Mn_X_1_initial_xtl.cif
pdf_BMS219_p5x10_00025_tif_A0_Ni_Mn_X_1_refined.cif

Ranjith Devaraj

unread,
Feb 20, 2021, 6:37:58 PM2/20/21
to diffpy-users
Thank you much Dr. Billinge, 
That's very helpful. I was kinda stuck with the analysis. Can't wait for PDFitc to be approved makes our life lot easier. I did try the crystallography database earlier but couldn't find a suitable .cif file. I was about to create one but again was not sure.
This helps a lot!
Will update you on the analysis. 
Thanks again!
Sincerely, 
Ranjith

Ranjith Devaraj

unread,
Feb 26, 2021, 11:29:02 PM2/26/21
to diffpy-users
Dr. Billinge,
I was able to refine my data, attached is my refinement. I believe I was not able to refine cause I did not assign a unique number for constraints. I do have some doubts about refining the positions or occupancy. Should I be assigning different numbers for each x, y, z. for each atom? The lowest weighted R I could achieve was around 26%
refinement.png
results.PNG

Mikkel Juelsholt

unread,
Feb 28, 2021, 4:41:39 PM2/28/21
to diffpy-users
Hi Ranjith 

This looks good. Rwp of 26 % can in many cases be really good, so you are close. Your xyz should have different parameters/number based on the symmetry you want to use. In PDFgui you do this by entering the constraint tab, marking the atoms you want to refine and right-click on them. Then choose 'Symmetry constraints'. This opens a window where you can refine the atomic positions and the temperature factors in a certain space group. Which space group to use is up to you to figure out, but I would start with the one reported for the crystal structure. 

Best Mikkel 

Reply all
Reply to author
Forward
0 new messages