MLE+: a Matlab-EnergyPlus Co-simulation Interface
© 2010-2014 by Truong X. Nghiem.
This page is about the legacy version of MLE+. Current development of MLE+ is hosted by the Real-time and Embedded Systems Laboratory (mLab) at the University of Pennsylvania, at http://mlab.seas.upenn.edu/mlep.
MLE+ is a Matlab toolbox for co-simulation with the whole-building energy simulator EnergyPlus. It is designed for engineers and researchers who are familiar with Matlab and Simulink and want to use these software tools in building energy simulation. MLE+ is particularly useful for:
MLE+ toolbox provides a set of Matlab functions and classes, as well as a Simulink library, for performing co-simulation with EnergyPlus.
Currently, EnergyPlus versions 6.0 and 7.0 are supported.
BCVTB (Building Controls Virtual Test Bed) is a software environment for coupling different simulation programs for distributed simulation. It is based on the Ptolemy II software environment and is developed at the Lawrence Berkeley National Laboratory.
The co-simulation feature in EnergyPlus was originally developed for BCVTB, however the communication protocol is open and can be used by any program to perform co-simulation with EnergyPlus. MLE+ is an example of such programs.
Although Matlab/Simulink can be coupled with EnergyPlus via BCVTB, its full functionality cannot be used because it is only called by BCVTB as a client. For example, interactive execution and debugging Matlab code are not possible. In fact, if the Matlab code or the Simulink model has an error, it is much more difficult to find and fix it with BCVTB than with MLE+ (which runs in the standard Matlab environment). Furthermore, for users who mostly work with Matlab/Simulink and have never used Ptolemy, learning a new environment as Ptolemy is time-consuming and might not be worthwhile.
Advantages of BCVTB over MLE+ include:
Advantages of MLE+ over BCVTB include:
MLE+ is developed by Truong X. Nghiem.
Below are several screenshots of MLE+ 1.0.
A Simulink model with MLE+ block simulates a building and a controller which computes the zone temperature set-points.
A plot of results of the same system simulated by plain Matlab code using MLE+ functions and class.
I plan to publish a list of real use cases of MLE+ on this website. If you have successfully used MLE+ in your research or application, and you want to share your story, please email me.
The development of MLE+ is hosted on bitbucket.
Truong X. Nghiem, “MLE+: a Matlab-EnergyPlus Co-simulation Interface.” URL: http://www.seas.upenn.edu/~nghiem/mleplus.html.
MLE+ is open-source software. You are free to use it however you like. You may redistribute it. You may modify it to suit your need.
If you redistribute MLE+ or derive your work from MLE+, you should give credit to the authors by including their names and/or a link to the website of MLE+. You are encouraged to share any derivative work.
Disclaimer: MLE+ IS DISTRIBUTED WITHOUT ANY WARRANTY. THE AUTHORS MAKE NO EXPRESS OR IMPLIED WARRANTIES OR CONDITIONS INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE SOFTWARE. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES CAUSED BY USING THE SOFTWARE.