NREL / 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.
https://energyplus.net
Other
1.13k stars 389 forks source link

Small Model Optimizations #8935

Open jasondegraw opened 3 years ago

jasondegraw commented 3 years ago

It would be helpful to have an object similar to the PerformancePrecisionTradeoffs object that would be the collection location for options/settings that provide speed improvements for "small" models. "Small" in this context means very few zones, simpler systems, etc. Admittedly, I'm misusing "optimizations" here, but the idea would be to have options for

and other things that can help speed up smaller models. Adding these into the existing PerformancePrecisionTradeoffs object would be OK too, but the name is a bit worse there (the idea isn't to trade precision for performance, just to do things that are better for performance of small models).

amirroth commented 3 years ago

I assume that for small models, input/initialization and output account for a larger fraction of simulation time vis-a-vis the core time-marching piece. And so performance optimizations that target small models, as opposed to ones that target all models or large models, would focus on those pieces. Now, there are certainly things that we can do to improve input processing/initialization and outputs, but I'm not sure that many of those things can be cast as "tradeoffs" because I don't really see them as having a precision dimension.

That said, things to help with input processing:

Things to help with initialization:

Things to help with output: