Honeybee Boiler Part Load Performance Curve

Hello everyone :sunny:

I am modeling a Fan Coil Units + DOAS HVAC system, with Hot Water Boiler as a centralized plant.
I need to define/add the part load performance curve for the boiler.
When I am creating it with Honeybee, the boiler under the Hot Water Loop does not have this feature. Whereas if I put the HW Boiler in OpenStudio, it creates a default performance curve, which I can further modify. (Please see the image below).

I am modeling it like so:

However, Honeybee creates a performance curve for Electric Chiller under the Chilled Water Loop…


It is almost an “UnmetHours” question, and I did research on their forum, but its all outdated. The community over there suggests to write a measure (however nobody did it yet), or solve it by using Ruby…
Another interesting research I found here, where the author does it by using Python: Creating EnergyPlus VRV Performance Curves using Python and Scipy
I am very far from coding tho.

Any thoughts?
Thank you, as usual! :slight_smile:

1 Like

I was able to find a ¿good? reference for non electric boiler performance curve here
Thanks to this topic in the UnmetHours forum…
However, I still dont understand if Honeybe specifies the performance curve by default based on COP, or I need to do it manually, and how? :stuck_out_tongue:

In my extremely humble guess, it doesn’t do so by default, because in order to use different curves I also need to specify the “Efficiency Curve Temperature Evaluation Variable” (Entering or Leaving the Boiler), which is different for each curve, whereas Honeybe leaves this part blank

@mrbro ,

You’ve been really digging into the boiler assumptions over the last few days :). I’m glad that you have been posting the questions here.

You are right that some of the HVAC templates like fan coil units do not seem to be including the boiler curve in the .osm. If you give me until the end of the day, I can make sure that all boilers at least get the Biquadratic curve that OpenStudio seems to include by default:

I don’t know if we should go all of the way to assigning values to the curve other than the default but, at the least, if you have the curve there, you can set the values properly yourself in the OpenStudio interface. Step 1 is just getting the curve there, thought, so let me do that first.

Thank you Chris.
That would be very helpful!
Sorry for the trouble :slight_smile:

@mrbro ,

It’s no trouble at all! You’ve already helped fix a critical issue yesterday and I’m just happy to see someone else using these detailed HVAC workflows in the OpenStudio interface other than myself.

I updated the OpenStudio component such that it now writes in a default Boiler efficiency curve that you can adjust in the OpenStudio interface:

If you sync your components with the github, you’ll be good to go.

Out of curiosity, are there a lot of HVAC components that you typically have to specify curves for? I have been playing with the idea of exposing some of the curves inputs in Honeybee but I would want it to work with current schema and avoid the situation where we have a different Grasshopper component for each HVAC component (370 grasshopper components in Ladybug+Honeybee is already enough to drive a lot of people crazy). If the number of curves that you typically need to specify is low, I can imagine some clean, simple ways of exposing the curve inputs in Grasshopper.

1 Like

A post was split to a new topic: Suggested Improvements for HVAC Templates


I’m validating my HB energy model against an IES model and need to share the automatically-assigned performance curves of various HVAC objects with my energy models. Ideally in graph format. I found the OS curve coefficients discussed in this thread, but am confused by the values. As shown below, most of the coefficients are 0. Does this mean the default curves are wrong and need to be manually updated? I can’t find a way to visualize the curves from the given coefficients. Any help is much appreciated!
May16Validation.osm (455.1 KB)

@chris I remember that I was trying to model a hot water loop with two boilers, and OpenStudio didn’t like it if I set two boilers’ curve, but ok if I just use default curve value for one of boilers. I am sure this has nothing to do with HB, but would like to open a discussion here.

@LelandCurtis ,
The default bolier curve is basically just a flat line (all coefficients are either 0 or 1). I haven’t yet exposed the ability to set curves in Honeybee so, for the time being, for your validation, you’ll have to write out the .osm, assign your coeffieceints in openstudio and simulate it from there or use the “Rerun OSM” component to run your edited .osm.

I’ll try to get around to exposing the curves in Honeybee soon.

@MingboPeng ,
I am not sure about the issue you describe but it sounds like it’s a question that should be posted to unmethours where the OpenStudio developers are. Unless you are pretty sure that it’s an OpenStudio bug, in which case you should post it directly to the OpenStudio github.


What are the default curves for the various HVAC equipment? Systems 5+7 are most important to me. Can you send me a link to where this information lives? Thanks.

@LelandCurtis ,
I am pretty sure that all of those curves come from ASHRAE standards. Honeybee is not actually assigning the individual coefficients for the curves but they are automatically getting assigned by OpenStudio when you use the addSystem7() method, which is intended to assign a AHRAE appendix G baseline system. So I would presume the source is ASHRAE 90.1 Appendix G.

I will invite Kyle to this topic to see if he has an input. If we didn’t get an answer you should post this question to unmethours.com.