MDANSE icon indicating copy to clipboard operation
MDANSE copied to clipboard

Reimplement grouping as analysis input

Open MBartkowiakSTFC opened this issue 10 months ago • 0 comments

Description of work Following user feedback, new grouping mechanism has been introduced. The main intention was to make it compatible with the new atom selection mechanism.

Affected analysis types: Elastic Incoherent Structure Factor Dynamic Incoherent Structure Factor Gaussian Dynamic Incoherent Structure Factor Position Autocorrelation Function Mean Square Displacement Root Mean Square Deviation

More work will be needed in the future to enable grouping in the Root Mean Square Fluctuation analysis.

closes #644

Fixes

  1. Apart from the default "atom", two new grouping options are "average over molecules" and "individual molecules".
  2. GroupingTool class has been introduced to assign the correct results to their corresponding output datasets.
  3. The atom-averaged results are always included. The molecule-grouped results are produced from the same calculations, in order to reduce repetition in the calculations.
  4. The analysis jobs still iterate over individual atom indices, same as for the "atom" grouping.
  5. Unit tests have been added for the analysis types that use grouping.
  6. At the moment, molecules which are not fully within the selection are omitted from the calculation.

To test Load a trajectory that contains molecules. Generate a Centre of Mass Trajectory out of it. Run the jobs listed above on the COM trajectory (using "atom" grouping"), and on the normal trajectory using the molecule grouping. The results of the COM analysis and molecule-grouped analysis should be close to each other, but not the same.

MBartkowiakSTFC avatar May 16 '25 11:05 MBartkowiakSTFC