ISISNeutronMuon / ISISNeutronMuon/MDANSE

[ENHANCEMENT] Update the radius of gyration job so that is relevant to SANS experiments

Open
#591 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
29
Forks
8
Avg merge
2d 12h
Merged PRs (30d)
9

Description

**Is your feature request related to a problem? Please describe.**
Previously in #377 the weight setting of the ROG calculation was removed since it was not being used. At the time, it was unclear what the purpose of this was but now we can see that the ROG has some relevance to SANS experiments. It seems like the previous developers must have had this in mind but never implemented it. Also, the way that the weight scheme is defined in MDANSE can't be applied exactly, ROG will have to have its own modified weight scheme.

According to the Principles of Neutron Scattering from Condensed Matter, the intra-molecular scattering function can be approximated with the Guinier approximation.

$$
P(Q) \simeq \exp(-\frac{1}{3} Q^2 R_{g}^{2})
$$

$$
R_{g}^{2} = \frac{1}{B} \int_{0}^{\infty} \vert r - r_{\mathrm{com}} \vert^2 n_b (r ) d^{3} r
$$

$$
n_b (\mathbf{r} ) = \sum_{j} \bar{b_j} \delta(r - r_j)
$$

$$
B = \sum_{j} \bar{b_j}
$$

where the sum over $j$ go over the atoms of the molecule selected.

**Describe the solution you'd like**
Add the weight setting to the ROG calculation so that an ROG relevant to SANS experiments can be calculated. We might also need to adjust the job for the case where there is more than one molecule of the same type etc.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the radius of gyration (ROG) job and review the earlier weight-setting change in #377. Define how the modified weight scheme should represent SANS scattering and how calculations should behave when multiple molecules of the same type are selected. Done means the ROG calculation supports the requested weights and the multi-molecule case is resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.