Skip to content
Snippets Groups Projects
Commit 1312fdfb authored by Colm Talbot's avatar Colm Talbot
Browse files

fix conversion tests

parent bac16e06
No related branches found
No related tags found
1 merge request!171Resolve "add neutron star merger to examples"
......@@ -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):
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment