Changeset 052d4c5 in sasmodels for sasmodels/models/parallelepiped.py
- Timestamp:
- Jun 12, 2018 4:00:28 AM (6 years ago)
- Branches:
- master, core_shell_microgels, magnetic_model, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- c11d09f
- Parents:
- 0b9c6df (diff), f89ec96 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - git-author:
- Paul Butler <butlerpd@…> (06/12/18 04:00:28)
- git-committer:
- GitHub <noreply@…> (06/12/18 04:00:28)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/parallelepiped.py
ref07e95 rf89ec96 2 2 # Note: model title and parameter table are inserted automatically 3 3 r""" 4 The form factor is normalized by the particle volume.5 For information about polarised and magnetic scattering, see6 the :ref:`magnetism` documentation.7 8 4 Definition 9 5 ---------- 10 6 11 This model calculates the scattering from a rectangular parallelepiped 12 (\:numref:`parallelepiped-image`\). 13 If you need to apply polydispersity, see also :ref:`rectangular-prism`. 7 This model calculates the scattering from a rectangular solid 8 (:numref:`parallelepiped-image`). 9 If you need to apply polydispersity, see also :ref:`rectangular-prism`. For 10 information about polarised and magnetic scattering, see 11 the :ref:`magnetism` documentation. 14 12 15 13 .. _parallelepiped-image: … … 21 19 22 20 The three dimensions of the parallelepiped (strictly here a cuboid) may be 23 given in *any* size order. To avoid multiple fit solutions, especially 24 with Monte-Carlo fit methods, it may be advisable to restrict their ranges. 25 There may be a number of closely similar "best fits", so some trial and 26 error, or fixing of some dimensions at expected values, may help. 27 28 The 1D scattering intensity $I(q)$ is calculated as: 21 given in *any* size order as long as the particles are randomly oriented (i.e. 22 take on all possible orientations see notes on 2D below). To avoid multiple fit 23 solutions, especially with Monte-Carlo fit methods, it may be advisable to 24 restrict their ranges. There may be a number of closely similar "best fits", so 25 some trial and error, or fixing of some dimensions at expected values, may 26 help. 27 28 The form factor is normalized by the particle volume and the 1D scattering 29 intensity $I(q)$ is then calculated as: 29 30 30 31 .. Comment by Miguel Gonzalez: … … 39 40 40 41 I(q) = \frac{\text{scale}}{V} (\Delta\rho \cdot V)^2 41 \left< P(q, \alpha ) \right> + \text{background}42 \left< P(q, \alpha, \beta) \right> + \text{background} 42 43 43 44 where the volume $V = A B C$, the contrast is defined as 44 $\Delta\rho = \rho_\text{p} - \rho_\text{solvent}$, 45 $P(q, \alpha)$ is the form factor corresponding to a parallelepiped oriented 46 at an angle $\alpha$ (angle between the long axis C and $\vec q$), 47 and the averaging $\left<\ldots\right>$ is applied over all orientations. 45 $\Delta\rho = \rho_\text{p} - \rho_\text{solvent}$, $P(q, \alpha, \beta)$ 46 is the form factor corresponding to a parallelepiped oriented 47 at an angle $\alpha$ (angle between the long axis C and $\vec q$), and $\beta$ 48 (the angle between the projection of the particle in the $xy$ detector plane 49 and the $y$ axis) and the averaging $\left<\ldots\right>$ is applied over all 50 orientations. 48 51 49 52 Assuming $a = A/B < 1$, $b = B /B = 1$, and $c = C/B > 1$, the 50 form factor is given by (Mittelbach and Porod, 1961 )53 form factor is given by (Mittelbach and Porod, 1961 [#Mittelbach]_) 51 54 52 55 .. math:: … … 66 69 \mu &= qB 67 70 68 The scattering intensity per unit volume is returned in units of |cm^-1|. 69 70 NB: The 2nd virial coefficient of the parallelepiped is calculated based on 71 the averaged effective radius, after appropriately sorting the three 72 dimensions, to give an oblate or prolate particle, $(=\sqrt{AB/\pi})$ and 73 length $(= C)$ values, and used as the effective radius for 74 $S(q)$ when $P(q) \cdot S(q)$ is applied. 75 76 For 2d data the orientation of the particle is required, described using 77 angles $\theta$, $\phi$ and $\Psi$ as in the diagrams below, for further details 78 of the calculation and angular dispersions see :ref:`orientation` . 79 80 .. Comment by Miguel Gonzalez: 81 The following text has been commented because I think there are two 82 mistakes. Psi is the rotational angle around C (but I cannot understand 83 what it means against the q plane) and psi=0 corresponds to a||x and b||y. 84 85 The angle $\Psi$ is the rotational angle around the $C$ axis against 86 the $q$ plane. For example, $\Psi = 0$ when the $B$ axis is parallel 87 to the $x$-axis of the detector. 88 89 The angle $\Psi$ is the rotational angle around the $C$ axis. 90 For $\theta = 0$ and $\phi = 0$, $\Psi = 0$ corresponds to the $B$ axis 91 oriented parallel to the y-axis of the detector with $A$ along the x-axis. 92 For other $\theta$, $\phi$ values, the parallelepiped has to be first rotated 93 $\theta$ degrees in the $z-x$ plane and then $\phi$ degrees around the $z$ axis, 94 before doing a final rotation of $\Psi$ degrees around the resulting $C$ axis 95 of the particle to obtain the final orientation of the parallelepiped. 96 97 .. _parallelepiped-orientation: 98 99 .. figure:: img/parallelepiped_angle_definition.png 100 101 Definition of the angles for oriented parallelepiped, shown with $A<B<C$. 102 103 .. figure:: img/parallelepiped_angle_projection.png 104 105 Examples of the angles for an oriented parallelepiped against the 106 detector plane. 107 108 On introducing "Orientational Distribution" in the angles, "distribution of 109 theta" and "distribution of phi" parameters will appear. These are actually 110 rotations about axes $\delta_1$ and $\delta_2$ of the parallelepiped, 111 perpendicular to the $a$ x $c$ and $b$ x $c$ faces. (When $\theta = \phi = 0$ 112 these are parallel to the $Y$ and $X$ axes of the instrument.) The third 113 orientation distribution, in $\psi$, is about the $c$ axis of the particle, 114 perpendicular to the $a$ x $b$ face. Some experimentation may be required to 115 understand the 2d patterns fully as discussed in :ref:`orientation` . 116 117 For a given orientation of the parallelepiped, the 2D form factor is 118 calculated as 119 120 .. math:: 121 122 P(q_x, q_y) = \left[\frac{\sin(\tfrac{1}{2}qA\cos\alpha)}{(\tfrac{1}{2}qA\cos\alpha)}\right]^2 123 \left[\frac{\sin(\tfrac{1}{2}qB\cos\beta)}{(\tfrac{1}{2}qB\cos\beta)}\right]^2 124 \left[\frac{\sin(\tfrac{1}{2}qC\cos\gamma)}{(\tfrac{1}{2}qC\cos\gamma)}\right]^2 125 126 with 127 128 .. math:: 129 130 \cos\alpha &= \hat A \cdot \hat q, \\ 131 \cos\beta &= \hat B \cdot \hat q, \\ 132 \cos\gamma &= \hat C \cdot \hat q 133 134 and the scattering intensity as: 135 136 .. math:: 137 138 I(q_x, q_y) = \frac{\text{scale}}{V} V^2 \Delta\rho^2 P(q_x, q_y) 71 where substitution of $\sigma = cos\alpha$ and $\beta = \pi/2 \ u$ have been 72 applied. 73 74 For **oriented** particles, the 2D scattering intensity, $I(q_x, q_y)$, is 75 given as: 76 77 .. math:: 78 79 I(q_x, q_y) = \frac{\text{scale}}{V} (\Delta\rho \cdot V)^2 P(q_x, q_y) 139 80 + \text{background} 140 81 … … 148 89 with scale being the volume fraction. 149 90 91 Where $P(q_x, q_y)$ for a given orientation of the form factor is calculated as 92 93 .. math:: 94 95 P(q_x, q_y) = \left[\frac{\sin(\tfrac{1}{2}qA\cos\alpha)}{(\tfrac{1} 96 {2}qA\cos\alpha)}\right]^2 97 \left[\frac{\sin(\tfrac{1}{2}qB\cos\beta)}{(\tfrac{1} 98 {2}qB\cos\beta)}\right]^2 99 \left[\frac{\sin(\tfrac{1}{2}qC\cos\gamma)}{(\tfrac{1} 100 {2}qC\cos\gamma)}\right]^2 101 102 with 103 104 .. math:: 105 106 \cos\alpha &= \hat A \cdot \hat q, \\ 107 \cos\beta &= \hat B \cdot \hat q, \\ 108 \cos\gamma &= \hat C \cdot \hat q 109 110 111 FITTING NOTES 112 ~~~~~~~~~~~~~ 113 114 #. The 2nd virial coefficient of the parallelepiped is calculated based on 115 the averaged effective radius, after appropriately sorting the three 116 dimensions, to give an oblate or prolate particle, $(=\sqrt{AB/\pi})$ and 117 length $(= C)$ values, and used as the effective radius for 118 $S(q)$ when $P(q) \cdot S(q)$ is applied. 119 120 #. For 2d data the orientation of the particle is required, described using 121 angles $\theta$, $\phi$ and $\Psi$ as in the diagrams below, where $\theta$ 122 and $\phi$ define the orientation of the director in the laboratry reference 123 frame of the beam direction ($z$) and detector plane ($x-y$ plane), while 124 the angle $\Psi$ is effectively the rotational angle around the particle 125 $C$ axis. For $\theta = 0$ and $\phi = 0$, $\Psi = 0$ corresponds to the 126 $B$ axis oriented parallel to the y-axis of the detector with $A$ along 127 the x-axis. For other $\theta$, $\phi$ values, the order of rotations 128 matters. In particular, the parallelepiped must first be rotated $\theta$ 129 degrees in the $x-z$ plane before rotating $\phi$ degrees around the $z$ 130 axis (in the $x-y$ plane). Applying orientational distribution to the 131 particle orientation (i.e `jitter` to one or more of these angles) can get 132 more confusing as `jitter` is defined **NOT** with respect to the laboratory 133 frame but the particle reference frame. It is thus highly recmmended to 134 read :ref:`orientation` for further details of the calculation and angular 135 dispersions. 136 137 .. note:: For 2d, constraints must be applied during fitting to ensure that the 138 order of sides chosen is not altered, and hence that the correct definition 139 of angles is preserved. For the default choice shown here, that means 140 ensuring that the inequality $A < B < C$ is not violated, The calculation 141 will not report an error, but the results may be not correct. 142 143 .. _parallelepiped-orientation: 144 145 .. figure:: img/parallelepiped_angle_definition.png 146 147 Definition of the angles for oriented parallelepiped, shown with $A<B<C$. 148 149 .. figure:: img/parallelepiped_angle_projection.png 150 151 Examples of the angles for an oriented parallelepiped against the 152 detector plane. 153 154 .. Comment by Paul Butler 155 I am commenting this section out as we are trying to minimize the amount of 156 oritentational detail here and encourage the user to go to the full 157 orientation documentation so that changes can be made in just one place. 158 below is the commented paragrah: 159 On introducing "Orientational Distribution" in the angles, "distribution of 160 theta" and "distribution of phi" parameters will appear. These are actually 161 rotations about axes $\delta_1$ and $\delta_2$ of the parallelepiped, 162 perpendicular to the $a$ x $c$ and $b$ x $c$ faces. (When $\theta = \phi = 0$ 163 these are parallel to the $Y$ and $X$ axes of the instrument.) The third 164 orientation distribution, in $\psi$, is about the $c$ axis of the particle, 165 perpendicular to the $a$ x $b$ face. Some experimentation may be required to 166 understand the 2d patterns fully as discussed in :ref:`orientation` . 167 150 168 151 169 Validation … … 156 174 angles. 157 175 158 159 176 References 160 177 ---------- 161 178 162 P Mittelbach and G Porod, *Acta Physica Austriaca*, 14 (1961) 185-211 163 164 R Nayuk and K Huber, *Z. Phys. Chem.*, 226 (2012) 837-854179 .. [#Mittelbach] P Mittelbach and G Porod, *Acta Physica Austriaca*, 180 14 (1961) 185-211 181 .. [#] R Nayuk and K Huber, *Z. Phys. Chem.*, 226 (2012) 837-854 165 182 166 183 Authorship and Verification … … 169 186 * **Author:** NIST IGOR/DANSE **Date:** pre 2010 170 187 * **Last Modified by:** Paul Kienzle **Date:** April 05, 2017 171 * **Last Reviewed by:** Richard Heenan **Date:** April 06, 2017 188 * **Last Reviewed by:** Miguel Gonzales and Paul Butler **Date:** May 24, 189 2018 - documentation updated 172 190 """ 173 191
Note: See TracChangeset
for help on using the changeset viewer.