Changeset ab87a12 in sasmodels
- Timestamp:
- Mar 9, 2015 10:48:24 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:
- 5959da2
- Parents:
- c9e31e2
- Location:
- sasmodels/models
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/HayterMSAsq.py
rd60b433 rab87a12 93 93 oldname = 'HayterMSAStructure' 94 94 oldpars = dict() 95 demo = dict(effect_radius = 20.75,charge=19.0,volfraction = 0.0192,temperature=318.16,saltconc=0.0,dielectconst=71.08,effect_radius_pd = 0.1,effect_radius_pd_n = 40) 95 # default parameter set, use compare.sh -midQ -linear 96 # note the calculation varies in different limiting cases so a wide range of parameters will be required for a thorough test! 97 # odd that the default st has saltconc zero 98 demo = dict(effect_radius = 20.75,charge=19.0,volfraction = 0.0192,temperature=318.16,saltconc=0.05,dielectconst=71.08,effect_radius_pd = 0.1,effect_radius_pd_n = 40) 96 99 -
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.