Ejemplo n.º 1
0
def getLogRateH06(z):
    from numpy import zeros, log, log10, Inf, pi
    from TwiceLogLumDisWicMPC import TwiceLogLumDisWicMPC
    if all(z > 0):
        log_coeff = log(4 * pi * (3E5))
        omega_dm = 0.3
        omega_de = 0.7
        z_plus1 = z + 1
        log_z_plus1 = log(z_plus1)
        count = len(log_z_plus1)
        logRateDensity = zeros(count)
        Logz0plus1Constant = log10(1.97)
        Logz1plus1Constant = log10(5.50)
        g0 = 3.4
        g1 = -0.3
        g2 = -7.8
        LogNormFac1 = Logz0plus1Constant * (g0 - g1)
        LogNormFac2 = (Logz1plus1Constant * (g1 - g2)) + LogNormFac1

        for i in range(count):
            if log_z_plus1[i] < 0:
                logRateDensity[i] = -Inf
            elif log_z_plus1[i] < Logz0plus1Constant:
                logRateDensity[i] = log_z_plus1[i] * g0
            elif log_z_plus1[i] < Logz1plus1Constant:
                logRateDensity[i] = LogNormFac1 + log_z_plus1[i] * g1
            else:
                logRateDensity[i] = LogNormFac2 + log_z_plus1[i] * g2
        return_value = logRateDensity + log_coeff + TwiceLogLumDisWicMPC(
            z_plus1) - (3.0 * log_z_plus1 +
                        0.5 * log(omega_dm * z_plus1**3 + omega_de))
    else:
        return_value = -Inf
    return return_value
Ejemplo n.º 2
0
def getLogRateL08(z):
    from numpy import zeros,log,log10,Inf,pi
    from TwiceLogLumDisWicMPC import TwiceLogLumDisWicMPC
    log_coeff=log(4*pi*(3E5))
    omega_dm=0.3
    omega_de=0.7
    z_plus1=z+1
    log_z_plus1=log(z_plus1)
    count = len(log_z_plus1)
    logRateDensity = zeros(count)
    Logz0plus1Constant=log(1.993)
    Logz1plus1Constant=log(4.800)
    g0=3.3000
    g1=0.0549
    g2=-4.4600
    LogNormFac1=Logz0plus1Constant*(g0-g1)
    LogNormFac2=(Logz1plus1Constant*(g1-g2))+LogNormFac1

    for i in range(count):
        if log_z_plus1[i] < 0:
            logRateDensity[i] = -Inf
        elif log_z_plus1[i] < Logz0plus1Constant:
            logRateDensity[i] = log_z_plus1[i] * g0
        elif log_z_plus1[i] < Logz1plus1Constant:
            logRateDensity[i] = LogNormFac1 + log_z_plus1[i] * g1
        else:
            logRateDensity[i] = LogNormFac2 + log_z_plus1[i] * g2
    return logRateDensity+log_coeff + TwiceLogLumDisWicMPC(z_plus1) - ( 3.0*log_z_plus1 + 0.5*log(omega_dm*z_plus1**3+omega_de) )
Ejemplo n.º 3
0
def getLogRateF18(z):
    from numpy import log,pi
    from TwiceLogLumDisWicMPC import TwiceLogLumDisWicMPC
    log_coeff=log(4*pi*(3E5))
    omega_dm=0.3
    omega_de=0.7
    z_plus1=z+1
    log_z_plus1=log(z_plus1)
    a=2.99
    b=2.63
    c=6.19
    d=log(0.013)
    z_plus1_coeff=1.0/(b**c)
    log_sfrd=d+a*log_z_plus1-log(1.0+z_plus1_coeff*z_plus1**c)
    return (log_coeff + TwiceLogLumDisWicMPC(z_plus1) - ( 3.0*log_z_plus1 + 0.5*log(omega_dm*z_plus1**3+omega_de) )+log_sfrd)
Ejemplo n.º 4
0
def getLogRateM17(z):
    from numpy import log, pi, Inf, all
    from TwiceLogLumDisWicMPC import TwiceLogLumDisWicMPC
    if all(z > 0):
        log_coeff = log(4 * pi * (3E5))
        omega_dm = 0.3
        omega_de = 0.7
        z_plus1 = z + 1
        log_z_plus1 = log(z_plus1)
        a = 2.6
        b = 3.2
        c = 6.2
        d = log(0.01)
        z_plus1_coeff = 1.0 / (b**c)
        log_sfrd = d + a * log_z_plus1 - log(1.0 + z_plus1_coeff * z_plus1**c)
        return_value = (
            log_coeff + TwiceLogLumDisWicMPC(z_plus1) -
            (3.0 * log_z_plus1 + 0.5 * log(omega_dm * z_plus1**3 + omega_de)) +
            log_sfrd)
    else:
        return_value = -Inf
    return return_value
Ejemplo n.º 5
0
def getLogRateP15(z):
    from numpy import pi,log,NINF
    from TwiceLogLumDisWicMPC import TwiceLogLumDisWicMPC
    from StarFormationRateDensity import getLogRateDensityP15
    logz1plus1 = log(5.50)
    exponentHighZ = -7.8
    logNormFac2 = -exponentHighZ * logz1plus1
    omega_dm=0.3
    omega_de=0.7
    z_plus1=z+1
    log_z_plus1=log(z_plus1)
    log_coef = log(4*pi*3E5)
    count=len(z)
    logRateDensity=[0]*len(z)

    for i in range(count):
        if (log_z_plus1[i]<0):
            logRateDensity[i] = NINF
        elif (log_z_plus1[i]<logz1plus1):
            logRateDensity[i] = 0
        else:
            logRateDensity[i] = log_z_plus1[i]*exponentHighZ + logNormFac2

    return log_coef + TwiceLogLumDisWicMPC(z_plus1) - ( 3.0*log_z_plus1 + 0.5*log(omega_dm*z_plus1**3+omega_de) )+ logRateDensity