Changeset 96d19c6 in sasview


Ignore:
Timestamp:
Nov 1, 2010 2:31:12 PM (14 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:
1a395a6
Parents:
4b3d25b
Message:

added models and unit tests

Location:
sansmodels/src
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • sansmodels/src/sans/models/c_models/c_models.cpp

    r18f2ca1 r96d19c6  
    1818void addCCSParallelepipedModel(PyObject *module); 
    1919void addCSphereModel(PyObject *module); 
     20void addCSphereSLDModel(PyObject *module); 
    2021void addCOnionModel(PyObject *module); 
    2122void addCReflModel(PyObject *module); 
     
    4344void addCDiamEllipFunc(PyObject *module); 
    4445void addCDiamCylFunc(PyObject *module); 
     46void addCSLDCalFunc(PyObject *module); 
    4547 
    4648//void addCOblateModel(PyObject *module); 
     
    234236        addCEllipsoidModel(m); 
    235237        addCSphereModel(m); 
     238        addCSphereSLDModel(m); 
    236239        addCOnionModel(m); 
    237240        addCReflModel(m); 
     
    255258        addCDiamEllipFunc(m); 
    256259        addCDiamCylFunc(m); 
     260        addCSLDCalFunc(m); 
    257261 
    258262//      addCOblateModel(m); 
  • sansmodels/src/sans/models/c_models/models.hh

    r18f2ca1 r96d19c6  
    284284        Parameter thick_inter0; 
    285285        Parameter func_inter0; 
    286         Parameter sld_sub0; 
     286        Parameter sld_bottom0; 
    287287        Parameter sld_medium; 
    288288        Parameter background; 
     
    332332        Parameter func_inter10; 
    333333 
    334         Parameter sldIM_flat1; 
    335         Parameter sldIM_flat2; 
    336         Parameter sldIM_flat3; 
    337         Parameter sldIM_flat4; 
    338         Parameter sldIM_flat5; 
    339         Parameter sldIM_flat6; 
    340         Parameter sldIM_flat7; 
    341         Parameter sldIM_flat8; 
    342         Parameter sldIM_flat9; 
    343         Parameter sldIM_flat10; 
    344  
    345         Parameter sldIM_sub0; 
    346         Parameter sldIM_medium; 
    347  
    348334        // Constructor 
    349335        ReflModel(); 
     
    357343 
    358344 
     345 
    359346class SphereModel{ 
    360347public: 
     
    368355        // Constructor 
    369356        SphereModel(); 
     357 
     358        // Operators to get I(Q) 
     359        double operator()(double q); 
     360        double operator()(double qx, double qy); 
     361        double calculate_ER(); 
     362        double evaluate_rphi(double q, double phi); 
     363}; 
     364 
     365 
     366class SphereSLDModel{ 
     367public: 
     368        // Model parameters 
     369        Parameter n_shells; 
     370        Parameter scale; 
     371        Parameter thick_inter0; 
     372        Parameter func_inter0; 
     373        Parameter sld_core0; 
     374        Parameter sld_solv; 
     375        Parameter background; 
     376 
     377        Parameter sld_flat1; 
     378        Parameter sld_flat2; 
     379        Parameter sld_flat3; 
     380        Parameter sld_flat4; 
     381        Parameter sld_flat5; 
     382        Parameter sld_flat6; 
     383        Parameter sld_flat7; 
     384        Parameter sld_flat8; 
     385        Parameter sld_flat9; 
     386        Parameter sld_flat10; 
     387 
     388        Parameter thick_inter1; 
     389        Parameter thick_inter2; 
     390        Parameter thick_inter3; 
     391        Parameter thick_inter4; 
     392        Parameter thick_inter5; 
     393        Parameter thick_inter6; 
     394        Parameter thick_inter7; 
     395        Parameter thick_inter8; 
     396        Parameter thick_inter9; 
     397        Parameter thick_inter10; 
     398 
     399        Parameter thick_flat1; 
     400        Parameter thick_flat2; 
     401        Parameter thick_flat3; 
     402        Parameter thick_flat4; 
     403        Parameter thick_flat5; 
     404        Parameter thick_flat6; 
     405        Parameter thick_flat7; 
     406        Parameter thick_flat8; 
     407        Parameter thick_flat9; 
     408        Parameter thick_flat10; 
     409 
     410        Parameter func_inter1; 
     411        Parameter func_inter2; 
     412        Parameter func_inter3; 
     413        Parameter func_inter4; 
     414        Parameter func_inter5; 
     415        Parameter func_inter6; 
     416        Parameter func_inter7; 
     417        Parameter func_inter8; 
     418        Parameter func_inter9; 
     419        Parameter func_inter10; 
     420 
     421        Parameter nu_inter1; 
     422        Parameter nu_inter2; 
     423        Parameter nu_inter3; 
     424        Parameter nu_inter4; 
     425        Parameter nu_inter5; 
     426        Parameter nu_inter6; 
     427        Parameter nu_inter7; 
     428        Parameter nu_inter8; 
     429        Parameter nu_inter9; 
     430        Parameter nu_inter10; 
     431 
     432        Parameter npts_inter; 
     433        Parameter nu_inter0; 
     434        Parameter rad_core0; 
     435 
     436        // Constructor 
     437        SphereSLDModel(); 
    370438 
    371439        // Operators to get I(Q) 
     
    575643        double evaluate_rphi(double q, double phi); 
    576644}; 
     645 
     646 
     647class SLDCalFunc{ 
     648public: 
     649        // Model parameters 
     650        Parameter fun_type; 
     651        Parameter npts_inter; 
     652        Parameter shell_num; 
     653        Parameter nu_inter; 
     654        Parameter sld_left; 
     655        Parameter sld_right; 
     656 
     657        // Constructor 
     658        SLDCalFunc(); 
     659 
     660        // Operators to get SLD 
     661        double operator()(double q); 
     662        double operator()(double qx, double qy); 
     663        double calculate_ER(); 
     664        double evaluate_rphi(double q, double phi); 
     665}; 
     666 
    577667 
    578668class CoreShellModel{ 
  • sansmodels/src/setup.py

    r2e862a0 r96d19c6  
    229229        "sans/models/c_models/multishell.cpp",                 
    230230        srcdir+"/multishell.c", 
     231        "sans/models/c_models/CSphereSLDModel.cpp", 
     232        "sans/models/c_models/spheresld.cpp",                 
     233        srcdir+"/spheresld.c", 
    231234        #srcdir+"/CVesicleModel.c", 
    232235        "sans/models/c_models/CVesicleModel.cpp", 
     
    244247        "sans/models/c_models/CFractalModel.cpp", 
    245248        "sans/models/c_models/fractal.cpp",  
    246          
     249        srcdir+"/sld_cal.c",          
     250        "sans/models/c_models/CSLDCalFunc.cpp",  
     251        "sans/models/c_models/sld_cal.cpp",   
    247252        #gammainc function need to imported from somewhere   
    248253        #srcdir+"/polyexclvol.c",              
    249254        #"sans/models/c_models/CPolymerExclVolModel.cpp", 
    250255        #"sans/models/c_models/polyexclvol.cpp",   
    251           
     256        srcdir+"/libmultifunc/librefl.c", 
    252257        srcdir+"/polygausscoil.c",              
    253258        srcdir+"/binaryHS.c", 
Note: See TracChangeset for help on using the changeset viewer.