Changeset b39bf3b in sasmodels for sasmodels/models/sphere.py


Ignore:
Timestamp:
Mar 28, 2019 9:46:52 AM (5 years ago)
Author:
ajj
Branches:
master, ticket-1257-vesicle-product, ticket_1156, ticket_822_more_unit_tests
Children:
d8e81f7
Parents:
f942f4d
Message:

Working on structure factor / beta tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/models/sphere.py

    ra430f5f rb39bf3b  
    4949---------------------------- 
    5050 
    51 * **Author:**  
    52 * **Last Modified by:**  
     51* **Author:** 
     52* **Last Modified by:** 
    5353* **Last Reviewed by:** S King and P Parker **Date:** 2013/09/09 and 2014/01/06 
    5454* **Source added by :** Steve King **Date:** March 25, 2019 
     
    7575              ["sld_solvent", "1e-6/Ang^2", 6, [-inf, inf], "sld", 
    7676               "Solvent scattering length density"], 
    77               ["radius", "Ang", 50, [0, inf], "volume", 
     77              ["radius", "Ang", 45, [0, inf], "volume", 
    7878               "Sphere radius"], 
    7979             ] 
     
    9292 
    9393tests = [ 
    94     [{}, 0.2, 0.726362], 
    95     [{"scale": 1., "background": 0., "sld": 6., "sld_solvent": 1., 
    96       "radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 
    97      0.2, 0.2288431], 
    98     [{"radius": 120., "radius_pd": 0.02, "radius_pd_n":45}, 
    99      0.2, 792.0646662454202, [1166737.0473152], 120.0, 7246723.820358589, 1.0], # the longer list here checks  F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) 
    100     #          But note P(Q) = F2/volume,  F1 and F2 are vectors, for some reason only F2 needs square brackets 
    101     #          BUT what is scaling of F1 ???  At low Pd F2 ~ F1^2 ? 
    102    [{"radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 
    103      0.2, 1.233304061, [1850806.119736], 120.0, 8087664.1226, 1.0], # the longer list here checks  F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) 
    104     [{"@S": "hardsphere"}, 
    105        0.01, 55.881884232102124], # this is current value, not verified elsewhere yet 
    106     [{"@S": "hardsphere"}, 
    107        0.2, 0.14730859242492958], #  this is current value, not verified elsewhere yet 
    108     [{"@S": "hardsphere"}, 
    109        0.1, 0.7940350343811906], #  this is current value, not verified elsewhere yet 
    110         [{"@S": "hardsphere",          # hard sphere structure factor 
     94   #  [{}, 0.2, 0.726362], 
     95   #  [{"scale": 1., "background": 0., "sld": 6., "sld_solvent": 1., 
     96   #    "radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 
     97   #   0.2, 0.2288431], 
     98   # [{"radius": 120., "radius_pd": 0.02, "radius_pd_n":45}, 
     99   #   0.2, 792.0646662454202, [1166737.0473152], 120.0, 7246723.820358589, 1.0], # the longer list here checks  F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) 
     100   #  #          But note P(Q) = F2/volume,  F1 and F2 are vectors, for some reason only F2 needs square brackets 
     101   #  #          BUT what is scaling of F1 ???  At low Pd F2 ~ F1^2 ? 
     102   # [{"@S": "hardsphere"}, 
     103   #    0.01, 55.881884232102124], # this is current value, not verified elsewhere yet 
     104   # [{"radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 
     105   #   0.2, 1.233304061, [1850806.119736], 120.0, 8087664.1226, 1.0], # the longer list here checks  F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) 
     106   # [{"@S": "hardsphere"}, 
     107   #     0.2, 0.14730859242492958], #  this is current value, not verified elsewhere yet 
     108    # [{"@S": "hardsphere"}, 
     109    #    0.1, 0.7940350343811906], #  this is current value, not verified elsewhere yet 
     110    [{"@S": "hardsphere", 
     111     "radius": 120., "radius_pd": 0.2, "radius_pd_n":45, 
     112     "volfraction":0.2, 
     113     "radius_effective":45.0,        # hard sphere structure factor 
    111114     "structure_factor_mode": 1,  # decoupling approximation 
    112      "effective_radius_type": 1, "radius_effective":27.0 # equivalent sphere   Currently have hardwired model_test to accept radius_effective  
     115     #"effective_radius_type": 1 # equivalent sphere   Currently have hardwired model_test to accept radius_effective 
    113116     # direct_model has the name & value BUT does it get passed to S(Q)???  What about volfracion, plus the many parameters used by other S(Q) ? 
    114117     # effective_radius_type does NOT appear in the list, has it been stripped out??? 
    115          }, 0.1, 0.7940350343881906], 
    116 #       [{"@S": "hardsphere",          # hard sphere structure factor 
    117 #     "structure_factor_mode": 3,  #  -  WHY same result? 
    118 #     "effective_radius_type": 3, "radius_effective":23.0    #  
    119 #        }, 0.1, 0.7940350343881906] 
     118     }, 0.01, 0.7940350343881906], 
     119        # [{"@S": "hardsphere",          # hard sphere structure factor 
     120    # "structure_factor_mode": 2,  #  -  WHY same result? 
     121    # "effective_radius_type": 2, "radius_effective":23.0    # 
     122        # }, 0.1, 0.7940350343881906] 
    120123] 
    121124# putting None for expected result will pass the test if there are no errors from the routine, but without any check on the value of the result 
Note: See TracChangeset for help on using the changeset viewer.