diff --git a/test/conversion_tests.py b/test/conversion_tests.py index 3130af9534630b925550bc4ca3082ed9f63cfd11..f0e4409f2d360c93ba93a96f6ac33c7b4089dc88 100644 --- a/test/conversion_tests.py +++ b/test/conversion_tests.py @@ -8,14 +8,35 @@ import numpy as np class TestBasicConversions(unittest.TestCase): def setUp(self): - self.mass_1 = 20 - self.mass_2 = 10 - self.mass_ratio = 0.5 - self.total_mass = 30 - self.chirp_mass = 200**0.6 / 30**0.2 - self.symmetric_mass_ratio = 2/9 + self.mass_1 = 1.4 + self.mass_2 = 1.3 + self.mass_ratio = 13/14 + self.total_mass = 2.7 + self.chirp_mass = (1.4 * 1.3)**0.6 / 2.7**0.2 + self.symmetric_mass_ratio = (1.4 * 1.3) / 2.7**2 self.cos_angle = -1 self.angle = np.pi + self.lambda_1 = 300 + self.lambda_2 = 300 * (14 / 13)**5 + self.lambda_tilde = 8 / 13 * ( + (1 + 7 * self.symmetric_mass_ratio + - 31 * self.symmetric_mass_ratio**2) + * (self.lambda_1 + self.lambda_2) + + (1 - 4 * self.symmetric_mass_ratio)**0.5 + * (1 + 9 * self.symmetric_mass_ratio + - 11 * self.symmetric_mass_ratio**2) + * (self.lambda_1 - self.lambda_2) + ) + self.delta_lambda = 1 / 2 * ( + (1 - 4 * self.symmetric_mass_ratio)**0.5 + * (1 - 13272 / 1319 * self.symmetric_mass_ratio + + 8944 / 1319 * self.symmetric_mass_ratio**2) + * (self.lambda_1 + self.lambda_2) + + (1 - 15910 / 1319 * self.symmetric_mass_ratio + + 32850 / 1319 * self.symmetric_mass_ratio**2 + + 3380 / 1319 * self.symmetric_mass_ratio**3) + * (self.lambda_1 - self.lambda_2) + ) def tearDown(self): del self.mass_1 @@ -27,7 +48,8 @@ class TestBasicConversions(unittest.TestCase): def test_total_mass_and_mass_ratio_to_component_masses(self): mass_1, mass_2 = tupak.gw.conversion.total_mass_and_mass_ratio_to_component_masses(self.mass_ratio, self.total_mass) - self.assertTupleEqual((mass_1, mass_2), (self.mass_1, self.mass_2)) + self.assertTrue(all([abs(mass_1 - self.mass_1) < 1e-5, + abs(mass_2 - self.mass_2) < 1e-5])) def test_symmetric_mass_ratio_to_mass_ratio(self): mass_ratio = tupak.gw.conversion.symmetric_mass_ratio_to_mass_ratio(self.symmetric_mass_ratio) @@ -61,6 +83,20 @@ class TestBasicConversions(unittest.TestCase): mass_ratio = tupak.gw.conversion.mass_1_and_chirp_mass_to_mass_ratio(self.mass_1, self.chirp_mass) self.assertAlmostEqual(self.mass_ratio, mass_ratio) + def test_lambda_tilde_to_lambda_1_lambda_2(self): + lambda_1, lambda_2 =\ + tupak.gw.conversion.lambda_tilde_to_lambda_1_lambda_2( + self.lambda_tilde, self.mass_1, self.mass_2) + self.assertTrue(all([abs(self.lambda_1 - lambda_1) < 1e-5, + abs(self.lambda_2 - lambda_2) < 1e-5])) + + def test_lambda_tilde_delta_lambda_to_lambda_1_lambda_2(self): + lambda_1, lambda_2 =\ + tupak.gw.conversion.lambda_tilde_delta_lambda_to_lambda_1_lambda_2( + self.lambda_tilde, self.delta_lambda, self.mass_1, self.mass_2) + self.assertTrue(all([abs(self.lambda_1 - lambda_1) < 1e-5, + abs(self.lambda_2 - lambda_2) < 1e-5])) + class TestConvertToLALBBHParams(unittest.TestCase): diff --git a/tupak/gw/conversion.py b/tupak/gw/conversion.py index 6be1fcaea8408fbdde62d5157627ef854c6e27a5..cb239e97ed6460605c7a2d0f919965fa05210bc2 100644 --- a/tupak/gw/conversion.py +++ b/tupak/gw/conversion.py @@ -449,10 +449,8 @@ def lambda_tilde_delta_lambda_to_lambda_1_lambda_2( Tidal parameter of less massive neutron star. """ eta = component_masses_to_symmetric_mass_ratio(mass_1, mass_2) - q = mass_2 / mass_1 - coefficient_1 = (1 + 7 * eta - 31 * eta**2) * (1 + q**5) - coefficient_2 = (1 - 4 * eta)**0.5 * (1 + 9 * eta - 11 * eta**2)\ - * (1 - q**0.5) + coefficient_1 = (1 + 7 * eta - 31 * eta**2) + coefficient_2 = (1 - 4 * eta)**0.5 * (1 + 9 * eta - 11 * eta**2) coefficient_3 = (1 - 4 * eta)**0.5\ * (1 - 13272 / 1319 * eta + 8944 / 1319 * eta**2) coefficient_4 = (1 - 15910 / 1319 * eta + 32850 / 1319 * eta**2 @@ -497,10 +495,10 @@ def lambda_tilde_to_lambda_1_lambda_2( eta = component_masses_to_symmetric_mass_ratio(mass_1, mass_2) q = mass_2 / mass_1 lambda_1 = 13 / 8 * lambda_tilde / ( - (1 + 7 * eta - 31 * eta**2) * (1 + q**5) - + (1 - 4 * eta)**0.5 * (1 + 9 * eta - 11 * eta**2) * (1 - q**0.5) + (1 + 7 * eta - 31 * eta**2) * (1 + q**-5) + + (1 - 4 * eta)**0.5 * (1 + 9 * eta - 11 * eta**2) * (1 - q**-5) ) - lambda_2 = lambda_1 / q**0.5 + lambda_2 = lambda_1 / q**5 return lambda_1, lambda_2