Exemplo n.º 1
0
 def test_arrays(self):
     """ Generated arrays should have expected values """
     domain = Domain(4, 16, 50.0, 190.0)
     self.assertEqual(domain.t[-1], domain.window_t - domain.dt)
     # Note division operator for integers is now //, / is for floats:
     self.assertEqual(domain.nu[domain.total_samples // 2],
                      domain.centre_nu)
Exemplo n.º 2
0
 def test_from_nu(self):
     """ Check conversions from nu to omega and nu to lambda """
     domain = Domain()
     self.assertEqual(nu_to_omega(domain.centre_nu), domain.centre_omega)
     self.assertEqual(nu_to_lambda(domain.centre_nu), domain.centre_lambda)
     assert_array_almost_equal(nu_to_omega(domain.nu), domain.omega)
     assert_array_almost_equal(nu_to_lambda(domain.nu), domain.Lambda)
Exemplo n.º 3
0
 def test_derived(self):
     """ Derived parameters should have expected values """
     domain = Domain(2, 32, 200.0, 193.2)
     self.assertEqual(domain.total_samples, 64)
     self.assertEqual(domain.window_t, 400.0)
     assert_almost_equal(domain.centre_omega, 1213.911401347, 9)
     assert_almost_equal(domain.centre_lambda, 1551.720797, 6)
Exemplo n.º 4
0
 def test_dnu_dlambda_conversion(self):
     """ Check conversions from dnu to dlambda and dlambda to dnu """
     domain = Domain()
     self.assertEqual(dnu_to_dlambda(domain.dnu, domain.centre_nu),
                      domain.dlambda)
     self.assertEqual(dlambda_to_dnu(domain.dlambda, domain.centre_lambda),
                      domain.dnu)
Exemplo n.º 5
0
 def test_deltas(self):
     """ Delta parameters should have expected values """
     domain = Domain(1, 64, 400.0, 193.3)
     self.assertEqual(domain.dt, 400.0 / (1 * 64))
     assert_almost_equal(domain.dnu, 1.0 / domain.window_t)
     assert_almost_equal(
         domain.dlambda,
         Domain.vacuum_light_speed * domain.dnu / (domain.centre_nu)**2)
Exemplo n.º 6
0
 def test_none(self):
     """ Should use default value if no parameter given """
     domain = Domain()
     self.assertEqual(domain.total_bits, 1)
     self.assertEqual(domain.samples_per_bit, 512)
     self.assertEqual(domain.bit_width, 100.0)
     self.assertEqual(domain.centre_nu, 193.1)
     self.assertEqual(domain.channels, 1)
Exemplo n.º 7
0
 def test_from_lambda(self):
     """ Check conversions from lambda to nu and lambda to omega """
     domain = Domain()
     self.assertEqual(lambda_to_nu(domain.centre_lambda), domain.centre_nu)
     self.assertEqual(lambda_to_omega(domain.centre_lambda),
                      domain.centre_omega)
     assert_array_almost_equal(lambda_to_nu(domain.Lambda), domain.nu)
     assert_array_almost_equal(lambda_to_omega(domain.Lambda), domain.omega)
Exemplo n.º 8
0
 def test_output(self):
     """ Check Domain outputs its values correctly """
     domain = Domain(2, 128, 25.0, 193.8, 2)
     expected_string = [
         'Domain:', 'total_bits = 2', 'samples_per_bit = 128',
         'bit_width = 25.0000 ps', 'centre_nu = 193.8000 THz',
         'total_samples = 256', 'window_t = 50.0000 ps',
         'centre_omega = 1217.6813 rad / ps',
         'centre_lambda = 1546.9167 nm', 'dt = 0.1953 ps',
         'window_nu = 5.1200 THz', 'dnu = 0.0200 THz',
         'window_omega = 32.1699 rad / ps', 'domega = 0.1257 rad / ps',
         'window_lambda = 40.8680 nm', 'dlambda = 0.1596 nm', 'channels = 2'
     ]
     self.assertEqual(str(domain), '\n\t'.join(expected_string))
Exemplo n.º 9
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)