r'''Returns thermal conductivity of a refractory material from a table in
    [1]_. Here, thermal conductivity is a function of temperature between
    673.15 K and 1473.15 K according to linear interpolation among 5
    equally-spaced points. Here, thermal conductivity is not a function of
    porosity, which can affect it. If T is outside the acceptable range, it is
    rounded to the nearest limit. If T is not provided, the lowest temperature's
    value is provided.

    Parameters
    ----------
    ID : str
        ID corresponding to a material in the dictionary `refractories`
    T : float, optional
        Temperature of the refractory material, [K]

    Returns
    -------
    k : float
        Thermal conductivity of the refractory material, [W/m/K]

    Examples
    --------
    >>> [refractory_VDI_k('Fused silica', i) for i in [None, 200, 1000, 1500]]
    [1.44, 1.44, 1.58074, 1.73]

    References
    ----------
    .. [1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition.
       Berlin; New York:: Springer, 2010.

def refractory_VDI_k(ID, T=None):
    r'''Returns thermal conductivity of a refractory material from a table in
    [1]_. Here, thermal conductivity is a function of temperature between
    673.15 K and 1473.15 K according to linear interpolation among 5
    equally-spaced points. Here, thermal conductivity is not a function of
    porosity, which can affect it. If T is outside the acceptable range, it is
    rounded to the nearest limit. If T is not provided, the lowest temperature's
    value is provided.

    Parameters
    ----------
    ID : str
        ID corresponding to a material in the dictionary `refractories`
    T : float, optional
        Temperature of the refractory material, [K]

    Returns
    -------
    k : float
        Thermal conductivity of the refractory material, [W/m/K]

    Examples
    --------
    >>> [refractory_VDI_k('Fused silica', i) for i in [None, 200, 1000, 1500]]
    [1.44, 1.44, 1.58074, 1.73]

    References
    ----------
    .. [1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition.
       Berlin; New York:: Springer, 2010.
    '''
    if T is None:
        return float(refractories[ID][1][0])
    else:
        ks = refractories[ID][1]
        if T < _refractory_Ts[0]:
            T = _refractory_Ts[0]
        elif T > _refractory_Ts[-1]:
            T = _refractory_Ts[-1]
        return float(np.interp(T, _refractory_Ts, ks))