Example #1
0
 def test_call():
     """ Check generated Sech function """
     from numpy import arange
     sech = Sech("sech", 0.4, 5.0, 1.5, 0.3, 0, 1.5)
     t = arange(0.0, 100.0)
     A = sech.generate(t)
     P = abs(A) ** 2
     assert_almost_equal(max(P), 1.5)
Example #2
0
 def test_call():
     """ Check generated Sech function """
     from numpy import arange
     sech = Sech("sech", 0.4, 5.0, 1.5, 0.3, 0, 1.5)
     t = arange(0.0, 100.0)
     A = sech.generate(t)
     P = abs(A) ** 2
     assert_almost_equal(max(P), 1.5)
Example #3
0
    def setUp(self):
        from pyofss.domain import Domain
        from pyofss.modules.sech import Sech

        domain = Domain(bit_width=200.0, samples_per_bit=2048)
        sech = Sech(peak_power=4.0, width=1.0)

        function = self.Function(domain)
        self.parameters = {"method": None, "f": function,
                           "length": 0.5 * np.pi, "total_steps": 1000}

        self.A_analytical = 2.0
        self.P_analytical = np.abs(self.A_analytical) ** 2
        self.A_in = sech.generate(domain.t)
Example #4
0
 def test_output(self):
     """ Check Sech outputs its values correctly """
     sech = Sech("sech", 0.2, 5.0, 1.4, 0.3, 0, 0.4, 0.0, 1)
     expected_string = [
         'position = 0.200000', 'width = 5.000000 ps',
         'fwhm = 8.813736 ps', 'peak_power = 1.400000 W',
         'offset_nu = 0.300000 THz', 'C = 0.400000',
         'initial_phase = 0.000000 rad', 'channel = 1']
     self.assertEqual(str(sech), '\n'.join(expected_string))
Example #5
0
 def test_none(self):
     """ Should use default value if no parameter given """
     sech = Sech()
     self.assertEqual(sech.name, "sech")
     self.assertEqual(sech.position, 0.5)
     self.assertEqual(sech.width, 10.0)
     self.assertEqual(sech.peak_power, 1e-3)
     self.assertEqual(sech.offset_nu, 0.0)
     self.assertEqual(sech.C, 0.0)
     self.assertEqual(sech.initial_phase, 0.0)
     self.assertEqual(sech.channel, 0)
     self.assertIsNone(sech.fwhm)
Example #6
0
 def test_bad_t(self):
     """ Should raise exception when temporal array has too few values """
     from numpy import arange
     t = arange(0.0, 4.0)
     self.assertRaises(OutOfRangeError, Sech().generate, t)
Example #7
0
 def test_conversion(self):
     """ Should calculate a FWHM pulse width from the HWIeM value. """
     sech = Sech(width=100.0)
     fwhm = sech.calculate_fwhm()
     self.assertEqual(fwhm, 176.2747174039086)
Example #8
0
 def test_conversion(self):
     """ Should calculate a FWHM pulse width from the HWIeM value. """
     sech = Sech(width=100.0)
     fwhm = sech.calculate_fwhm()
     self.assertEqual(fwhm, 176.2747174039086)