Changeset ec1d4bc in sasmodels for sasmodels/models/multilayer_vesicle.py


Ignore:
Timestamp:
Feb 1, 2017 7:52:41 PM (7 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, core_shell_microgels, costrafo411, magnetic_model, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
Children:
d3e3f756
Parents:
66ca2a6
Message:

fix multilayer vesicle polydispersity, docs and parameter names

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/models/multilayer_vesicle.py

    r925ad6e rec1d4bc  
    2020.. math:: 
    2121 
    22     P(q) = \frac{\text{scale.volfraction}}{V_t} F^2(q) + \text{background} 
     22    P(q) = \text{scale}\frac{\phi}{V(R_N)} F^2(q) + \text{background} 
    2323 
    2424where 
     
    2626.. math:: 
    2727 
    28      F(q) = (\rho_{shell}-\rho_{solv}) \sum_{i=1}^{n\_pairs} \left[ 
    29      3V(R_i)\frac{\sin(qR_i)-qR_i\cos(qR_i)}{(qR_i)^3} \\ 
    30       - 3V(R_i+t_s)\frac{\sin(q(R_i+t_s))-q(R_i+t_s)\cos(q(R_i+t_s))}{(q(R_i+t_s))^3} 
     28     F(q) = (\rho_\text{shell}-\rho_\text{solv}) \sum_{i=1}^{N} \left[ 
     29     3V(r_i)\frac{\sin(qr_i) - qr_i\cos(qr_i)}{(qr_i)^3} 
     30     - 3V(R_i)\frac{\sin(qR_i) - qR_i\cos(qR_i)}{(qR_i)^3} 
    3131     \right] 
    3232 
     33for 
    3334 
    34 where $R_i = r_c + (i-1)(t_s + t_w)$ 
    35     
    36 where $V_t$ is the volume of the whole particle, $V(R)$ is the volume of a sphere 
    37 of radius $R$, $r_c$ is the radius of the core, $\rho_{shell}$ is the scattering length  
    38 density of a shell, $\rho_{solv}$ is the scattering length density of the solvent. 
     35.. math:: 
    3936 
     37     r_i &= r_c + (i-1)(t_s + t_w) && \text{ solvent radius before shell } i \\ 
     38     R_i &= r_i + t_s && \text{ shell radius for shell } i 
     39 
     40$\phi$ is the volume fraction of particles, $V(r)$ is the volume of a sphere 
     41of radius $r$, $r_c$ is the radius of the core, $t_s$ is the thickness of 
     42the shell, $t_w$ is the thickness of the solvent layer between the shells, 
     43$\rho_\text{shell}$ is the scattering length density of a shell, and 
     44$\rho_\text{solv}$ is the scattering length density of the solvent. 
    4045 
    4146The 2D scattering intensity is the same as 1D, regardless of the orientation 
     
    4651    q = \sqrt{q_x^2 + q_y^2} 
    4752 
    48  
    49 The outer most radius 
    50  
    51 $radius + n\_pairs * thick\_shell + (n\_pairs- 1) * thick\_solvent$ 
    52  
    53 is used for both the volume fraction normalization and for the  
    54 effective radius for *S(Q)* when $P(Q) * S(Q)$ is applied. 
     53The outer-most shell radius $R_N$ is used as the effective radius 
     54for $P(Q)$ when $P(Q) * S(Q)$ is applied. 
    5555 
    5656For information about polarised and magnetic scattering, see 
     
    8989    sld_solvent: solvent scattering length density 
    9090    sld: shell scattering length density 
    91     n_pairs:number of "shell plus solvent" layer pairs 
     91    n_shells:number of "shell plus solvent" layer pairs 
    9292    background: incoherent background 
    9393        """ 
     
    9898parameters = [ 
    9999    ["volfraction", "",  0.05, [0.0, 1],  "", "volume fraction of vesicles"], 
    100     ["radius", "Ang", 60.0, [0.0, inf],  "", "radius of solvent filled core"], 
    101     ["thick_shell", "Ang",        10.0, [0.0, inf],  "", "thickness of one shell"], 
    102     ["thick_solvent", "Ang",        10.0, [0.0, inf],  "", "solvent thickness between shells"], 
     100    ["radius", "Ang", 60.0, [0.0, inf],  "volume", "radius of solvent filled core"], 
     101    ["thick_shell", "Ang",        10.0, [0.0, inf],  "volume", "thickness of one shell"], 
     102    ["thick_solvent", "Ang",        10.0, [0.0, inf],  "volume", "solvent thickness between shells"], 
    103103    ["sld_solvent",    "1e-6/Ang^2",  6.4, [-inf, inf], "sld", "solvent scattering length density"], 
    104104    ["sld",   "1e-6/Ang^2",  0.4, [-inf, inf], "sld", "Shell scattering length density"], 
    105     ["n_pairs",     "",            2.0, [1.0, inf],  "", "Number of shell plus solvent layer pairs"], 
     105    ["n_shells",     "",            2.0, [1.0, inf],  "volume", "Number of shell plus solvent layer pairs"], 
    106106    ] 
    107107# pylint: enable=bad-whitespace, line-too-long 
     
    109109source = ["lib/sas_3j1x_x.c", "multilayer_vesicle.c"] 
    110110 
    111 polydispersity = ["radius", "n_pairs"] 
     111def ER(radius, thick_shell, thick_solvent, n_shells): 
     112    n_shells = int(n_shells+0.5) 
     113    return radius + n_shells * (thick_shell + thick_solvent) - thick_solvent 
    112114 
    113115demo = dict(scale=1, background=0, 
     
    118120            sld_solvent=6.4, 
    119121            sld=0.4, 
    120             n_pairs=2.0) 
     122            n_shells=2.0) 
    121123 
    122124tests = [ 
     
    127129      'sld_solvent': 6.4, 
    128130      'sld': 0.4, 
    129       'n_pairs': 2.0, 
     131      'n_shells': 2.0, 
    130132      'scale': 1.0, 
    131133      'background': 0.001, 
     
    138140      'sld_solvent': 6.4, 
    139141      'sld': 0.4, 
    140       'n_pairs': 2.0, 
     142      'n_shells': 2.0, 
    141143      'scale': 1.0, 
    142144      'background': 0.001, 
Note: See TracChangeset for help on using the changeset viewer.