Proceedings of BS2015:
14th Conference of International Building Performance Simulation Association, Hyderabad, India, Dec. 7-9, 2015.

Michael Wetter1, Thierry S. Nouidui1, David Lorenzetti1,
Edward A. Lee2 and Amir Roth3
1Lawrence Berkeley National Laboratory, Berkeley, CA
2University of California at Berkeley, Berkeley, CA
3US Department of Energy, Washington, DC


We describe the prototype of a next-generation implementation of EnergyPlus, DOE’s whole-building energy simulation engine. This new implementation breaks EnergyPlus into a set of component models with clearly defined input and output ports. It instantiates these components and their connections from the EnergyPlus input file – thereby not disrupting applications that use EnergyPlus – and then simulates them using a discrete event simulator. This new structure should allow EnergyPlus to evolve more rapidly and robustly by decoupling component modules from the numerical solver. It also allows models to be exported for integration with building control systems.

We prototyped this new implementation using the open-source Ptolemy II framework. We encapsulated the computing modules as Functional Mockup Units (FMUs) for Model Exchange. The system of equations defined by the connection of the FMUs is integrated using Quantized State System (QSS) simulation, a novel method that partitions systems of differential
equations and integrates them asynchronously, using step sizes that are based on the time rate of change of the individual state variables.

We present a numerical example that illustrates the asynchronous integration and numerical benchmarks of a multizone building model with a radiant slab. We compare the computing time among our prototype, EnergyPlus version 8.2 and the Dymola 2015 FD01 Modelica simulation engine.


EnergyPlus is DOE’s open-source whole building energy simulation program (Crawley et al., 2001). It is a state-of-the-art building energy simulation program with a significant user base that serves as the basis for both energy-efficiency codes and a growing ecosystem of commercial software. It is also nearing its twentienth birthday, having originated from a union of DOE-2 (Winkelmann and Selkowitz, 1985) and BLAST (BLAST, 1999) in 1996.

As EnergyPlus has grown, its traditional monolithic, imperative structure – which intermingles governing equations of physics, numerical solution methods and idealized control schemes – has become more burdensome.

It makes EnergyPlus difficult to maintain and extend as solvers for new models must be carefully integrated with the existing solver. It complicates modeling of modular HVAC systems as it is rigidly organized around traditional primary and secondary HVAC loops. And it is not suited for simulation of control schemes other than rule-based supervisory control sequences because its load-based models have inputs and outputs that are semantically different from actuator commands and sensor signals, respectively, and the numerical methods cannot handle fast dynamics, events, certain sampled systems and finite state machines.

EnergyPlus’ control language is also bespoke and meaningless outside of EnergyPlus itself. In short, EnergyPlus is a self-contained ecosystem that provides few opportunities to leverage or reuse outside components, platforms, technologies, and expertise.

Spawn-of-EnergyPlus (SOEP) is a prototype using a partially new implementation of EnergyPlus that addresses these structural issues. SOEP leverages two open standard simulation technologies – the Modelica language (Mattsson et al., 1999) and the Functional Mockup Interface (FMI) (Blochwitz et al., 2011) for co-simulation and model-exchange. Modelica is a declarative modeling language in which developers write the governing equations of the system and link them with an external, domain-indepdendent solver.

By separating models from numerical solvers, Modelica allows domain experts to focus on their domain while leveraging outside expertise to develop highperformance simulation platforms. Modelica makes it easy to prototype new models, to share models between simulation environments, and even to repurpose models for other applications. In the specific case
of buildings, Modelica control models can be directly translated into working controller code – unlike current models written in EnergyPlus Runtime Language (ERL).

SOEP exploits FMI to encapsulate existing Energy- Plus models for envelope heat transfer, lighting, and airflow as Functional Mockup Units (FMU) and simulate them together with new HVAC and control FMUs generated from Modelica.

SOEP selects, instantiates, and connects FMUs by interpreting EnergyPlus’ existing input files and is therefore backward-compatible with EnergyPlus. FMU time-stepping, state variable integration, and solution of the algebraic loops formed by connecting FMU are performed by the open-source actor-based framework Ptolemy II. The specific time integration method used is Quantized State System (QSS) (Zeigler and Lee,1998; Kofman and Junco, 2001; Cellier and Kofman, 2006; Kofman, 2003; Bliudze and Furic, 2014). QSS methods schedule a module’s computation in proportion to the time rate of change of that modules state variables. They allow for explicit scheduling of state events, making them attractive for control simulation.
The remainder of the paper is structured as follows.

After describing SOEP’s use cases, we describe background work that we use for our implementation.
Then, we describe our implementation and provide numerical benchmarks. We conclude with related work and open research questions.