Example #1
0
 def testDistanceModulusAtZero(self):
     """
     Test to make sure that the distance modulus is set to zero if the distance modulus method
     returns a negative number
     """
     universe = CosmologyObject()
     ztest = [0.0, 1.0, 2.0, 0.0, 3.0]
     mm = universe.distanceModulus(redshift=ztest)
     self.assertEqual(mm[0], 0.0)
     self.assertEqual(mm[3], 0.0)
     self.assertEqual(mm[1], 5.0*np.log10(universe.luminosityDistance(ztest[1])) + 25.0)
     self.assertEqual(mm[2], 5.0*np.log10(universe.luminosityDistance(ztest[2])) + 25.0)
     self.assertEqual(mm[4], 5.0*np.log10(universe.luminosityDistance(ztest[4])) + 25.0)
Example #2
0
 def testDistanceModulusAtZero(self):
     """
     Test to make sure that the distance modulus is set to zero if the distance modulus method
     returns a negative number
     """
     universe = CosmologyObject()
     ztest = [0.0, 1.0, 2.0, 0.0, 3.0]
     mm = universe.distanceModulus(redshift=ztest)
     self.assertEqual(mm[0], 0.0)
     self.assertEqual(mm[3], 0.0)
     self.assertEqual(
         mm[1],
         5.0 * np.log10(universe.luminosityDistance(ztest[1])) + 25.0)
     self.assertEqual(
         mm[2],
         5.0 * np.log10(universe.luminosityDistance(ztest[2])) + 25.0)
     self.assertEqual(
         mm[4],
         5.0 * np.log10(universe.luminosityDistance(ztest[4])) + 25.0)
    def testLuminosityDistance(self):
        """
        Test the calculation of the luminosity distance
        """

        H0 = 73.0

        for Om0 in numpy.arange(start=0.15, stop=0.56, step=0.2):
            for Ok0 in numpy.arange(start=-0.1, stop=0.11, step=0.2):
                for w0 in numpy.arange(start=-1.1, stop=-0.85, step=0.2):
                    for wa in numpy.arange(start=-0.1, stop=0.11, step=0.2):

                        universe = CosmologyObject(H0=H0,
                                                   Om0=Om0,
                                                   Ok0=Ok0,
                                                   w0=w0,
                                                   wa=wa)

                        sqrtkCurvature = numpy.sqrt(
                            numpy.abs(universe.OmegaCurvature())) * universe.H(
                            ) / self.speedOfLight
                        Og0 = universe.OmegaPhotons()
                        Onu0 = universe.OmegaNeutrinos()
                        Ode0 = universe.OmegaDarkEnergy()

                        for zz in numpy.arange(start=0.1, stop=4.2, step=2.0):
                            luminosityControl = universe.luminosityDistance(
                                redshift=zz)
                            comovingDistance = self.speedOfLight * scipy.integrate.quad(
                                comovingDistanceIntegrand,
                                0.0,
                                zz,
                                args=(H0, Om0, Ode0, Og0, Onu0, w0, wa))[0]

                            if universe.OmegaCurvature() < 0.0:
                                nn = sqrtkCurvature * comovingDistance
                                nn = numpy.sin(nn)
                                luminosityTest = (1.0 +
                                                  zz) * nn / sqrtkCurvature
                            elif universe.OmegaCurvature() > 0.0:
                                nn = sqrtkCurvature * comovingDistance
                                nn = numpy.sinh(nn)
                                luminosityTest = (1.0 +
                                                  zz) * nn / sqrtkCurvature
                            else:
                                luminosityTest = (1.0 + zz) * comovingDistance
                            self.assertAlmostEqual(
                                luminosityControl / luminosityTest, 1.0, 4)
Example #4
0
    def testLuminosityDistance(self):
        """
        Test the calculation of the luminosity distance
        """

        H0 = 73.0

        for Om0 in np.arange(start=0.15, stop=0.56, step=0.2):
            for Ok0 in np.arange(start=-0.1, stop=0.11, step=0.2):
                for w0 in np.arange(start=-1.1, stop=-0.85, step=0.2):
                    for wa in np.arange(start=-0.1, stop=0.11, step=0.2):

                        universe = CosmologyObject(H0=H0, Om0=Om0, Ok0=Ok0, w0=w0, wa=wa)

                        sqrtkCurvature = \
                        np.sqrt(np.abs(universe.OmegaCurvature()))*universe.H()/self.speedOfLight

                        Og0 = universe.OmegaPhotons()
                        Onu0 = universe.OmegaNeutrinos()
                        Ode0 = universe.OmegaDarkEnergy()

                        for zz in np.arange(start=0.1, stop=4.2, step=2.0):
                            luminosityControl = universe.luminosityDistance(redshift=zz)

                            comovingDistance = \
                            self.speedOfLight*scipy.integrate.quad(comovingDistanceIntegrand, 0.0, zz,
                                                                   args=(H0, Om0, Ode0, Og0, Onu0, w0, wa))[0]

                            if universe.OmegaCurvature() < 0.0:
                                nn = sqrtkCurvature*comovingDistance
                                nn = np.sin(nn)
                                luminosityTest = (1.0+zz)*nn/sqrtkCurvature
                            elif universe.OmegaCurvature() > 0.0:
                                nn = sqrtkCurvature*comovingDistance
                                nn = np.sinh(nn)
                                luminosityTest = (1.0+zz)*nn/sqrtkCurvature
                            else:
                                luminosityTest = (1.0+zz)*comovingDistance
                            self.assertAlmostEqual(luminosityControl/luminosityTest, 1.0, 4)