Insulation

Overview

Thermal insulation is the practice of reducing heat flow through walls, equipment, and process components by selecting materials with appropriate thermophysical properties. In engineering calculations, insulation performance depends not only on conductivity but also on density and heat capacity, especially when systems operate across wide temperature ranges. This category focuses on property lookup and interpolation workflows that support practical heat-transfer modeling for buildings, piping, furnaces, and industrial thermal equipment. These tools help analysts move from material names to consistent numerical inputs for conduction and transient energy-balance calculations.

Core Concepts: Insulation modeling is anchored in Fourier’s law and the coupling between material properties and temperature. For steady conduction, the key quantity is thermal conductivity k in equations like q = -k\nabla T; for transient heating and cooling, density \rho and specific heat C_p determine thermal inertia through volumetric heat capacity \rho C_p. Many tabulated datasets are discrete in temperature, so interpolation is required to estimate values at operating conditions between known points. Reliable property selection also depends on consistent material identifiers, making fuzzy name matching an important preprocessing step.

Implementation: The functions are implemented with the ht library, specifically the ht.insulation module. This module aggregates reference data from ASHRAE, DIN EN 12524, and VDI Heat Atlas tables and exposes convenience functions for property retrieval and material matching. The result is a practical bridge between handbook data and reproducible engineering computation in Python and spreadsheet-driven workflows.

For conductivity-focused work, ASHRAE_K, K_MATERIAL, and REFRACTORY_VDI_K cover complementary use cases. ASHRAE_K provides direct ASHRAE table conductivity values for insulation and building materials, typically treated as fixed entries for the selected ID. K_MATERIAL broadens this to multiple source tables and supports optional temperature input when temperature-dependent data exist. REFRACTORY_VDI_K targets refractory materials with temperature-dependent interpolation over the VDI range, including bounded behavior outside tabulated limits. Together, these functions support both quick screening and higher-temperature refractory design checks.

For thermal storage and mass-property inputs, CP_MATERIAL, REFRACTORY_VDI_CP, and RHO_MATERIAL provide the parameters needed for transient and energy-balance analysis. CP_MATERIAL returns specific heat for building, insulation, or refractory records and can incorporate temperature where available in the source data. REFRACTORY_VDI_CP provides refractory-specific temperature-dependent C_p interpolation from VDI tabulations, which is especially relevant in kiln, furnace, and high-temperature lining studies. RHO_MATERIAL supplies density lookups used to convert between mass- and volume-based quantities and to compute \rho C_p in lumped or distributed thermal models.

Material identification and interpolation utilities are handled by NEAREST_MATERIAL and INTERP. NEAREST_MATERIAL performs fuzzy matching from free-text names to valid table IDs, with an option to restrict results to entries that include a complete set of key properties. INTERP performs one-dimensional linear interpolation and underpins temperature-dependent property estimation when values are known only at discrete nodes. In practice, analysts often use these tools in sequence: map plant or specification terminology to a canonical material ID, retrieve k, C_p, and \rho, and then interpolate as needed for operating-temperature scenarios.

ASHRAE_K

This function returns the thermal conductivity of a material listed in the ASHRAE insulation and building-material tables. The conductivity is treated as a tabulated property for the selected material entry and does not vary with temperature in this lookup.

Thermal conductivity relates conductive heat flux to a temperature gradient through Fourier’s law:

q = -k\nabla T

where k is the thermal conductivity in W/m/K. Choose the material ID that matches the desired tabulated entry.

Excel Usage

=ASHRAE_K(ID)
  • ID (str, required): Material ID from ASHRAE tables (dimensionless).

Returns (float): Thermal conductivity of the material (W/m/K).

Example 1: Mineral fiber conductivity

Inputs:

ID
Mineral fiber

Excel formula:

=ASHRAE_K("Mineral fiber")

Expected output:

0.036

Example 2: Glass fiber batts conductivity

Inputs:

ID
Glass-fiber batts, 90 mm

Excel formula:

=ASHRAE_K("Glass-fiber batts, 90 mm")

Expected output:

0.043

Example 3: Expanded polystyrene conductivity

Inputs:

ID
Expanded polystyrene, extruded

Excel formula:

=ASHRAE_K("Expanded polystyrene, extruded")

Expected output:

0.026

Example 4: Cellular glass conductivity

Inputs:

ID
Cellular glass

Excel formula:

=ASHRAE_K("Cellular glass")

Expected output:

0.048

Python Code

Show Code
from ht.insulation import ASHRAE_k as ht_ASHRAE_k

def ASHRAE_k(ID):
    """
    Return thermal conductivity for an ASHRAE material.

    See: https://ht.readthedocs.io/en/latest/ht.insulation.html

    This example function is provided as-is without any representation of accuracy.

    Args:
        ID (str): Material ID from ASHRAE tables (dimensionless).

    Returns:
        float: Thermal conductivity of the material (W/m/K).
    """
    try:
        result = ht_ASHRAE_k(ID)
        return float(result)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Material ID from ASHRAE tables (dimensionless).

CP_MATERIAL

This function returns the specific heat capacity of a building, insulation, or refractory material selected by material ID or a close text match. Depending on the source table, the value may be constant or temperature-dependent.

Specific heat capacity links heat input to temperature rise:

q = m C_p \Delta T

where C_p is in J/kg/K, m is mass, and \Delta T is the temperature change.

Excel Usage

=CP_MATERIAL(ID, T)
  • ID (str, required): Material ID or search term (dimensionless).
  • T (float, optional, default: 298.15): Temperature of the material (K).

Returns (float): Heat capacity of the material (J/kg/K).

Example 1: Mineral fiber heat capacity

Inputs:

ID
Mineral fiber

Excel formula:

=CP_MATERIAL("Mineral fiber")

Expected output:

840

Example 2: Stainless steel heat capacity

Inputs:

ID
Metals, stainless steel

Excel formula:

=CP_MATERIAL("Metals, stainless steel")

Expected output:

460

Example 3: Soda lime glass heat capacity

Inputs:

ID
Glass, soda lime

Excel formula:

=CP_MATERIAL("Glass, soda lime")

Expected output:

750

Example 4: Fused silica heat capacity at 1000 K

Inputs:

ID T
Fused silica 1000

Excel formula:

=CP_MATERIAL("Fused silica", 1000)

Expected output:

956.782

Python Code

Show Code
from ht.insulation import Cp_material as ht_Cp_material

def Cp_material(ID, T=298.15):
    """
    Return heat capacity for an insulating or building material.

    See: https://ht.readthedocs.io/en/latest/ht.insulation.html

    This example function is provided as-is without any representation of accuracy.

    Args:
        ID (str): Material ID or search term (dimensionless).
        T (float, optional): Temperature of the material (K). Default is 298.15.

    Returns:
        float: Heat capacity of the material (J/kg/K).
    """
    try:
        result = ht_Cp_material(ID, T)
        return float(result)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Material ID or search term (dimensionless).
Temperature of the material (K).

INTERP

This function computes a one-dimensional linear interpolation from paired data points. It estimates a value at coordinate x using the two surrounding points in the input sequences.

For neighboring points (x_0, y_0) and (x_1, y_1) with x_0 \le x \le x_1, linear interpolation is:

y = y_0 + (x-x_0)\frac{y_1-y_0}{x_1-x_0}

Optional left and right values can be supplied for out-of-range inputs, or extrapolation can be enabled.

Excel Usage

=INTERP(x, dx, dy, left, right, extrapolate)
  • x (float, required): X-coordinate of the interpolated value (dimensionless).
  • dx (list[list], required): X-coordinates of the data points (dimensionless).
  • dy (list[list], required): Y-coordinates of the data points (dimensionless).
  • left (float, optional, default: null): Value to return for x below dx range (dimensionless).
  • right (float, optional, default: null): Value to return for x above dx range (dimensionless).
  • extrapolate (bool, optional, default: false): Whether to extrapolate outside of bounds.

Returns (float): Interpolated value (dimensionless).

Example 1: Midpoint interpolation

Inputs:

x dx dy
2.5 1 2 3 3 2 0

Excel formula:

=INTERP(2.5, {1,2,3}, {3,2,0})

Expected output:

1

Example 2: Left-side value override

Inputs:

x dx dy left
0.5 1 2 3 10 20 30 5

Excel formula:

=INTERP(0.5, {1,2,3}, {10,20,30}, 5)

Expected output:

5

Example 3: Right-side value override

Inputs:

x dx dy right
4 1 2 3 3 2 0 -1

Excel formula:

=INTERP(4, {1,2,3}, {3,2,0}, -1)

Expected output:

-1

Example 4: Extrapolate below range

Inputs:

x dx dy extrapolate
0 1 2 3 3 2 0 true

Excel formula:

=INTERP(0, {1,2,3}, {3,2,0}, TRUE)

Expected output:

4

Python Code

Show Code
from ht.insulation import interp as ht_interp

def interp(x, dx, dy, left=None, right=None, extrapolate=False):
    """
    Perform one-dimensional linear interpolation.

    See: https://ht.readthedocs.io/en/latest/ht.insulation.html

    This example function is provided as-is without any representation of accuracy.

    Args:
        x (float): X-coordinate of the interpolated value (dimensionless).
        dx (list[list]): X-coordinates of the data points (dimensionless).
        dy (list[list]): Y-coordinates of the data points (dimensionless).
        left (float, optional): Value to return for x below dx range (dimensionless). Default is None.
        right (float, optional): Value to return for x above dx range (dimensionless). Default is None.
        extrapolate (bool, optional): Whether to extrapolate outside of bounds. Default is False.

    Returns:
        float: Interpolated value (dimensionless).
    """
    try:
        def to2d(value):
            return [[value]] if not isinstance(value, list) else value

        def flatten_2d(values, name):
            data = to2d(values)
            if not isinstance(data, list) or not all(isinstance(row, list) for row in data):
                raise ValueError(f"{name} must be a 2D list")
            flat = []
            for row in data:
                for item in row:
                    try:
                        flat.append(float(item))
                    except (TypeError, ValueError):
                        raise ValueError(f"{name} must contain only numbers")
            return flat

        dx_flat = flatten_2d(dx, "dx")
        dy_flat = flatten_2d(dy, "dy")
        if len(dx_flat) != len(dy_flat):
            return "Error: dx and dy must have the same length"

        x_val = float(x)
        left_val = None if left is None else float(left)
        right_val = None if right is None else float(right)
        result = ht_interp(x_val, dx_flat, dy_flat, left=left_val, right=right_val, extrapolate=extrapolate)
        return float(result)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

X-coordinate of the interpolated value (dimensionless).
X-coordinates of the data points (dimensionless).
Y-coordinates of the data points (dimensionless).
Value to return for x below dx range (dimensionless).
Value to return for x above dx range (dimensionless).
Whether to extrapolate outside of bounds.

K_MATERIAL

This function returns thermal conductivity for a selected building, insulation, or refractory material. The material can be provided directly by table ID or by a search term that resolves to the nearest available match.

Thermal conductivity governs conductive heat transfer according to Fourier’s law:

q = -k\nabla T

where k is reported in W/m/K. Some table entries are temperature dependent, so an optional temperature can be supplied.

Excel Usage

=K_MATERIAL(ID, T)
  • ID (str, required): Material ID or search term (dimensionless).
  • T (float, optional, default: 298.15): Temperature of the material (K).

Returns (float): Thermal conductivity of the material (W/m/K).

Example 1: Mineral fiber conductivity

Inputs:

ID
Mineral fiber

Excel formula:

=K_MATERIAL("Mineral fiber")

Expected output:

0.036

Example 2: Stainless steel conductivity

Inputs:

ID
Metals, stainless steel

Excel formula:

=K_MATERIAL("Metals, stainless steel")

Expected output:

17

Example 3: Quartz glass conductivity

Inputs:

ID
Glass, quartz

Excel formula:

=K_MATERIAL("Glass, quartz")

Expected output:

1.4

Example 4: Fused silica conductivity at 1000 K

Inputs:

ID T
Fused silica 1000

Excel formula:

=K_MATERIAL("Fused silica", 1000)

Expected output:

1.58074

Python Code

Show Code
from ht.insulation import k_material as ht_k_material

def k_material(ID, T=298.15):
    """
    Return thermal conductivity for an insulating or building material.

    See: https://ht.readthedocs.io/en/latest/ht.insulation.html

    This example function is provided as-is without any representation of accuracy.

    Args:
        ID (str): Material ID or search term (dimensionless).
        T (float, optional): Temperature of the material (K). Default is 298.15.

    Returns:
        float: Thermal conductivity of the material (W/m/K).
    """
    try:
        result = ht_k_material(ID, T)
        return float(result)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Material ID or search term (dimensionless).
Temperature of the material (K).

NEAREST_MATERIAL

This function performs fuzzy matching on material names and returns the closest valid material ID from the available insulation, building-material, and refractory tables.

If complete is set to true, the search is restricted to materials that have all key properties available (density, heat capacity, and thermal conductivity). This is useful when subsequent calculations require a complete property set.

The output is a material key string that can be passed directly to related property functions.

Excel Usage

=NEAREST_MATERIAL(name, complete)
  • name (str, required): Search keywords for material matching (dimensionless).
  • complete (bool, optional, default: false): Whether to return only materials with complete data.

Returns (str): Material ID that best matches the search term.

Example 1: Stainless steel fuzzy match

Inputs:

name
stainless steel

Excel formula:

=NEAREST_MATERIAL("stainless steel")

Expected output:

"Metals, stainless steel"

Example 2: Mineral fiber fuzzy match

Inputs:

name
mineral fiber

Excel formula:

=NEAREST_MATERIAL("mineral fiber")

Expected output:

"Mineral fiber"

Example 3: Glass fiber board fuzzy match

Inputs:

name
glass fiber board

Excel formula:

=NEAREST_MATERIAL("glass fiber board")

Expected output:

"Glass fiber board"

Example 4: Complete data match

Inputs:

name complete
stainless steel true

Excel formula:

=NEAREST_MATERIAL("stainless steel", TRUE)

Expected output:

"Metals, stainless steel"

Python Code

Show Code
from ht.insulation import nearest_material as ht_nearest_material

def nearest_material(name, complete=False):
    """
    Return the nearest material match from insulation tables.

    See: https://ht.readthedocs.io/en/latest/ht.insulation.html

    This example function is provided as-is without any representation of accuracy.

    Args:
        name (str): Search keywords for material matching (dimensionless).
        complete (bool, optional): Whether to return only materials with complete data. Default is False.

    Returns:
        str: Material ID that best matches the search term.
    """
    try:
        result = ht_nearest_material(name, complete=complete)
        return str(result)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Search keywords for material matching (dimensionless).
Whether to return only materials with complete data.

REFRACTORY_VDI_CP

This function returns refractory specific heat capacity from tabulated VDI data for a selected material. The value is temperature dependent over the supported range and is obtained by interpolation between tabulated points.

Specific heat capacity connects heat input and temperature rise:

q = m C_p \Delta T

If no temperature is provided, the lowest tabulated-temperature value is used. Temperatures outside the supported range are clipped to the nearest limit.

Excel Usage

=REFRACTORY_VDI_CP(ID, T)
  • ID (str, required): Refractory material ID (dimensionless).
  • T (float, optional, default: null): Temperature of the refractory material (K).

Returns (float): Heat capacity of the refractory material (J/kg/K).

Example 1: Fused silica default temperature

Inputs:

ID T
Fused silica

Excel formula:

=REFRACTORY_VDI_CP("Fused silica", )

Expected output:

917

Example 2: Fused silica low temperature

Inputs:

ID T
Fused silica 200

Excel formula:

=REFRACTORY_VDI_CP("Fused silica", 200)

Expected output:

917

Example 3: Fused silica mid temperature

Inputs:

ID T
Fused silica 1000

Excel formula:

=REFRACTORY_VDI_CP("Fused silica", 1000)

Expected output:

956.782

Example 4: Fused silica high temperature

Inputs:

ID T
Fused silica 1500

Excel formula:

=REFRACTORY_VDI_CP("Fused silica", 1500)

Expected output:

982

Python Code

Show Code
from ht.insulation import refractory_VDI_Cp as ht_refractory_VDI_Cp

def refractory_VDI_Cp(ID, T=None):
    """
    Return refractory heat capacity from VDI data.

    See: https://ht.readthedocs.io/en/latest/ht.insulation.html

    This example function is provided as-is without any representation of accuracy.

    Args:
        ID (str): Refractory material ID (dimensionless).
        T (float, optional): Temperature of the refractory material (K). Default is None.

    Returns:
        float: Heat capacity of the refractory material (J/kg/K).
    """
    try:
        result = ht_refractory_VDI_Cp(ID, T)
        return float(result)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Refractory material ID (dimensionless).
Temperature of the refractory material (K).

REFRACTORY_VDI_K

This function returns refractory thermal conductivity from tabulated VDI data for a selected material. Conductivity varies with temperature and is obtained by interpolation across the tabulated temperature points.

Conductive heat transfer is governed by Fourier’s law:

q = -k\nabla T

If temperature is not provided, the function uses the lowest tabulated-temperature value. Temperatures outside the supported range are clipped to the nearest bound.

Excel Usage

=REFRACTORY_VDI_K(ID, T)
  • ID (str, required): Refractory material ID (dimensionless).
  • T (float, optional, default: null): Temperature of the refractory material (K).

Returns (float): Thermal conductivity of the refractory material (W/m/K).

Example 1: Fused silica default temperature

Inputs:

ID T
Fused silica

Excel formula:

=REFRACTORY_VDI_K("Fused silica", )

Expected output:

1.44

Example 2: Fused silica low temperature

Inputs:

ID T
Fused silica 200

Excel formula:

=REFRACTORY_VDI_K("Fused silica", 200)

Expected output:

1.44

Example 3: Fused silica mid temperature

Inputs:

ID T
Fused silica 1000

Excel formula:

=REFRACTORY_VDI_K("Fused silica", 1000)

Expected output:

1.58074

Example 4: Fused silica high temperature

Inputs:

ID T
Fused silica 1500

Excel formula:

=REFRACTORY_VDI_K("Fused silica", 1500)

Expected output:

1.73

Python Code

Show Code
from ht.insulation import refractory_VDI_k as ht_refractory_VDI_k

def refractory_VDI_k(ID, T=None):
    """
    Return refractory thermal conductivity from VDI data.

    See: https://ht.readthedocs.io/en/latest/ht.insulation.html

    This example function is provided as-is without any representation of accuracy.

    Args:
        ID (str): Refractory material ID (dimensionless).
        T (float, optional): Temperature of the refractory material (K). Default is None.

    Returns:
        float: Thermal conductivity of the refractory material (W/m/K).
    """
    try:
        result = ht_refractory_VDI_k(ID, T)
        return float(result)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Refractory material ID (dimensionless).
Temperature of the refractory material (K).

RHO_MATERIAL

This function returns the tabulated density of a building, insulation, or refractory material. A direct material ID can be provided, or a search string can be used to resolve the nearest matching material entry.

Density is mass per unit volume:

\rho = \frac{m}{V}

The result is reported in kg/m^3 and is taken as a lookup-table property without temperature dependence.

Excel Usage

=RHO_MATERIAL(ID)
  • ID (str, required): Material ID or search term (dimensionless).

Returns (float): Density of the material (kg/m^3).

Example 1: Asbestos cement board density

Inputs:

ID
Board, Asbestos/cement

Excel formula:

=RHO_MATERIAL("Board, Asbestos/cement")

Expected output:

1900

Example 2: Copper density

Inputs:

ID
Metals, copper

Excel formula:

=RHO_MATERIAL("Metals, copper")

Expected output:

8900

Example 3: Soda lime glass density

Inputs:

ID
Glass, soda lime

Excel formula:

=RHO_MATERIAL("Glass, soda lime")

Expected output:

2500

Example 4: Fused silica density

Inputs:

ID
Fused silica

Excel formula:

=RHO_MATERIAL("Fused silica")

Expected output:

1940

Python Code

Show Code
from ht.insulation import rho_material as ht_rho_material

def rho_material(ID):
    """
    Return density for an insulating or building material.

    See: https://ht.readthedocs.io/en/latest/ht.insulation.html

    This example function is provided as-is without any representation of accuracy.

    Args:
        ID (str): Material ID or search term (dimensionless).

    Returns:
        float: Density of the material (kg/m^3).
    """
    try:
        result = ht_rho_material(ID)
        return float(result)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Material ID or search term (dimensionless).