def hugoniot_t(rho, rho0, c0, s, gamma0, q, theta0, n, mass,
               three_r=3. * constants.R, t_ref=300., c_v=0.):
    """
    calculate temperature along a hugoniot

    :param rho: density in g/cm^3
    :param rho0: density at 1 bar in g/cm^3
    :param c0: velocity at 1 bar in km/s
    :param s: slope of the velocity change
    :param gamma0: Gruneisen parameter at 1 bar
    :param q: logarithmic derivative of Gruneisen parameter
    :param theta0: Debye temperature in K
    :param n: number of elements in a chemical formula
    :param mass: molar mass in gram
    :param three_r: 3 times gas constant.
        Jamieson modified this value to compensate for mismatches
    :param t_ref: reference temperature, 300 K
    :param c_v: heat capacity, see Jamieson 1983 for detail
    :return: temperature along hugoniot
    """
    if isuncertainties([rho, rho0, c0, s, gamma0, q, theta0]):
        f_v = np.vectorize(uct.wrap(hugoniot_t_single),
                           excluded=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
    else:
        f_v = np.vectorize(hugoniot_t_single, excluded=[1, 2, 3, 4, 5, 6,
                                                        7, 8, 9, 10, 11])
    return f_v(rho, rho0, c0, s, gamma0, q, theta0, n, mass,
               three_r=three_r, t_ref=t_ref, c_v=c_v)
def hugoniot_t ( rho , rho0 , c0 , s , gamma0 , q , theta0 , n , mass , three_r = 3. * constants . R , t_ref = 300. , c_v = 0. ) : if isuncertainties ( [ rho , rho0 , c0 , s , gamma0 , q , theta0 ] ) : f_v = np . vectorize ( uct . wrap ( hugoniot_t_single ) , excluded = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 ] ) else : f_v = np . vectorize ( hugoniot_t_single , excluded = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 ] ) return f_v ( rho , rho0 , c0 , s , gamma0 , q , theta0 , n , mass , three_r = three_r , t_ref = t_ref , c_v = c_v )
calculate temperature along a hugoniot

    :param rho: density in g/cm^3
    :param rho0: density at 1 bar in g/cm^3
    :param c0: velocity at 1 bar in km/s
    :param s: slope of the velocity change
    :param gamma0: Gruneisen parameter at 1 bar
    :param q: logarithmic derivative of Gruneisen parameter
    :param theta0: Debye temperature in K
    :param n: number of elements in a chemical formula
    :param mass: molar mass in gram
    :param three_r: 3 times gas constant.
        Jamieson modified this value to compensate for mismatches
    :param t_ref: reference temperature, 300 K
    :param c_v: heat capacity, see Jamieson 1983 for detail
    :return: temperature along hugoniot