Changeset 3eb3312 in sasmodels for sasmodels/models/two_power_law.py
- Timestamp:
- Feb 15, 2016 7:49:22 AM (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:
- bdb3313
- Parents:
- 34d6cab
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/two_power_law.py
r34d6cab r3eb3312 51 51 from numpy import sqrt 52 52 from numpy import inf 53 from numpy import concatenate 53 54 54 55 name = "two_power_law" … … 93 94 # pylint: disable=bad-whitespace 94 95 95 if q<=crossover: 96 intensity = coefficent_1*power(q,-1.0*power_1) 97 else: 98 coefficent_2 = coefficent_1*power(crossover,-1.0*power_1)/power(crossover,-1.0*power_2) 99 intensity = coefficent_2*power(q,-1.0*power_2) 96 #Two sub vectors are created to treat crossover values 97 q_lower = q[q<=crossover] 98 q_upper = q[q>crossover] 99 coefficent_2 = coefficent_1*power(crossover,-1.0*power_1)/power(crossover,-1.0*power_2) 100 intensity_lower = coefficent_1*power(q_lower,-1.0*power_1) 101 intensity_upper = coefficent_2*power(q_upper,-1.0*power_2) 102 intensity = concatenate( ( intensity_lower,intensity_upper ), axis=0) 100 103 101 104 return intensity 102 105 103 Iq.vectorized = False # Iq accepts an array of q values106 Iq.vectorized = True # Iq accepts an array of q values 104 107 105 108 def Iqxy(qx, qy, *args): … … 113 116 return Iq(sqrt(qx**2 + qy**2), *args) 114 117 115 Iqxy.vectorized = False # Iqxy acceptsan array of qx, qy values118 Iqxy.vectorized = True # Iqxy doesn't accept an array of qx, qy values 116 119 117 120 demo = dict(scale=1, background=0.1, … … 151 154 'background': 0.0, 152 155 }, 0.442528, 0.00166884], 156 157 [{'coeffcent_1': 1.0, 158 'crossover': 0.04, 159 'power_1': 1.0, 160 'power_2': 4.0, 161 'background': 0.0, 162 }, (0.442528, 0.00166884), 0.00166884], 163 153 164 ]
Note: See TracChangeset
for help on using the changeset viewer.