def test_TM_0_2(self): vsh_theta, vsh_phi = vsh.vsh(1, 0, 2, 0, 0) self.assertAlmostEqual(np.abs(vsh_theta[0]), 0, 3) self.assertAlmostEqual(np.abs(vsh_phi[0]), 0, 3) vsh_theta, vsh_phi = vsh.vsh(1, 0, 2, np.pi/4, 0) self.assertAlmostEqual(np.abs(vsh_theta[0]), 7.497, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 0, 2) self.assertAlmostEqual(np.angle(vsh_phi[0]), 0, 3) vsh_theta, vsh_phi = vsh.vsh(1, 0, 2, np.pi/2, np.pi/4) self.assertAlmostEqual(np.abs(vsh_theta[0]), 0, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 0, 2)
def test_TE_0_1(self): vsh_theta, vsh_phi = vsh.vsh(0, 0, 1, 0, 0) self.assertEqual(np.abs(vsh_theta), 0) self.assertAlmostEqual(np.abs(vsh_phi[0]), 0, 3) vsh_theta, vsh_phi = vsh.vsh(0, 0, 1, np.pi/4, 0) self.assertAlmostEqual(np.abs(np.angle(vsh_phi[0])), np.pi, 3) self.assertEqual(np.abs(vsh_theta), 0) self.assertAlmostEqual(np.abs(vsh_phi[0]), 4.742, 3) vsh_theta, vsh_phi = vsh.vsh(0, 0, 1, np.pi/2, np.pi/4) self.assertAlmostEqual(np.abs(np.angle(vsh_phi[0])), np.pi, 3) self.assertEqual(np.abs(vsh_theta), 0) self.assertAlmostEqual(np.abs(vsh_phi[0]), 6.706, 3)
def test_TE_2_2(self): vsh_theta, vsh_phi = vsh.vsh(0, 2, 2, 0, 0) self.assertAlmostEqual(np.abs(vsh_theta[0]), 0, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 0, 2) vsh_theta, vsh_phi = vsh.vsh(0, 2, 2, np.pi / 4, 0) self.assertAlmostEqual(np.abs(vsh_theta[0]), 4.329, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 3.061, 2) self.assertAlmostEqual(np.angle(vsh_theta[0]), 0, 3) self.assertAlmostEqual(np.angle(vsh_phi[0]), np.pi/2, 3) vsh_theta, vsh_phi = vsh.vsh(0, 2, 2, np.pi / 2, np.pi / 4) self.assertAlmostEqual(np.abs(vsh_theta[0]), 6.121, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 0, 2) self.assertAlmostEqual(np.angle(vsh_theta[0]), np.pi/2, 3)
def test_TE_1_1(self): vsh_theta, vsh_phi = vsh.vsh(0, 1, 1, 0, 0) self.assertAlmostEqual(np.abs(vsh_theta[0]), 4.742, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 4.742, 2) self.assertAlmostEqual(np.angle(vsh_theta[0]), -np.pi/2, 3) self.assertAlmostEqual(np.angle(vsh_phi[0]), 0, 3) vsh_theta, vsh_phi = vsh.vsh(0, 1, 1, np.pi / 4, 0) self.assertAlmostEqual(np.abs(vsh_theta[0]), 4.742, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 3.354, 2) self.assertAlmostEqual(np.angle(vsh_theta[0]), -np.pi/2, 3) self.assertAlmostEqual(np.angle(vsh_phi[0]), 0, 3) vsh_theta, vsh_phi = vsh.vsh(0, 1, 1, np.pi / 2, np.pi / 4) self.assertAlmostEqual(np.abs(vsh_theta[0]), 4.742, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 0, 2)
def test_TE_n1_3(self): vsh_theta, vsh_phi = vsh.vsh(0, -1, 3, 0, 0) self.assertAlmostEqual(np.abs(vsh_theta[0]), 7.243, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 7.243, 2) self.assertAlmostEqual(np.angle(vsh_theta[0]), np.pi / 2, 3) self.assertAlmostEqual(np.angle(vsh_phi[0]), 0, 3) vsh_theta, vsh_phi = vsh.vsh(0, -1, 3, np.pi / 4, 0) self.assertAlmostEqual(np.abs(vsh_theta[0]), 2.716, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 4.482, 2) self.assertAlmostEqual(np.angle(vsh_theta[0]), np.pi / 2, 3) self.assertAlmostEqual(np.angle(vsh_phi[0]), np.pi, 3) vsh_theta, vsh_phi = vsh.vsh(0, -1, 3, np.pi / 2, np.pi / 4) self.assertAlmostEqual(np.abs(vsh_theta[0]), 1.811, 2) self.assertAlmostEqual(np.abs(vsh_phi[0]), 0, 2) self.assertAlmostEqual(np.angle(vsh_theta[0]), -np.pi / 2 - np.pi / 4, 3)