Changeset dbf1a60 in sasmodels for sasmodels/models/core_shell_parallelepiped.py
- Timestamp:
- Mar 11, 2018 2:29:41 PM (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:
- 9616dfe
- Parents:
- 367886f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/core_shell_parallelepiped.py
r367886f rdbf1a60 11 11 .. math:: 12 12 13 I(q) = \ text{scale}\frac{\langle P(q,\alpha,\beta) \rangle}{V}13 I(q) = \frac{\text{scale}}{V} \langle P(q,\alpha,\beta) \rangle 14 14 + \text{background} 15 15 16 16 where $\langle \ldots \rangle$ is an average over all possible orientations 17 of the rectangular solid .18 19 The function calculated is the form factor of the rectangular solid below. 17 of the rectangular solid, and the usual $\Delta \rho^2 \ V^2$ term cannot be 18 pulled out of the form factor term due to the multiple slds in the model. 19 20 20 The core of the solid is defined by the dimensions $A$, $B$, $C$ such that 21 21 $A < B < C$. … … 29 29 There are rectangular "slabs" of thickness $t_A$ that add to the $A$ dimension 30 30 (on the $BC$ faces). There are similar slabs on the $AC$ $(=t_B)$ and $AB$ 31 $(=t_C)$ faces. The projection in the $AB$ plane is then31 $(=t_C)$ faces. The projection in the $AB$ plane is 32 32 33 33 .. figure:: img/core_shell_parallelepiped_projection.jpg 34 34 35 35 AB cut through the core-shell parllelipiped showing the cross secion of 36 four of the six shell slabs 37 38 The volume of the solid is 36 four of the six shell slabs. As can be seen This model leaves **"gaps"** 37 at the corners of the solid. 38 39 40 The total volume of the solid is thus given as 39 41 40 42 .. math:: 41 43 42 44 V = ABC + 2t_ABC + 2t_BAC + 2t_CAB 43 44 **meaning that there are "gaps" at the corners of the solid.**45 45 46 46 The intensity calculated follows the :ref:`parallelepiped` model, with the 47 47 core-shell intensity being calculated as the square of the sum of the 48 amplitudes of the core and the slabs on the edges. 49 50 the scattering amplitude is computed for a particular orientation of the 51 core-shell parallelepiped with respect to the scattering vector and then 52 averaged over all possible orientations, where $\alpha$ is the angle between 53 the $z$ axis and the $C$ axis of the parallelepiped, $\beta$ is 54 the angle between projection of the particle in the $xy$ detector plane 55 and the $y$ axis. 56 57 .. math:: 58 59 P(q)=\int_{0}^{\pi/2}\int_{0}^{\pi/2}F^2(q,\alpha,\beta) \ cos\alpha 60 \ d\alpha \ d\beta 48 amplitudes of the core and the slabs on the edges. The scattering amplitude is 49 computed for a particular orientation of the core-shell parallelepiped with 50 respect to the scattering vector and then averaged over all possible 51 orientations, where $\alpha$ is the angle between the $z$ axis and the $C$ axis 52 of the parallelepiped, and $\beta$ is the angle between the projection of the 53 particle in the $xy$ detector plane and the $y$ axis. 54 55 .. math:: 56 57 P(q)=\frac {\int_{0}^{\pi/2}\int_{0}^{\pi/2}F^2(q,\alpha,\beta) \ sin\alpha 58 \ d\alpha \ d\beta} {\int_{0}^{\pi/2} \ sin\alpha \ d\alpha \ d\beta} 61 59 62 60 and … … 64 62 .. math:: 65 63 66 F(q )64 F(q,\alpha,\beta) 67 65 &= (\rho_\text{core}-\rho_\text{solvent}) 68 66 S(Q_A, A) S(Q_B, B) S(Q_C, C) \\ … … 78 76 .. math:: 79 77 80 S(Q , L) = L \frac{\sin \tfrac{1}{2} Q L}{\tfrac{1}{2} QL}78 S(Q_X, L) = L \frac{\sin \tfrac{1}{2} Q_X L}{\tfrac{1}{2} Q_X L} 81 79 82 80 and … … 93 91 slabs of thickness $t_A$, $t_B$ and $t_C$, respectively. $\rho_\text{solvent}$ 94 92 is the scattering length of the solvent. 93 94 .. note:: 95 96 the code actually implements two substitutions: $d(cos\alpha)$ is 97 substituted for -$sin\alpha \ d\alpha$ (note that in the 98 :ref:`parallelepiped` code this is explicitly implemented with 99 $\sigma = cos\alpha$), and $\beta$ is set to $\beta = u \pi/2$ so that 100 $du = \pi/2 \ d\beta$. Thus both integrals go from 0 to 1 rather than 0 101 to $\pi/2$. 95 102 96 103 FITTING NOTES … … 118 125 $\Psi = 0$ when the *short_b* axis is parallel to the *x*-axis of the detector. 119 126 120 For 2d, constraints must be applied during fitting to ensure that the121 inequality $A < B < C$ is not violated, and hence the correct definition122 of angles is preserved. The calculation will not report an error,123 but the results may be not correct.127 .. note:: For 2d, constraints must be applied during fitting to ensure that the 128 inequality $A < B < C$ is not violated, and hence the correct definition 129 of angles is preserved. The calculation will not report an error, 130 but the results may be not correct. 124 131 125 132 .. figure:: img/parallelepiped_angle_definition.png
Note: See TracChangeset
for help on using the changeset viewer.