Ticket #289: Eq.2_Porcar_et_al. L3 Pq.py

File Eq.2_Porcar_et_al. L3 Pq.py, 1.1 KB (added by butler, 5 years ago)

Original Equation 2

Line 
1
2from math import *
3import os
4import sys
5import numpy
6
7#name
8name = "L3_Porcar_et_al" 
9
10#title
11title = "User model for L3_Porcar_et_al"
12
13#description
14description = "Form factor of discoids averaged over random orientations"
15
16#parameters
17parameters = [ 
18                ['sld_solv', '', 6.35, [-numpy.inf, numpy.inf], '', ''],
19                ['sld_L3', '', 0.8, [-numpy.inf, numpy.inf], '', ''],
20                ['thickness', '', 300, [-numpy.inf, numpy.inf], 'volume', ''],
21                ['radii', '', 700, [-numpy.inf, numpy.inf], 'volume', ''],
22             ]
23
24
25def form_volume(*arg): 
26    return 1.0 
27
28def ER(*arg): 
29    return 1.0 
30
31def Iq(x , sld_solv, sld_L3, thickness, radii):
32    if x > 0:
33
34       y = 4*(pi*(radii**2)*((sld_L3 - sld_solv)**2))*((1 - cos(x*thickness)*exp(- (x**2)*(thickness**2)/32))/(x**2))/((x**2)*(radii**2) + 2*exp(- (x**2)*(radii**2)/6))
35
36    else: 
37
38       y = 1
39
40    return y
41
42def Iqxy(x, y , sld_solv, sld_L3, thickness, radii):
43    return Iq(numpy.sqrt(x**2+y**2) , sld_solv, sld_L3, thickness, radii)