Changeset a807206 in sasmodels for sasmodels/models/ellipsoid.py
- Timestamp:
- Sep 30, 2016 10:42:06 PM (8 years ago)
- Branches:
- master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- caddb14, 5031ca3
- Parents:
- 2222134
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/ellipsoid.py
r42356c8 ra807206 74 74 calculated from our 2D model and the intensity from the NIST SANS 75 75 analysis software. The parameters used were: *scale* = 1.0, 76 *r _polar* = 20 |Ang|, *r_equatorial* = 400 |Ang|,76 *radius_polar* = 20 |Ang|, *radius_equatorial* = 400 |Ang|, 77 77 *contrast* = 3e-6 |Ang^-2|, and *background* = 0.0 |cm^-1|. 78 78 … … 122 122 ["sld_solvent", "1e-6/Ang^2", 1, [-inf, inf], "sld", 123 123 "Solvent scattering length density"], 124 ["r _polar", "Ang", 20, [0, inf], "volume",124 ["radius_polar", "Ang", 20, [0, inf], "volume", 125 125 "Polar radius"], 126 ["r _equatorial", "Ang", 400, [0, inf], "volume",126 ["radius_equatorial", "Ang", 400, [0, inf], "volume", 127 127 "Equatorial radius"], 128 128 ["theta", "degrees", 60, [-inf, inf], "orientation", … … 134 134 source = ["lib/sph_j1c.c", "lib/gauss76.c", "ellipsoid.c"] 135 135 136 def ER(r _polar, r_equatorial):136 def ER(radius_polar, radius_equatorial): 137 137 import numpy as np 138 138 139 ee = np.empty_like(r _polar)140 idx = r _polar > r_equatorial141 ee[idx] = (r _polar[idx] ** 2 - r_equatorial[idx] ** 2) / r_polar[idx] ** 2142 idx = r _polar < r_equatorial143 ee[idx] = (r _equatorial[idx] ** 2 - r_polar[idx] ** 2) / r_equatorial[idx] ** 2144 idx = r _polar == r_equatorial145 ee[idx] = 2 * r _polar[idx]146 valid = (r _polar * r_equatorial != 0)139 ee = np.empty_like(radius_polar) 140 idx = radius_polar > radius_equatorial 141 ee[idx] = (radius_polar[idx] ** 2 - radius_equatorial[idx] ** 2) / radius_polar[idx] ** 2 142 idx = radius_polar < radius_equatorial 143 ee[idx] = (radius_equatorial[idx] ** 2 - radius_polar[idx] ** 2) / radius_equatorial[idx] ** 2 144 idx = radius_polar == radius_equatorial 145 ee[idx] = 2 * radius_polar[idx] 146 valid = (radius_polar * radius_equatorial != 0) 147 147 bd = 1.0 - ee[valid] 148 148 e1 = np.sqrt(ee[valid]) … … 152 152 delta = 0.75 * b1 * b2 153 153 154 ddd = np.zeros_like(r _polar)155 ddd[valid] = 2.0 * (delta + 1.0) * r _polar * r_equatorial ** 2154 ddd = np.zeros_like(radius_polar) 155 ddd[valid] = 2.0 * (delta + 1.0) * radius_polar * radius_equatorial ** 2 156 156 return 0.5 * ddd ** (1.0 / 3.0) 157 157 … … 159 159 demo = dict(scale=1, background=0, 160 160 sld=6, sld_solvent=1, 161 r _polar=50, r_equatorial=30,161 radius_polar=50, radius_equatorial=30, 162 162 theta=30, phi=15, 163 r _polar_pd=.2, r_polar_pd_n=15,164 r _equatorial_pd=.2, r_equatorial_pd_n=15,163 radius_polar_pd=.2, radius_polar_pd_n=15, 164 radius_equatorial_pd=.2, radius_equatorial_pd_n=15, 165 165 theta_pd=15, theta_pd_n=45, 166 166 phi_pd=15, phi_pd_n=1)
Note: See TracChangeset
for help on using the changeset viewer.