/EnergyPlus

EnergyPlus™ is a whole building energy simulation program that engineers, architects, and researchers use to model both energy consumption and water use in buildings.

Primary LanguageC++OtherNOASSERTION

EnergyPlus

This is the EnergyPlus Development Repository. EnergyPlus™ is a whole building energy simulation program that engineers, architects, and researchers use to model both energy consumption and water use in buildings.

Contact/Support

  • The Department of Energy maintains a public website for EnergyPlus where you can find much more information about the program.
  • For detailed developer information, consult the wiki.
  • Many users (and developers) of EnergyPlus are active on Unmet Hours, so that's a great place to start if you have a question about EnergyPlus or building simulation.
  • For more in-depth, developer-driven support, please utilize the EnergyPlus Helpdesk.

Testing

Every commit and every release of EnergyPlus undergoes rigorous testing. The testing consists of building EnergyPlus, of course, then there are unit tests, integration tests, API tests, and regression tests. Since 2014, most of the testing has been performed by our bots (Tik-Tok, Gort, and Marvin), using a fork of the Decent CI continuous integration system. We are now adapting our efforts to use the Github Actions system to handle more of our testing processes. In the meantime, while Decent CI is still handling the regression and bulkier testing, results from Decent CI are still available on the testing dashboard.

Releases

EnergyPlus is released twice annually, usually in March and September. It is recommended all use of EnergyPlus in production workflows use these formal, public releases. Iteration (pre-)releases may be created during a development cycle, however users should generally avoid these, as input syntax may change which won't be supported by the major release version transition tools, and could require manual intervention to remedy. If an interim release is intended for active use by users, such as a bug-fix-only or performance-only re-release, it will be clearly specified on the release notes and a public announcement will accompany this type of release. Our releases are now built by Github Actions.

Core Documentation

Program documentation is installed alongside the program, with the pdfs also available online. Big Ladder also produces html based documentation online.

API Documentation

Read the Docs Read the Docs

An API has been developed to allow access to internal EnergyPlus functionality and open up the possibility for new workflow opportunities around EnergyPlus. A C API is developed to expose the C++ functions, then Python bindings are built on top of that to maximize the accessibility. Documentation is being built and posted on ReadTheDocs and that documentation will continue to be expanded over time as the API grows. The badges above here show the status, and link out to, the latest documentation (most recent commit to the develop branch) as well as the stable documentation (most recent release tag).

License & Contributing Development

EnergyPlus is available under a BSD-3-like license. For more information, check out the license file. The EnergyPlus team accepts contributions to EnergyPlus source, utilities, test files, documentation, and other materials distributed with the program. The current EnergyPlus contribution policy is now available on the EnergyPlus contribution policy page. If you are interested in contributing, please start there, but feel free to reach out to the team.

Building EnergyPlus

A detailed description of compiling EnergyPlus on multiple platforms is available on the wiki. Also, as we are adapting to using Github Actions, the recipes for building EnergyPlus can be found in our workflow files.