예제 #1
0
 def test_dynamicsusceptibility(self):
     xs = numpy.array([-1, 0, 1])
     ys = numpy.array([1, 1])
     ws = CreateWorkspace(DataX=xs, DataY=ys, NSpec=1, UnitX='DeltaE', StoreInADS=False)
     wsOut = directtools.dynamicsusceptibility(ws, 100.)
     self.assertEqual(wsOut.YUnit(), 'Dynamic susceptibility')
     xs = numpy.array([0, 1, 0, 1])
     ys = numpy.array([1, 1])
     vertX = numpy.array([-1, 1])
     ws = CreateWorkspace(DataX=xs, DataY=ys, NSpec=2, UnitX='MomentumTransfer', VerticalAxisUnit='DeltaE', VerticalAxisValues=vertX,
                          StoreInADS=False)
     wsOut = directtools.dynamicsusceptibility(ws, 100.)
     self.assertEqual(wsOut.YUnit(), 'Dynamic susceptibility')
예제 #2
0
 def test_dynamicsusceptibility(self):
     xs = numpy.array([-1, 0, 1])
     ys = numpy.array([1, 1])
     vertX = numpy.array([-1, 1])
     ws = CreateWorkspace(DataX=xs, DataY=ys, NSpec=1, UnitX='DeltaE', VerticalAxisUnit='MomentumTransfer', VerticalAxisValues=vertX,
                          StoreInADS=False)
     wsOut = directtools.dynamicsusceptibility(ws, 100.)
     self.assertEqual(wsOut.YUnitLabel(), 'Dynamic susceptibility')
     xs = numpy.array([0, 1, 0, 1])
     ys = numpy.array([1, 1])
     ws = CreateWorkspace(DataX=xs, DataY=ys, NSpec=2, UnitX='MomentumTransfer', VerticalAxisUnit='DeltaE', VerticalAxisValues=vertX,
                          StoreInADS=False)
     wsOut = directtools.dynamicsusceptibility(ws, 100.)
     self.assertEqual(wsOut.YUnitLabel(), 'Dynamic susceptibility')
예제 #3
0
 def test_dynamicsusceptibility_removesingularity(self):
     xs = numpy.array([-0.7, -0.4, -0.1, 0.2, 0.5])
     ys = numpy.array([2, 2, 2, 2])
     es = numpy.sqrt(ys)
     ws = CreateWorkspace(DataX=xs, DataY=ys, DataE=es, NSpec=1, UnitX='DeltaE',
                          StoreInADS=False)
     wsOut = directtools.dynamicsusceptibility(ws, 100., zeroEnergyEpsilon=0.13)
     numpy.testing.assert_equal(wsOut.readX(0), xs)
     outYs = wsOut.readY(0)
     outEs = wsOut.readE(0)
     self.assertEqual(outYs[2], 0.)
     self.assertEqual(outEs[2], 0.)
예제 #4
0
 def test_dynamicsusceptibility_removesingularity(self):
     xs = numpy.array([-0.7, -0.4, -0.1, 0.2, 0.5])
     ys = numpy.array([2, 2, 2, 2])
     es = numpy.sqrt(ys)
     vertX = numpy.array([-1, 1])
     ws = CreateWorkspace(DataX=xs, DataY=ys, DataE=es, NSpec=1, UnitX='DeltaE', VerticalAxisUnit='MomentumTransfer',
                          VerticalAxisValues=vertX, StoreInADS=False)
     wsOut = directtools.dynamicsusceptibility(ws, 100., zeroEnergyEpsilon=0.13)
     numpy.testing.assert_equal(wsOut.readX(0), xs)
     outYs = wsOut.readY(0)
     outEs = wsOut.readE(0)
     self.assertEqual(outYs[2], 0.)
     self.assertEqual(outEs[2], 0.)
예제 #5
0
 def test_plotSofQW_dynamicsusceptibility(self):
     xs = numpy.array([-2, -1, 0, 1, 2])
     ys = numpy.tile(numpy.array([1, 1, 1 ,1 , 1]), 10)
     vertX = numpy.array([-4, -3, -2, -1, 0, 1, 2, 3, 4, 5])
     ws = CreateWorkspace(DataX=xs, DataY=ys, NSpec=10, UnitX='MomentumTransfer', VerticalAxisUnit='DeltaE', VerticalAxisValues=vertX,
                          StoreInADS=False)
     wsOut = directtools.dynamicsusceptibility(ws, 100.)
     kwargs = {'workspace': wsOut}
     figure, axes = testhelpers.assertRaisesNothing(self, directtools.plotSofQW, **kwargs)
     self.assertEquals(len(figure.axes), 2)
     colorbar_axes = figure.axes[-1]
     self.assertEquals(colorbar_axes.get_ylabel(), r"$\chi''(Q,E)$ (arb. units)")
     self.assertEquals(axes.get_ylim()[0], 0.)