def T_P_int_geon(x, tau, tau0, n, R, rh, l, pm1, Om, lam, sig, deltaphi=0):
    K = lam**2 / (np.sqrt(2) * np.pi * l * Om) * rh / np.sqrt(R**2 - rh**2)
    Gm = rh**2 / (R**2 - rh**2) * (R**2 / rh**2 * fp.mpf(
        mp.cosh(rh / l * (deltaphi - 2 * np.pi * (n + 0.5)))) - 1)
    Gp = rh**2 / (R**2 - rh**2) * (R**2 / rh**2 * fp.mpf(
        mp.cosh(rh / l * (deltaphi - 2 * np.pi * (n + 0.5)))) + 1)

    if tau < tau0:
        return 0
    elif x < (tau + tau0):
        return K * fp.sin(Om*(2*tau0+x))\
                * (1/fp.sqrt(Gm + fp.mpf(mp.cosh(rh/l**2 * x))) - 1/fp.sqrt(Gp + fp.mpf(mp.cosh(rh/l**2 * x))))
    else:
        return K * fp.sin(Om*(2*tau-x))\
                * (1/fp.sqrt(Gm + fp.mpf(mp.cosh(rh/l**2 * x))) - 1/fp.sqrt(Gp + fp.mpf(mp.cosh(rh/l**2 * x))))
def XG_plusBA(n, RA, RB, rh, l, pm1, Om, lam, tau0, width, deltaphi, isP):
    bA = mp.sqrt(RA**2 - rh**2) / l
    bB = mp.sqrt(RB**2 - rh**2) / l
    f = lambda y: 2/Om/(bB-bA) * fp.exp(-fp.j*Om/2*(bB+bA)*y)\
                    * h_n2(y,n,RA,RB,rh,l,pm1,deltaphi,isP)\
                    * fp.sin( Om/2*(bB-bA)*(2*(tau0+width)-y))
    return fp.quad(f, [2 * tau0 + width, 2 * (tau0 + width)])
def XG_minusAB(n, RA, RB, rh, l, pm1, Om, lam, tau0, width, deltaphi, isP):
    bA = mp.sqrt(RA**2 - rh**2) / l
    bB = mp.sqrt(RB**2 - rh**2) / l
    f = lambda y: 2/Om/(bB-bA) * fp.exp(-fp.j*Om/2*(bB+bA)*y)\
                    * h_n1(y,n,RA,RB,rh,l,pm1,deltaphi,isP)\
                    * fp.sin( Om/2*(bB-bA)*(y-2*tau0))
    return fp.quad(f, [2 * tau0, 2 * tau0 + width])
def f02(y,n,R,rh,l,pm1,Om,lam,sig):
    K = lam**2*sig/2/fp.sqrt(2*fp.pi)
    a = (R**2-rh**2)*l**2/4/sig**2/rh**2
    b = fp.sqrt(R**2-rh**2)*Om*l/rh
    Zp = mp.mpf((R**2+rh**2)/(R**2-rh**2))
    if Zp == mp.cosh(y):
        print("RIP MOM PLSSS")
    #print(Zp, y, fp.cosh(y))
    if Zp - mp.cosh(y) > 0:
        return K * fp.exp(-a*y**2) * fp.cos(b*y) / fp.mpf(mp.sqrt(Zp - mp.cosh(y)))
    elif Zp - mp.cosh(y) < 0:
        return -K * fp.exp(-a*y**2) * fp.sin(b*y) / fp.mpf(mp.sqrt(mp.cosh(y) - Zp))
    else:
        return 0
Пример #5
0
 def g(theta, phi):
     R = abs(fp.re(fp.spherharm(l, m, theta, phi)))
     x = R * fp.cos(phi) * fp.sin(theta)
     y = R * fp.sin(phi) * fp.sin(theta)
     z = R * fp.cos(theta)
     return [x, y, z]
Пример #6
0
 def g(theta,phi):
     R = abs(fp.re(fp.spherharm(l,m,theta,phi)))
     x = R*fp.cos(phi)*fp.sin(theta)
     y = R*fp.sin(phi)*fp.sin(theta)
     z = R*fp.cos(theta)
     return [x,y,z]
def integrandof_PGEON_n(y, n, RA, RB, rh, l, pm1, Om, lam, tau0, width,
                        deltaphi, isP):
    return lam**2/Om * fp.sin(Om*y)\
             * ( h_n(y+2*tau0,n,RA,RB,rh,l,pm1,deltaphi,isP) - h_n(2*(tau0+width)-y,n,RA,RB,rh,l,pm1,deltaphi,isP) )