Skip to content
Beta.idf@modelscript/energyplus 8 diagnostic rules
Parser WASM GLR
Diagnostics 8 rules
DAE Arena Lowering
Simulation Co-sim / Export
Projections Modelica
Live ExampleTwoZoneCommercialHvac.idf

EnergyPlus Two-Zone Commercial Building & Ideal-Loads HVAC

Building energy model specifying site geometry, South Perimeter and Core thermal zones, insulated envelope constructions, and HVAC thermostats.

Playground
Source (31 lines)
1Version, 24.1;
2 
3Building,
4  TechCenterWing,
5  0.0,
6  Suburbs,
7  0.04,
8  0.4,
9  FullInteriorAndExterior,
10  25,
11  6;
12 
13Zone,
14  SouthPerimeterZone,
15  0.0,
16  0.0, 0.0, 0.0,
17  1, 1, 3.6, 480.0;
18 
19Zone,
20  CoreServerZone,
21  0.0,
22  0.0, 12.0, 0.0,
23  1, 1, 3.6, 360.0;
24 
25ZoneHVAC:IdealLoadsAirSystem,
26  SouthZoneIdealAir,
27  ,
28  SouthSupplyInlet,
29  SouthExhaustOutlet,
30  50.0,
31  13.0;
EnergyPlus Thermal Zone & HVAC Envelope Diagram
Q_solar Q_cond Supply Air Chilled Air «environment» Outdoor Solar & Weather «boundary» FullInteriorAndExterior Solar Beam + Diffuse «thermalzone» SouthPerimeterZone «geometry» Volume = 480.0 m³ Ceiling = 3.6 m «thermalzone» CoreServerZone «geometry» Volume = 360.0 m³ Internal IT Load «zonehvac» IdealLoadsAirSystem «supply limits» T_heat,max = 50.0 °C T_cool,min = 13.0 °C
Drag to pan · Click % to reset

EnergyPlus Building Simulation (.idf, .epjson) ​

@modelscript/energyplus (languages/energyplus) provides compiler, thermal lumped-capacitance DAE lowering, and bidirectional TGG synchronization for US Department of Energy (DOE) EnergyPlus building energy and HVAC models.


Supported Extensions & Standards ​

ExtensionFormatDescription
.idfEnergyPlus Input Data FileIndustry-standard comma/semicolon delimited building simulation deck
.epjsonEnergyPlus JSON SchemaStructured JSON schema representation of EnergyPlus models

Key Capabilities ​

1. Lumped-Capacitance Multi-Zone Thermal DAEs ​

  • Translates architectural thermal zones and building envelopes into continuous energy balance DAEs:Cz,idTz,idt=∑jQ˙cond,ij+∑kQ˙conv,ik+Q˙solar+Q˙internal+Q˙HVAC
  • Envelope Conduction: Multi-layer wall, floor, and roof constructions with layer-resolved thermal conductivity k, density ρ, and specific heat cp.
  • Window & Fenestration Optics: U-factor, Solar Heat Gain Coefficient (SHGC), and visible transmittance shading calculations.
  • Internal Loads: Schedules for lighting, occupancy sensible/latent heat release, and plug-load equipment dissipation.

2. Direct DAE Lowering ​

  • Compiles building geometry and HVAC schedules directly into @modelscript/runtime's DAEBuilder linear memory arena, enabling co-simulation with dynamic grid power models (@modelscript/pscad) and district energy networks.

3. Bidirectional Triple Graph Grammar (TGG) Sync ​

  • Implements bidirectional TGG rules (energyplus-sync.ts) synchronizing EnergyPlus thermal zones with:
    • Modelica (Modelica.Thermal / IBPSA Buildings): Automatic translation into acausal thermal components and fluid loops.
    • STEP CAD (ISO 10303): Validates physical geometric volume and boundary surface areas against 3D architectural CAD envelopes.

Static Analysis & Pre-Flight Linter Rules ​

8 rules6 error2 warning Run with msx energyplus lint

CodeRuleSeverityMessage
M7901unmatched-interzone-surfaceerrorInterzone surface '<surfName>' in zone '<zoneName>' specifies outside boundary object '<targetSurf>' which does not exist or has mismatched reciprocal boundary.
M7902non-convex-surface-polygonwarningSurface polygon '<surfName>' in zone '<zoneName>' violates planar convexity, which may impair solar raytracing and view factor calculations.
M7903missing-thermal-propertieserrorMaterial '<matName>' has non-positive thermal property '<prop>' (<val>), violating second law of thermodynamics.
M7904unconnected-hvac-zoneerrorHVAC component '<hvacName>' references non-existent thermal zone '<zoneName>'.
M7905excessive-surface-absorptionwarningMaterial '<matName>' has solar absorptance coefficient <value>, which exceeds the physical maximum of 1.0.
M7906duplicate-zone-nameerrorDuplicate thermal zone identifier '<zoneName>' detected in building model.
M7907unreferenced-constructionerrorBuilding surface '<surfName>' references undefined construction '<constName>'.
M7908zero-thickness-materialerrorOpaque material '<matName>' has invalid non-positive thickness (<value>m).

Generated from languages/energyplus/src/lints/rules.ts. All languages →


CLI Usage ​

bash
# Lint an EnergyPlus building model deck
msx energyplus lint CommercialOffice.idf

# Lower thermal zones to ModelScript linear memory DAE arena
msx energyplus to-dae CommercialOffice.idf --out=office.dae.json

# Project into standard Modelica IBPSA Buildings library components
msx energyplus to-modelica CommercialOffice.idf -o BuildingThermalModel.mo

Open-Core under the GNU AGPL v3 License; Enterprise Edition (ee/) under the ModelScript Enterprise License. • Trademark Policy