Class ThermalSimulator

java.lang.Object
org.episteme.social.architecture.ThermalSimulator

public final class ThermalSimulator extends Object
Analytical engine for thermal simulation and building energy analysis. It provides models for calculating U-values (thermal transmittance), annual heating demand, and thermal mass for building assemblies.
Since:
1.0
Version:
2.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Field Details

  • Method Details

    • calculateUValue

      public static Real calculateUValue(List<ThermalSimulator.WallLayer> layers, double internalSurfaceResistance, double externalSurfaceResistance)
      Calculates the U-value (thermal transmittance) of a complete wall assembly. U = 1 / (Rsi + sum(R_layers) + Rse)
      Parameters:
      layers - list of wall layers from interior to exterior
      internalSurfaceResistance - Rsi (standard value ~0.13)
      externalSurfaceResistance - Rse (standard value ~0.04)
      Returns:
      the U-value in W/(m²·K)
    • annualHeatingDemand

      public static Real annualHeatingDemand(Real uValue, Quantity<Area> area, double heatingDegreeDays)
      Estimates the annual heating energy demand using the simplified degree-day method.
      Parameters:
      uValue - the thermal transmittance of the building envelope
      area - total surface area of the envelope
      heatingDegreeDays - localized heating degree days (HDD)
      Returns:
      annual heating demand in kilowatt-hours (kWh)
    • thermalMass

      public static Real thermalMass(ThermalSimulator.WallLayer layer, Quantity<Area> area)
      Calculates the thermal mass (heat storage capacity) of a building element.
      Parameters:
      layer - the wall layer representing the thermal mass
      area - of the element
      Returns:
      heat capacity in Joules per Kelvin (J/K)
    • meetsMinimumStandard

      public static boolean meetsMinimumStandard(Real uValue, double maxU)
      Verifies if a building element meets local regulatory minimum standards.
      Parameters:
      uValue - calculated U-value
      maxU - maximum allowed U-value by code
      Returns:
      true if the element is compliant
    • requiredInsulationThickness

      public static Real requiredInsulationThickness(List<ThermalSimulator.WallLayer> existingLayers, ThermalSimulator.ThermalMaterial insulation, double targetU, double rsi, double rse)
      Suggests the required thickness of a new insulation layer to reach a target U-value for an existing wall.
      Parameters:
      existingLayers - current wall configuration
      insulation - material to be added as insulation
      targetU - the desired U-value
      rsi - internal surface resistance
      rse - external surface resistance
      Returns:
      required insulation thickness in meters