Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for Quality of Life (QoL) changes #133

Open
Te-rex83 opened this issue Jan 21, 2025 · 5 comments
Open

Request for Quality of Life (QoL) changes #133

Te-rex83 opened this issue Jan 21, 2025 · 5 comments
Labels
enhancement New feature or request Someday... Problem noted, but will not be addressed right now.

Comments

@Te-rex83
Copy link

Te-rex83 commented Jan 21, 2025

A GSAS-II project can hold multiple diffraction patterns (profiles). For example, a project can hold all the patterns for a HPHT multi anvil experiment. This can be potentially useful for refinement of multiple profiles at once, although I have not tried it to date.

  1. Imported phases (e.g. from CIF files) contain histograms of the profiles and these are all selected by default (when linking them). It would be great if there was a button to unselect or select all profiles with a single click, rather than go through the list deselecting them one-by-one except for the profile the refinement is worked on.

It's also important I think, that Le Bail extraction is only enabled for the profile being refined. Correct me if I'm wrong.

  1. The next problem I see is that after a successful refinement, the unit cell parameters and volume of the phases are not saved when moving on to refinement of the next profile. When I click through the list of profiles that have been successfully refined, I would like to see the unit cell parameters and volume of the phases restored for each one.

  2. Finally, after each refinement, the results are written to an lst file. This file is constantly overwritten, so previous progress is lost. Surely there must be a better way to export the refined unit cell parameters (and densities)?

Thank you for your attention.

Image

@briantoby
Copy link
Collaborator

Summary/Discussion:

  1. You would like an easier-to-use method to link/unlink phases and histograms rather set the use flag one histogram at a time.

    • Have you tried the Edit Phase/Remove Histograms command? I think this is what you want. Select Used does the same thing with the Use flags. It still must be done phase by phase, unless you use scripting.

Note that everything on the Phase/Data panel is recorded for a particular histogram within a phase, so with N phases and M histograms there are NxM LeBail flags, etc. (The button sets the LeBail flag for a given histogram within a phase.) I'm not sure if "copy data" or "copy flags" will reproduce this setting in other histogram but "copy selected" does list LeBail, so if that does not work please let us know.

  1. How to preserve unit cell parameters for fits of different histograms?

  2. How to tabulate varying cell parameters for different histograms?

    • there are two suggestions I have here (though they are related). One is this can be done with sequential refinements. This requires that you fix the lattice parameters and refine instead the hydrostatic offset parameters (Dij values) on the Data tab. If you do that then the unit cell values will be recorded separately for every histogram in the phase. Sequential fitting will give you nice reporting options, but even if you don't use that, I think refining Dij values will allow you to keep separate track of cells by histogram.

There might be some types of refinements that are too complex to use sequential fitting (which also becomes cumbersome with thousands of patterns). GSASIIscripting is probably what to look at for that.

@briantoby briantoby added enhancement New feature or request Someday... Problem noted, but will not be addressed right now. labels Jan 24, 2025
@Te-rex83
Copy link
Author

Have you tried the Edit Phase/Remove Histograms command? I think this is what you want. Select Used does the same thing with the Use flags. It still must be done phase by phase, unless you use scripting.

Thank you, I did not know this was there.

I think refining Dij values will allow you to keep separate track of cells by histogram

Thanks, I need to see how that works for me. I have not tried sequential fitting, I'm afraid of making mistakes, so I inspect every refinement pattern by pattern.

@Te-rex83
Copy link
Author

Te-rex83 commented Feb 13, 2025

Having tried refining the Hydrostatic / Elastic strain parameters D11 (D33, etc), it does indeed preserve the lattice parameters and volume information for each histogram in the project. However, I find this nonetheless impractical because I cannot copy these results from the GUI and they are not saved in the lst file after a refinement.

The best solution would be to save a new lst file after each refinement, not overwrite the file. In the same way the project is constantly saved as a new gpx file after a refinement.

@briantoby
Copy link
Collaborator

In the original GSAS, the .LST file was never overwritten. It was useful in that it provided a log of what had been done, but grew to be huge and very hard to make use of. We don't want to go that route again.

The place where it does make sense to put this sort of information is in the Notebook. While at it, a way to export the notebook comments is needed, too (@briantoby)

FWIW: the sequential refinement would track all this information. You could even put one histogram at a time into the sequential fit so that every refinement would still be done manually.

@briantoby
Copy link
Collaborator

I have added refined cell parameters into the notebook and added a save option in version 858480b. I would appreciate if you could confirm that the values match what is in the .lst file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Someday... Problem noted, but will not be addressed right now.
Projects
None yet
Development

No branches or pull requests

2 participants