sphere = { 'scale': 1.0, 'radius': 60.0, 'sldSph': 2.0, 'sldSolv': 1.0, 'background': 0.0 } from sans.models.SphereModel import SphereModel from sans.models.dispersion_models import GaussianDispersion oldsm = SphereModel() qlist3 = numpy.asarray([0.001, 0.002]) print "run", oldsm.run(0.001), oldsm.run(0.002) print "runXY", oldsm.runXY(0.001), oldsm.runXY(0.002) print "evalDist", oldsm.evalDistribution(qlist3) for k, v in sphere.items(): oldsm.setParam(k, v) gdisp = GaussianDispersion() oldsm.set_dispersion('radius', gdisp) for k, v in disp.items(): oldsm.dispersion['radius'][k] = v print "G run", oldsm.run(0.001), oldsm.run(0.002) print "G runXY", oldsm.runXY(0.001), oldsm.runXY(0.002) print "G evalDist", oldsm.evalDistribution(qlist3) start = time.time() print "calc old"
import time import cplugin #import pdb; pdb.set_trace() q = numpy.arange(1000,dtype='d') disp = {'npts':10, 'width':0.1666666667, 'nsigmas':2} sphere = {'scale':1.0, 'radius':60.0, 'sldSph': 2.0, 'sldSolv': 1.0, 'background': 0.0} from sans.models.SphereModel import SphereModel from sans.models.dispersion_models import GaussianDispersion oldsm = SphereModel() qlist3 = numpy.asarray([0.001, 0.002]) print "run", oldsm.run(0.001), oldsm.run(0.002) print "runXY", oldsm.runXY(0.001), oldsm.runXY(0.002) print "evalDist", oldsm.evalDistribution(qlist3) for k,v in sphere.items(): oldsm.setParam(k,v) gdisp = GaussianDispersion() oldsm.set_dispersion('radius', gdisp) for k,v in disp.items(): oldsm.dispersion['radius'][k] = v print "G run", oldsm.run(0.001), oldsm.run(0.002) print "G runXY", oldsm.runXY(0.001), oldsm.runXY(0.002) print "G evalDist", oldsm.evalDistribution(qlist3) start=time.time() print "calc old"; sys.stdout.flush() Iq=oldsm.evalDistribution(q) #Iq=oldsm.run(q)