Skip to content

Conversation

@rowlesmr
Copy link
Collaborator

This is a powder CIF that I'm working on as a potential replacement for the NiSi example in VolG.

It is a work in progress as I implement various macros in TOPAS.

.

The preferred orientation correction is completely contrived in order to put one of those correctionsin the CIF.

What else should be in there? Is there anything in there that shouldn't?

Note: The _geom* data names are generated from TOPAS. They are baked in to every version up to at least 7.

@vaitkus
Copy link
Collaborator

vaitkus commented Jul 16, 2025

What a chunky file. A few notes:

  • _pd_proc_ls.prof_gof_factor is not defined in any dictionaries.
  • _diffrn_radiation_wavelength.weight is not defined in any dictionaries.
  • _pd_meas.datetime_initiated values are missing the ":" separator between the hours and minutes in the timezone "0200" -> "02:00".

Unfortunately, the my validator has not been keeping up with the developments in multiblock representation therefore a lot of false positive messages are generated,

@vaitkus
Copy link
Collaborator

vaitkus commented Jul 16, 2025

Also, one question relating to the definition of _pd_calc_component.point_id? The current definition allows this item to link to all points (measured/processed/calculated) instead of only the calculated ones. Is this intentional?

@rowlesmr
Copy link
Collaborator Author

rowlesmr commented Jul 16, 2025

What a chunky file.

What's a few hundred thousand lines between friends? :)

  • _pd_proc_ls.prof_gof_factor is not defined in any dictionaries.

It's hiding in #248

  • _diffrn_radiation_wavelength.weight is not defined in any dictionaries.

Typinf from memory... Should be _diffrn_radiation_wavelength.wt

  • _pd_meas.datetime_initiated values are missing the ":" separator between the hours and minutes in the timezone "0200" -> "02:00".

Fixed.

.

The way that I'm coding this shows that if we have multiple datanames with the same value, it shouldn't be an error; just accept it and move on. On re-writing the CIF, only one instance of each dataname will make it out.

@rowlesmr
Copy link
Collaborator Author

rowlesmr commented Jul 16, 2025

Also, one question relating to the definition of _pd_calc_component.point_id? The current definition allows this item to link to all points (measured/processed/calculated) instead of only the calculated ones. Is this intentional?

Yes. The intent is to put all the diffractogram information into PD_DATA, so a single loop presents all diffraction data.

What would be desirable, but not currently possible within TOPAS, would be to present the component intensities using _pd_calc.component_intensities_net. (Hopefully we can delegate that to our hypothosised transformation program.)

Anyhoo, the idea is that the loop should be:

_pd_diffractogram.id	degaussa_raw_01
_pd_calc_overall.component_presentation_order   [ Anatase_10000 Rutile_10000 ]
loop_
	_pd_data.point_id
	_pd_meas.2theta_scan
	_pd_meas.intensity_total
	_pd_proc.ls_weight
	_pd_calc.intensity_total
	_pd_calc.intensity_bkg
    _pd_calc.component_intensities_net
        0    20.000000    79.000000     0.012658    69.085965    68.292377   [ 0.759500 0.034088 ]
        1    20.014260    63.000000     0.015873    69.046568    68.246595   [ 0.765753 0.034220 ]
        2    20.028519    74.000000     0.013514    69.007126    68.200847   [ 0.771927 0.034352 ]
        3    20.042779    65.000000     0.015385    68.966587    68.155133   [ 0.776969 0.034485 ]
        4    20.057038    73.000000     0.013699    68.925374    68.109453   [ 0.781302 0.034619 ]
        5    20.071298    64.000000     0.015625    68.884100    68.063808   [ 0.785538 0.034754 ]
        6    20.085557    65.000000     0.015385    68.842888    68.018197   [ 0.789802 0.034889 ]
        7    20.099816    66.000000     0.015152    68.801747    67.972621   [ 0.794101 0.035025 ]
        8    20.114076    68.000000     0.014706    68.760676    67.927078   [ 0.798435 0.035162 ]
        9    20.128335    61.000000     0.016393    68.719675    67.881570   [ 0.802805 0.035300 ]
       10    20.142595    77.000000     0.012987    68.678746    67.836096   [ 0.807212 0.035439 ]
       #...

which requires the point_ids to be the same.

_pcc.point_id currently points to _pd_data.point_id. If it were to point to _pd_calc.point_id, there'd be no difference as _pd_calc.point_id points to _pd_data.point_id, anyway.

@rowlesmr
Copy link
Collaborator Author

What else should be in there?

Needs PD_BACKGROUND, PD_SPEC, PD_INSTR

@rowlesmr rowlesmr marked this pull request as draft July 18, 2025 04:14
@rowlesmr
Copy link
Collaborator Author

I've written some TOPAS macros that automate the output of corrected 2Th values for specimen displacement (BB and DS only), so some more loveliness to be had.

@rowlesmr
Copy link
Collaborator Author

There are some PD_INSTR goodies, too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants