def test_ip_theta_pi_at_sigma_is_p_irr(self):

        import math

        D = 1e-12
        sigma = 1e-8

        kf = 0

        t = 1e-5
        r0 = sigma
        r = r0 + math.sqrt(6 * D * t)

        gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)

        ip = gf.ip_theta(numpy.pi, r, t) * (2 * numpy.pi * r * r)
        pirr = mod.p_irr(r, t, r0, kf, D, sigma)
        pcorr = gf.ip_corr(numpy.pi, r, t) * (2 * numpy.pi * r * r)
        pfree = gf.ip_free(numpy.pi, r, t) * (2 * numpy.pi * r * r)

        self.assertNotAlmostEqual(pirr, pfree, 7,
                                  'pcorr estimated to be too small.' + \
                                      ' test may not be valid.')

        #print 'PP', pirr, ip, pcorr, pfree

        self.assertNotEqual(0.0, ip)
        self.assertAlmostEqual(ip/pirr, 1)
    def test_ip_theta_pi_is_p_irr(self):

        D = 1e-12
        sigma = 1e-8

        kf = 0

        t = 1e-3
        r0 = 1.1e-8
        r = r0

        gf = mod.BasicPairGreensFunction(D, kf, sigma)

        ip = gf.ip_theta(numpy.pi, r, r0, t) * (2 * numpy.pi * r * r)
        pirr = mod.p_irr(r, t, r0, kf, D, sigma)
        pcorr = gf.ip_corr(numpy.pi, r, r0, t) * (2 * numpy.pi * r * r)
        pfree = gf.ip_free(numpy.pi, r, r0, t) * (2 * numpy.pi * r * r)

        self.assertNotAlmostEqual(pirr, pfree, 6,
                                  'pcorr estimated to be too small.' + \
                                      ' test may not be valid.')

        #print 'PP', pirr, ip, pcorr, pfree

        self.assertNotEqual(0.0, ip)
        self.assertAlmostEqual(ip/pirr, 1)
    def test_ip_theta_pi_at_sigma_is_p_irr(self):

        import math

        D = 1e-12
        sigma = 1e-8

        kf = 0

        t = 1e-5
        r0 = sigma
        r = r0 + math.sqrt(6 * D * t)

        gf = mod.BasicPairGreensFunction(D, kf, sigma)

        ip = gf.ip_theta(numpy.pi, r, r0, t) * (2 * numpy.pi * r * r)
        pirr = mod.p_irr(r, t, r0, kf, D, sigma)
        pcorr = gf.ip_corr(numpy.pi, r, r0, t) * (2 * numpy.pi * r * r)
        pfree = gf.ip_free(numpy.pi, r, r0, t) * (2 * numpy.pi * r * r)

        self.assertNotAlmostEqual(pirr, pfree, 7,
                                  'pcorr estimated to be too small.' + \
                                      ' test may not be valid.')

        #print 'PP', pirr, ip, pcorr, pfree

        self.assertNotEqual(0.0, ip)
        self.assertAlmostEqual(ip / pirr, 1)
    def test_ip_theta_pi_is_p_irr(self):

        D = 1e-12
        sigma = 1e-8

        kf = 0

        t = 1e-3
        r0 = 1.1e-8
        r = r0

        gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)

        ip = gf.ip_theta(numpy.pi, r, t) * (2 * numpy.pi * r * r)
        pirr = mod.p_irr(r, t, r0, kf, D, sigma)
        pcorr = gf.ip_corr(numpy.pi, r, t) * (2 * numpy.pi * r * r)
        pfree = gf.ip_free(numpy.pi, r, t) * (2 * numpy.pi * r * r)

        self.assertNotAlmostEqual(pirr, pfree, 6,
                                  'pcorr estimated to be too small.' + \
                                      ' test may not be valid.')

        #print 'PP', pirr, ip, pcorr, pfree

        self.assertNotEqual(0.0, ip)
        self.assertAlmostEqual(ip / pirr, 1)
Example #5
0
def p_irr(r, t, r0, kf, D, sigma):

    return _greens_functions.p_irr(r, t, r0, kf, D, sigma)
Example #6
0
def p_irr(r, t, r0, kf, D, sigma):

    return _greens_functions.p_irr(r, t, r0, kf, D, sigma)