Changeset 25579e8 in sasview for sansmodels


Ignore:
Timestamp:
Feb 26, 2009 12:13:36 PM (15 years ago)
Author:
Jae Cho <jhjcho@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
369e492e
Parents:
8bd764d
Message:

Enable structure factors

Location:
sansmodels/src
Files:
17 added
5 edited

Legend:

Unmodified
Added
Removed
  • sansmodels/src/sans/models/c_extensions/c_models.c

    raf03ddd r25579e8  
    3131        addCEllipsoidModel(m); 
    3232        addCSphereModel(m); 
     33        addCHardsphereStructure(m); 
     34        addCStickyHSStructure(m); 
     35        addCHayterMSAStructure(m); 
     36        addCSquareWellStructure(m); 
    3337        addCEllipticalCylinderModel(m); 
    3438        addDisperser(m); 
  • sansmodels/src/sans/models/c_extensions/core_shell.h

    r836fe6e r25579e8  
    77 //[PYTHONCLASS] = CoreShellModel 
    88 //[DISP_PARAMS] = radius, thickness 
    9  //[DESCRIPTION] ="" 
     9 //[DESCRIPTION] =<text> Form factor for a monodisperse spherical 
     10 //                         particle with a core-shell structure: 
     11 //                       The form factor is normalized by the  
     12 //                        total particle volume. 
     13 //  
     14 //                                             radius: core radius 
     15 //                     thickness: shell thickness 
     16 // 
     17 //                     Ref: Guinier, A. and G. Fournet,  
     18 //                          John Wiley and Sons, New York, 1955. 
     19 //                             </text> 
    1020 //[FIXED]= <text> thickness.width;radius.width</text> 
    1121typedef struct { 
  • sansmodels/src/sans/models/c_models/c_models.cpp

    r8809e48 r25579e8  
    1010void addCCylinderModel(PyObject *module); 
    1111void addCSphereModel(PyObject *module); 
     12void addCHardsphereStructure(PyObject *module); 
     13void addCStickyHSStructure(PyObject *module); 
     14void addCSquareWellStructure(PyObject *module); 
     15void addCHayterMSAStructure(PyObject *module); 
    1216void addCCoreShellModel(PyObject *module); 
    1317void addCCoreShellCylinderModel(PyObject *module); 
     
    1923        //void addCCoreShellModel(PyObject *module); 
    2024        //void addCEllipsoidModel(PyObject *module); 
    21         //void addCSphereModel(PyObject *module); 
    2225        //void addCEllipticalCylinderModel(PyObject *module); 
    2326        void addDisperser(PyObject *module); 
     
    147150        addCEllipsoidModel(m); 
    148151        addCSphereModel(m); 
     152        addCHardsphereStructure(m); 
     153        addCStickyHSStructure(m); 
     154        addCSquareWellStructure(m); 
     155        addCHayterMSAStructure(m); 
    149156        addCEllipticalCylinderModel(m); 
    150157        addDisperser(m); 
  • sansmodels/src/sans/models/c_models/models.hh

    r0f5bc9f r25579e8  
    6060}; 
    6161 
     62class HardsphereStructure{ 
     63public: 
     64        // Model parameters 
     65        Parameter radius; 
     66        Parameter volfraction; 
     67 
     68        // Constructor 
     69        HardsphereStructure(); 
     70 
     71        // Operators to get I(Q) 
     72        double operator()(double q); 
     73        double operator()(double qx, double qy); 
     74        double evaluate_rphi(double q, double phi); 
     75}; 
     76 
     77class StickyHSStructure{ 
     78public: 
     79        // Model parameters 
     80        Parameter radius; 
     81        Parameter volfraction; 
     82        Parameter perturb; 
     83        Parameter stickiness; 
     84 
     85        // Constructor 
     86        StickyHSStructure(); 
     87 
     88        // Operators to get I(Q) 
     89        double operator()(double q); 
     90        double operator()(double qx, double qy); 
     91        double evaluate_rphi(double q, double phi); 
     92}; 
     93 
     94class SquareWellStructure{ 
     95public: 
     96        // Model parameters 
     97        Parameter radius; 
     98        Parameter volfraction; 
     99        Parameter welldepth; 
     100        Parameter wellwidth; 
     101 
     102        // Constructor 
     103        SquareWellStructure(); 
     104 
     105        // Operators to get I(Q) 
     106        double operator()(double q); 
     107        double operator()(double qx, double qy); 
     108        double evaluate_rphi(double q, double phi); 
     109}; 
     110 
     111class HayterMSAStructure{ 
     112public: 
     113        // Model parameters 
     114        Parameter radius; 
     115        Parameter charge; 
     116        Parameter volfraction; 
     117        Parameter temperature; 
     118        Parameter saltconc; 
     119        Parameter dielectconst; 
     120         
     121        // Constructor 
     122        HayterMSAStructure(); 
     123 
     124        // Operators to get I(Q) 
     125        double operator()(double q); 
     126        double operator()(double qx, double qy); 
     127        double evaluate_rphi(double q, double phi); 
     128}; 
     129 
    62130class CoreShellModel{ 
    63131public: 
  • sansmodels/src/setup.py

    r8809e48 r25579e8  
    2525    content += "  http://danse.us/trac/sans/\n" 
    2626    content += "  @copyright 2007:" 
    27     content += "  Mathieu Doucet (University of Tennessee), for the DANSE project\n\n" 
     27    content += "  SANS/DANSE Group (University of Tennessee), for the DANSE project\n\n" 
    2828    content += "\"\"\"\n" 
    2929    content += "def model():\n" 
     
    9696        #srcdir+"/sphere.c", 
    9797        "sans/models/c_models/CSphereModel.cpp", 
     98        srcdir+"/SquareWell.c", 
     99        "sans/models/c_models/CSquareWellStructure.cpp",   
     100        "sans/models/c_models/SquareWell.cpp",  
     101        srcdir+"/StickyHS.c",          
     102        "sans/models/c_models/CStickyHSStructure.cpp",  
     103        "sans/models/c_models/StickyHS.cpp",       
     104        srcdir+"/Hardsphere.c",          
     105        "sans/models/c_models/CHardsphereStructure.cpp",  
     106        "sans/models/c_models/Hardsphere.cpp",       
     107        srcdir+"/HayterMSA.c",          
     108        "sans/models/c_models/CHayterMSAStructure.cpp",  
     109        "sans/models/c_models/HayterMSA.cpp",       
    98110        "sans/models/c_models/sphere.cpp", 
    99111        #srcdir+"/CCylinderModel.c", 
     
    121133        srcdir+"/disperser.c", 
    122134        igordir+"/libCylinder.c", 
     135        igordir+"/libStructureFactor.c", 
    123136        igordir+"/libSphere.c", 
    124137        srcdir+"/gaussian.c", 
Note: See TracChangeset for help on using the changeset viewer.