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')
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')
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.)
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.)
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.)