Changeset 5068697 in sasview for sansmodels/src/sans


Ignore:
Timestamp:
Jun 26, 2009 5:49:03 PM (16 years ago)
Author:
Gervaise Alina <gervyh@…>
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:
27a0771
Parents:
f41b4c3
Message:

add 1d models

Location:
sansmodels/src/sans/models
Files:
18 added
6 edited

Legend:

Unmodified
Added
Removed
  • sansmodels/src/sans/models/ParallelepipedModel.py

    r8a48713 r5068697  
    7474 
    7575                ## fittable parameters 
    76         self.fixed=['short_edgeA.width', 'longer_edgeB.width', 'longuest_edgeC.width'] 
     76        self.fixed=['short_edgeA.width', 'longer_edgeB.width', 'longuest_edgeC.width', 'parallel_phi.width', 'parallel_theta.width'] 
    7777         
    7878        ## parameters with orientation 
  • sansmodels/src/sans/models/c_extensions/c_models.c

    r8a48713 r5068697  
    3939        addCDiamCylFunc(m); 
    4040        addCEllipticalCylinderModel(m); 
     41        addCTriaxialEllipsoidModel(m); 
     42        addCFlexibleCylinderModel(m); 
     43        addCStackedDisksModel(m); 
    4144        addDisperser(m); 
    4245        addCGaussian(m); 
  • sansmodels/src/sans/models/c_extensions/parallelepiped.c

    r8a48713 r5068697  
    1313/** 
    1414 * Function to evaluate 1D scattering function 
    15  * @param pars: parameters of the cylinder 
     15 * @param pars: parameters of the parallelepiped 
    1616 * @param q: q-value 
    1717 * @return: function value 
     
    3333/** 
    3434 * Function to evaluate 2D scattering function 
    35  * @param pars: parameters of the cylinder 
     35 * @param pars: parameters of the parallelepiped 
    3636 * @param q: q-value 
    3737 * @return: function value 
  • sansmodels/src/sans/models/c_extensions/parallelepiped.h

    r8a48713 r5068697  
    1717                background:Incoherent Background [1/cm]  
    1818                </text> 
    19         [FIXED]= <text>short_edgeA.width; longer_edgeB.width; longuest_edgeC.width</text> 
     19        [FIXED]= <text>short_edgeA.width; longer_edgeB.width; longuest_edgeC.width;parallel_phi.width; parallel_theta.width</text> 
    2020        [ORIENTATION_PARAMS]= <text>parallel_phi; parallel_theta; parallel_phi.width; parallel_theta.width</text> 
    2121 
  • sansmodels/src/sans/models/c_models/c_models.cpp

    r8a48713 r5068697  
    2121void addCEllipsoidModel(PyObject *module); 
    2222void addCEllipticalCylinderModel(PyObject *module); 
     23void addCTriaxialEllipsoidModel(PyObject *module); 
     24void addCFlexibleCylinderModel(PyObject *module); 
     25void addCStackedDisksModel(PyObject *module); 
    2326 
    2427extern "C" { 
     
    161164        addCDiamCylFunc(m); 
    162165        addCEllipticalCylinderModel(m); 
     166        addCTriaxialEllipsoidModel(m); 
     167        addCFlexibleCylinderModel(m); 
     168        addCStackedDisksModel(m); 
    163169        addDisperser(m); 
    164170        addCGaussian(m); 
  • sansmodels/src/sans/models/c_models/models.hh

    r8a48713 r5068697  
    267267}; 
    268268 
     269class TriaxialEllipsoidModel{ 
     270public: 
     271        // Model parameters 
     272        Parameter scale; 
     273        Parameter semi_axisA; 
     274        Parameter semi_axisB; 
     275        Parameter semi_axisC; 
     276        Parameter contrast; 
     277        Parameter background; 
     278        Parameter axis_theta; 
     279        Parameter axis_phi; 
     280         
     281        // Constructor 
     282        TriaxialEllipsoidModel(); 
     283 
     284        // Operators to get I(Q) 
     285        double operator()(double q); 
     286        double operator()(double qx, double qy); 
     287        double evaluate_rphi(double q, double phi); 
     288}; 
     289 
     290class FlexibleCylinderModel{ 
     291public: 
     292        // Model parameters 
     293        Parameter scale; 
     294        Parameter length; 
     295        Parameter kuhn_length; 
     296        Parameter radius; 
     297        Parameter contrast; 
     298        Parameter background; 
     299        Parameter axis_theta; 
     300        Parameter axis_phi; 
     301         
     302        // Constructor 
     303        FlexibleCylinderModel(); 
     304 
     305        // Operators to get I(Q) 
     306        double operator()(double q); 
     307        double operator()(double qx, double qy); 
     308        double evaluate_rphi(double q, double phi); 
     309}; 
     310 
     311class StackedDisksModel{ 
     312public: 
     313        // Model parameters 
     314        Parameter scale; 
     315        Parameter length; 
     316        Parameter radius; 
     317        Parameter thickness; 
     318        Parameter core_sld; 
     319        Parameter layer_sld; 
     320        Parameter solvent_sld; 
     321        Parameter nlayers; 
     322        Parameter spacing; 
     323        Parameter background; 
     324        Parameter axis_theta; 
     325        Parameter axis_phi; 
     326         
     327        // Constructor 
     328        StackedDisksModel(); 
     329 
     330        // Operators to get I(Q) 
     331        double operator()(double q); 
     332        double operator()(double qx, double qy); 
     333        double evaluate_rphi(double q, double phi); 
     334}; 
    269335#endif 
Note: See TracChangeset for help on using the changeset viewer.