1 | |
---|
2 | from math import * |
---|
3 | import os |
---|
4 | import sys |
---|
5 | import numpy |
---|
6 | |
---|
7 | #name |
---|
8 | name = "L3_2x_B_Sq" |
---|
9 | |
---|
10 | #title |
---|
11 | title = "User model for L3_Sq" |
---|
12 | |
---|
13 | #description |
---|
14 | description = "Lei et al. structure factor_Porte et al." |
---|
15 | |
---|
16 | #parameters |
---|
17 | parameters = [ |
---|
18 | ['q3', '', 0.05, [-numpy.inf, numpy.inf], '', ''], |
---|
19 | ['B', '', 1, [-numpy.inf, numpy.inf], '', ''], |
---|
20 | ['C', '', 1, [-numpy.inf, numpy.inf], '', ''], |
---|
21 | ['q4', '', 0.1, [-numpy.inf, numpy.inf], '', ''], |
---|
22 | ['CorrLength3', '', 40, [-numpy.inf, numpy.inf], '', ''], |
---|
23 | ['CorrLength4', '', 20, [-numpy.inf, numpy.inf], '', ''], |
---|
24 | ] |
---|
25 | |
---|
26 | |
---|
27 | def form_volume(*arg): |
---|
28 | return 1.0 |
---|
29 | |
---|
30 | def ER(*arg): |
---|
31 | return 1.0 |
---|
32 | |
---|
33 | def Iq(x , q3, B, C, q4, CorrLength3, CorrLength4): |
---|
34 | if x > 0: |
---|
35 | |
---|
36 | y = (B/((1/(CorrLength3**2)) + (x - q3)**2)) + (C/((1/(CorrLength4**2)) + (x - q4)**2)) |
---|
37 | |
---|
38 | else: |
---|
39 | |
---|
40 | y = 1 |
---|
41 | |
---|
42 | return y |
---|
43 | |
---|
44 | def Iqxy(x, y , q3, B, C, q4, CorrLength3, CorrLength4): |
---|
45 | return Iq(numpy.sqrt(x**2+y**2) , q3, B, C, q4, CorrLength3, CorrLength4) |
---|