Changeset 5959da2 in sasmodels
- Timestamp:
- Mar 9, 2015 11:45:23 AM (10 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:
- 2e35a40
- Parents:
- ab87a12 (diff), 4840bec (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
extra/pylint.rc
r3c56da87 r4840bec 60 60 disable= 61 61 multiple-statements, 62 global-statement,63 62 bare-except, 64 63 broad-except, 65 bad-whitespace,66 bad-continuation,67 too-many-statements,68 too-many-branches,69 too-many-locals,70 too-many-instance-attributes,71 too-many-arguments,72 64 star-args, 73 65 unbalanced-tuple-unpacking, 74 66 locally-disabled, 75 old-style-class,76 67 77 68 [REPORTS] … … 205 196 206 197 # Maximum number of characters on a single line. 207 #max-line-length=100 208 max-line-length=80 198 max-line-length=100 209 199 210 200 # Regexp for a line that is allowed to be longer than the limit. -
sasmodels/models/HayterMSAsq.py
rab87a12 r5959da2 50 50 from numpy import pi, inf 51 51 52 source =["HayterMSAsq_kernel.c"]52 source = ["HayterMSAsq_kernel.c"] 53 53 54 54 name = "HayterMSAsq" 55 55 title = "Hayter-Penfold MSA charged sphere interparticle S(Q) structure factor" 56 56 description = """\ 57 57 [Hayter-Penfold MSA charged sphere interparticle S(Q) structure factor] 58 58 Interparticle structure factor S(Q)for a charged hard spheres. 59 Routine takes absolute value of charge, use HardSphere if charge goes to zero. 60 In sasview the effective radius will be calculated from the 61 59 Routine takes absolute value of charge, use HardSphere if charge goes to zero. 60 In sasview the effective radius will be calculated from the 61 parameters used in P(Q). 62 62 """ 63 # [ "name", "units", default, [lower, upper], "type", "description" ], 64 parameters = [["effect_radius", "Ang", 20.75, [0, inf], "volume", 65 "effective radius of hard sphere"], 66 ["charge", "e", 19.0, [0, inf], "", 67 "charge on sphere (in electrons)"], 68 ["volfraction", "", 0.0192, [0, 0.74], "", 69 "volume fraction of spheres"], 70 ["temperature", "K", 318.16, [0, inf], "", 71 "temperature, in Kelvin, for Debye length calculation"], 72 ["saltconc", "M", 0.0, [-inf, inf], "", 73 "conc of salt, 1:1 electolyte, for Debye length"], 74 ["dielectconst", "", 71.08, [-inf, inf], "", 75 "dielectric constant of solvent (default water), for Debye length"], 76 ] 63 77 64 parameters = [65 # [ "name", "units", default, [lower, upper], "type",66 # "description" ],67 [ "effect_radius", "Ang", 20.75, [0, inf], "volume",68 "effective radius of hard sphere" ],69 [ "charge", "e", 19.0, [0, inf], "",70 "charge on sphere (in electrons)" ],71 [ "volfraction", "", 0.0192, [0, 0.74], "",72 "volume fraction of spheres" ],73 [ "temperature", "K", 318.16, [0, inf], "",74 "temperature, in Kelvin, for Debye length calculation" ],75 [ "saltconc", "M", 0.0, [-inf,inf], "",76 "conc of salt, 1:1 electolyte, for Debye length" ],77 [ "dielectconst", "", 71.08, [-inf,inf], "",78 "dielectric constant of solvent (default water), for Debye length" ],79 ]80 81 78 # No volume normalization despite having a volume parameter 82 79 # This should perhaps be volume normalized? … … 86 83 Iqxy = """ 87 84 // never called since no orientation or magnetic parameters. 88 return -1.0;85 return Iq(sqrt(qx*qx+qy*qy), IQ_PARAMETERS); 89 86 """ 90 87 # ER defaults to 0.0 -
sasmodels/models/HayterMSAsq_kernel.c
rd60b433 rab87a12 12 12 double 13 13 sqhcal(double qq, double gMSAWave[]); 14 15 14 16 15 double Iq(double QQ, 17 16 double effect_radius, double zz, double VolFrac, double Temp, double csalt, double dialec) … … 487 486 } 488 487 489 // called as DiamCyl(hcyl,rcyl)490 double491 DiamCyl(double hcyl, double rcyl)492 {493 494 double diam,a,b,t1,t2,ddd;495 double pi;496 497 pi = 4.0*atan(1.0);498 if (rcyl == 0 || hcyl == 0) {499 return 0.0;500 }501 a = rcyl;502 b = hcyl/2.0;503 t1 = a*a*2.0*b/2.0;504 t2 = 1.0 + (b/a)*(1.0+a/b/2.0)*(1.0+pi*a/b/2.0);505 ddd = 3.0*t1*t2;506 diam = pow(ddd,(1.0/3.0));507 508 return(diam);509 }510 511 //prolate OR oblate ellipsoids THIS ROUTINE CURRENTLY UNUSED AS SASVIEW ONLY ALLOWS SPHERES512 //aa is the axis of rotation513 //if aa>bb, then PROLATE514 //if aa<bb, then OBLATE515 // A. Isihara, J. Chem. Phys. 18, 1446 (1950)516 //returns DIAMETER517 // called as DiamEllip(aa,bb)518 double519 DiamEllip(double aa, double bb)520 {521 522 double ee,e1,bd,b1,bL,b2,del,ddd,diam;523 524 if (aa == 0 || bb == 0) {525 return 0.0;526 }527 if (aa == bb) {528 return 2.0*aa;529 }530 if(aa>bb) {531 ee = (aa*aa - bb*bb)/(aa*aa);532 }else{533 ee = (bb*bb - aa*aa)/(bb*bb);534 }535 536 bd = 1.0-ee;537 e1 = sqrt(ee);538 b1 = 1.0 + asin(e1)/(e1*sqrt(bd));539 bL = (1.0+e1)/(1.0-e1);540 b2 = 1.0 + bd/2/e1*log(bL);541 del = 0.75*b1*b2;542 543 ddd = 2.0*(del+1.0)*aa*bb*bb; //volume is always calculated correctly544 diam = pow(ddd,(1.0/3.0));545 546 return(diam);547 }548 549 488 double 550 489 sqhcal(double qq, double gMSAWave[])
Note: See TracChangeset
for help on using the changeset viewer.