🪟 ISO 15099 Glazing Calculations

Multi-pane window analysis, gas properties, U-value calculations.

Overview

ISO 15099:2003 provides standardized methods for calculating thermal properties of window systems, including multi-pane glazing units with different gases, emissivities, and coatings.

The ThermX implementation provides:

Physics Model

Gas Properties

Each supported gas has temperature-dependent properties defined in ISO 15099 Table 1:

Gas Conductivity Viscosity Specific Heat
Air 2.87×10⁻³ + 7.76×10⁻⁵·T 3.72×10⁻⁶ + 4.94×10⁻⁸·T 1002.7 + 0.0123·T
Argon 2.28×10⁻³ + 5.15×10⁻⁵·T 3.38×10⁻⁶ + 6.45×10⁻⁸·T 521.9
Krypton 9.44×10⁻⁴ + 2.83×10⁻⁵·T 2.21×10⁻⁶ + 7.78×10⁻⁸·T 248.1
Xenon 4.54×10⁻⁴ + 1.72×10⁻⁵·T 1.07×10⁻⁶ + 7.41×10⁻⁸·T 158.3

Properties are linear functions of absolute temperature (K).

Convection in Gas Gaps

Natural convection in sealed gaps is characterized by the Nusselt number:

Nu = C · (Gr · Pr)^n

Where:

The Nusselt number gives the effective heat transfer coefficient:

h = Nu · k / d

Where d is the gap width and k is thermal conductivity.

Thermal Resistance

For a single glazing layer:

R = thickness / conductivity

For a gas gap:

R = thickness / (h · A)

Where h is the convective coefficient from Nusselt number.

Center-of-Glass U-Value

The overall U-value is the inverse of total thermal resistance:

U = 1 / (R_outside + R_pane1 + R_gap + R_pane2 + ... + R_inside)

External/internal convection coefficients (8 and 7.7 W/m²K by default) are included in the boundary resistances.

API Reference

Types

GlazingLayer

interface GlazingLayer {
  thickness: number;        // metres
  conductivity: number;     // W/(m·K)
  emissivityFront: number;  // long-wave [0-1]
  emissivityBack: number;   // long-wave [0-1]
}

GasGap

interface GasGap {
  thickness: number;  // metres (e.g., 0.012 for 12mm)
  gasType: string;    // "air" | "argon" | "krypton" | "xenon"
}

Functions

calculateCenterOfGlassUValue

Calculate the U-value for a glazing system:

export function calculateCenterOfGlassUValue(
  panes: GlazingLayer[],
  gaps: GasGap[],
  meanTemp: number = 283.15  // K
): number

Example:

const doubleGlazing = {
  panes: [
    { thickness: 0.004, conductivity: 1.0, emissivityFront: 0.84, emissivityBack: 0.84 },
    { thickness: 0.004, conductivity: 1.0, emissivityFront: 0.84, emissivityBack: 0.84 }
  ],
  gaps: [
    { thickness: 0.013, gasType: 'air' }
  ]
};

const uValue = calculateCenterOfGlassUValue(doubleGlazing.panes, doubleGlazing.gaps);
console.log(`U-value: ${uValue.toFixed(3)} W/(m²K)`);

Standards Compliance

The implementation follows ISO 15099:2003 standard for thermal performance calculations of windows, doors, and shading devices. This standard is widely used in building energy analysis and window performance certification.

Limitations