Exemplo n.º 1
0
 def test_new_disp(self):
     from sas.models.dispersion_models import GaussianDispersion
     disp_rm = GaussianDispersion()
     self.model.set_dispersion('radius', disp_rm)
     self.model.dispersion['radius']['width'] = 0.1666666667
     self.model.dispersion['radius']['npts'] = 10
     self.model.dispersion['radius']['nsigmas'] = 2
Exemplo n.º 2
0
    def test_new_disp(self):
        from sas.models.dispersion_models import GaussianDispersion
        disp_rm = GaussianDispersion()
        self.model.set_dispersion('radius', disp_rm)
        self.model.dispersion['radius']['width'] = 0.1666666667
        self.model.dispersion['radius']['npts'] = 10
        self.model.dispersion['radius']['nsigmas'] = 2

        disp_rr = GaussianDispersion()
        self.model.set_dispersion('thickness', disp_rr)
        self.model.dispersion['thickness']['width'] = 0.2
        self.model.dispersion['thickness']['npts'] = 10
        self.model.dispersion['thickness']['nsigmas'] = 2

        self.assertAlmostEqual(self.model.run(0.001), 
                               1.16747510*407.344127907553, 3)
Exemplo n.º 3
0
    def test_new_disp(self):
        from sas.models.dispersion_models import GaussianDispersion
        disp_rm = GaussianDispersion()
        self.model.set_dispersion('radius_a', disp_rm)
        self.model.dispersion['radius_a']['width'] = 0.25
        self.model.dispersion['radius_a']['npts'] = 10
        self.model.dispersion['radius_a']['nsigmas'] = 2

        disp_rr = GaussianDispersion()
        self.model.set_dispersion('radius_b', disp_rr)
        self.model.dispersion['radius_b']['width'] = 0.125
        self.model.dispersion['radius_b']['npts'] = 10
        self.model.dispersion['radius_b']['nsigmas'] = 2

        self.assertAlmostEqual(self.model.run(0.001), 
                               1.10650710*11948.72581312305, 3)
        self.assertAlmostEqual(self.model.runXY([0.001,0.001]), 
                               1.105898*11811.972359807551, 2)
 def test_gauss(self):
     from sas.models.dispersion_models import GaussianDispersion
     disp_g = GaussianDispersion()
     self.model.set_dispersion('radius', disp_g)
     self.model.dispersion['radius']['width'] = 0.2
     self.model.dispersion['radius']['npts'] = 100
     self.model.dispersion['radius']['nsigmas'] = 10
     for ind in range(len(self.output_gauss.x)):
         self.assertAlmostEqual(self.model.run(self.output_gauss.x[ind]),
                                self.output_gauss.y[ind], 2)
Exemplo n.º 5
0
 def test_gaussian_zero(self):
     from sas.models.dispersion_models import GaussianDispersion
     disp = GaussianDispersion()
     self.model.set_dispersion('radius', disp)
     self.model.dispersion['radius']['width'] = 0.0
     self.model.dispersion['radius']['npts'] = 100
     self.model.dispersion['radius']['nsigmas'] = 2.5
     self.model.setParam('scale', 1.0)
     
     self.assertAlmostEqual(self.model.run(0.001), 450.355, 3)
     self.assertAlmostEqual(self.model.runXY([0.001,0.001]), 452.299, 3)
Exemplo n.º 6
0
 def test_gaussian(self):
     from sas.models.dispersion_models import GaussianDispersion
     disp = GaussianDispersion()
     self.model.set_dispersion('radius', disp)
     self.model.dispersion['radius']['width'] = 0.25
     self.model.dispersion['radius']['npts'] = 100
     self.model.dispersion['radius']['nsigmas'] = 2
     self.model.setParam('scale', 10.0)
     
     self.assertAlmostEqual(self.model.run(0.001), 
                            1.1804794*4723.32213339, 3)
     self.assertAlmostEqual(self.model.runXY([0.001,0.001]), 
                            1.180454*4743.56, 2)
Exemplo n.º 7
0
    def test_new_disp(self):
        from sas.models.dispersion_models import GaussianDispersion
        disp_rm = GaussianDispersion()
        self.model.set_dispersion('r_minor', disp_rm)
        self.model.dispersion['r_minor']['width'] = 0.25
        self.model.dispersion['r_minor']['npts'] = 10
        self.model.dispersion['r_minor']['nsigmas'] = 2

        disp_rr = GaussianDispersion()
        self.model.set_dispersion('r_ratio', disp_rr)
        self.model.dispersion['r_ratio']['width'] = 0.25/1.5
        self.model.dispersion['r_ratio']['npts'] = 10
        self.model.dispersion['r_ratio']['nsigmas'] = 2

        disp_len = GaussianDispersion()
        self.model.set_dispersion('length', disp_len)
        self.model.dispersion['length']['width'] = 50.0/400
        self.model.dispersion['length']['npts'] = 10
        self.model.dispersion['length']['nsigmas'] = 2

        self.assertAlmostEqual(self.model.run(0.001), 
                               1.23925910*711.18048194151925, 3)
        self.assertAlmostEqual(self.model.runXY([0.001,0.001]), 
                               1.238955*704.63525988095705, 0)
Exemplo n.º 8
0
    def test_new_disp(self):
        from sas.models.dispersion_models import GaussianDispersion
        disp_rm = GaussianDispersion()
        self.model.set_dispersion('radius', disp_rm)
        self.model.dispersion['radius']['width'] = 0.25
        self.model.dispersion['radius']['npts'] = 10
        self.model.dispersion['radius']['nsigmas'] = 2

        disp_rr = GaussianDispersion()
        self.model.set_dispersion('thickness', disp_rr)
        self.model.dispersion['thickness']['width'] = 0.2
        self.model.dispersion['thickness']['npts'] = 10
        self.model.dispersion['thickness']['nsigmas'] = 2

        disp_len = GaussianDispersion()
        self.model.set_dispersion('length', disp_len)
        self.model.dispersion['length']['width'] = 1.0/8.0
        self.model.dispersion['length']['npts'] = 10
        self.model.dispersion['length']['nsigmas'] = 2

        self.assertAlmostEqual(self.model.run(0.001), 
                               1.07832610*358.44062724936009, 3)
        self.assertAlmostEqual(self.model.runXY([0.001,0.001]), 
                               1.07844010*360.22673635224584, 3)
Exemplo n.º 9
0
    def test_clone(self):
        from sas.models.dispersion_models import GaussianDispersion
        disp = GaussianDispersion()
        self.model.set_dispersion('radius', disp)
        self.model.dispersion['radius']['width'] = 5.0 / 20.0
        self.model.dispersion['radius']['npts'] = 100
        self.model.dispersion['radius']['nsigmas'] = 2.0
        self.model.setParam('scale', 10.0)

        new_model = self.model.clone()
        print "gaussian", self.model.run(0.001)
        self.assertAlmostEqual(new_model.run(0.001), 1.1804794 * 4723.32213339,
                               3)
        self.assertAlmostEqual(new_model.runXY([0.001, 0.001]),
                               1.180454 * 4743.56, 2)