Ironbug Results Testing

ironbug

#1

@mostapha, @chris, @MingboPeng

Mostapha & Chris…I’ve been experimenting with Ironbug and emailing Mingbo here and there about some questions I had, but I have a question that you both might be able to help me out on as it’s more Honeybee component related now…

I’ve setup a variety of HVAC system types in the attached example files using Ironbug. When I write the OSM and open them in OpenStudio, I can visualize the HVAC systems perfectly. However, when I simulate them within Grasshopper using the Ironbug ExportToOpenStudio component connected to the ReadEPResults component in order to calculate the simulation EUI, I get the SAME EUI for every HVAC system type, even though the Ironbug parameters have been changed for each simulation. I’ve simulated active chilled beams, VAV, FCUs, air-cooled chiller, DX, heat pumps…each time, SAME EUI.

Also, the output of the ReadEPResults is making every system only have District Cooling, District Heating, Lights and Plug energy. No fans and no pumps even for HVAC systems that obviously have fans and pumps. This is also the case for the results when I open up the EP HTML results for each simulation.

So…what am I doing wrong?? If you run the attached files on your systems are you getting similar results?

if I’m not doing anything wrong, is there the possibility that Ironbug results are not “mapped” as they need to be in the ExportToOpenStudio component that Ironbug uses that has the additional _HVACSystem input??

Note: please make sure you are using the latest Ironbug files per the last few messages in this discussion:

any help is greatly appreciated!

IronbugTest.3dm (21.9 KB)
IronbugTest.gh (989.3 KB)


#2

something just occurred to me so I tested it out…if I run the simulation using the Honeybee ExportToOpenStudio (that doesn’t have the Ironbug _HVACSystem input) and setting the Honeybee HVAC Selector component to Ideal Air Loads, I get the exact same EUI that Ironbug is finding (27.159151)…also the HTMLReport when Ideal Air Loads is simulated matches too…district cooling/heating, lights and plugs but no fans and pumps.

So knowing this…is it possible that the Ironbug _HVACSystem input isn’t being seen by Energy Plus when doing a RunSimulation via ExportToOpenStudio component, thus it is just modeling an Ideal Air Loads system by default??


#3

@josh.greenfield this is true, Ironbug isn’t checking if zone has Ideal Air Loads turned on, it is just removing the current Air loop and Zone Equipment that assigned to zones before adding new HVACs. (Honeybee was using an Air loop called “Ideal Air Loads”, instead of turn on zone’s Ideal Air Loads setting)
You can double check in OpenStudio Interface:

I made a GH file that can help you turn off Ideal air loads if you don’t want to do it manually.
TurnOffIdealAirLoads.gh (5.5 KB)


#4

Hi Mingbo…so I guess I’m still confused as this C# component looks to alter the OpenStudio file assuming all analysis is done within the OpenStudio interface.

With my particular scripts, I’m only attempting to do all the analysis and EnergyPlus simulations within the grasshopper interface and output an EUI via the Honeybee components. Is this not possible and Ironbug is really only meant for generating OSM files?


#5

@josh.greenfield
For now, you might need to do a little bit code editing.
You can double click ExportToOpenStudio component.
Search for “setUseIdealAirLoads”, and change True to False.

This should work for your case.


#6

that code section looks to be only applicable when using the Honeybee_Assign HVAC System component which can be set to a value of 0 which is Ideal Air Loads. Sorry, maybe I’m confused but I was under the assumption that the Honeybee_Assign HVAC System component was NOT to be used with Ironbug as the Ironbug_HVAC System component connects right to the HVACSystem_ input in the exportToOpenStudio component thus making the Honeybee_Assign HVAC System component not necessary.


#7

I tried setting the IdealAirLoads to FALSE just as a test and unfortunately that did not work…still being modeled as Ideal Air Loads with no Ironbug HVAC parameters being incorporated into the simulation run.


#8

@josh.greenfield
I just downloaded your gh file and tested. Did you try to run the model with different systems in OpenStudio to see if results makes sense?
Here is what I got for Ideal Air Load:

And this is the results from the VAV Reheat that you built with Ironbug, it makes sense to me.

This is the file I used to export OpenStudio model. We need to make sure if model runs correctly first, and then to see if Honeybee imports results correctly.
IronbugTest_MP.gh (772.2 KB)


#9

Yup, in OpenStudio I believe all the system results make sense.

It would be great if we can get the results imported into Honeybee…I know IB is just in Beta right now but that would be a great add for an eventual full release.


#10

@josh.greenfield
If you got the reasonable results from OpenStudio, than we can move on to check what happened when importing the data to GH.

As long as OpenStudio runs correctly, that means this problem has nothing to do with Ironbug.
I will try to look into this later today, but @chris might have better clue for this ReadEPResults problem.


#11

@josh.greenfield
I finally got time to check this.
So in ExportToOpenStudio, it runs the model before HVAC system is added.

Here is how to fix this:

  • Double click the component, and CTRL+F (Find), search for:
    forwardTranslator.tanslateModel

  • Change self.model TO ops.Model.load(osmPath).get()

BEFORE

AFTER


#12

this is great…thanks for finding a solution! I did a test of running a model in OS 2.5.0 and then running in Grasshopper and I can verify that the model is no longer being ran as an Ideal Air Loads and is in fact modeling the Irongbug systems assembled. For lighting, plug loads and fan loads I’m getting the EXACT annual consumption end use values in OS 2.5.0 as I am in the Honeybee readEPResult component…however for cooling, heating and pump annual energy end use values, the values are off very slightly…only very small differences of about 1%. Any thoughts on that?


#13

@josh.greenfield theoretically, all results should be matching exactly, but because of the units conversion and hourly numbers addition, there might be a slight difference.

Here is what I tested:
Data from ReadEPResults matches the results from in.csv file (which is supposed to be).
But it (in.csv) does’t match results from inTable.html, and I don’t know the reason. I think this is not a “problem” that related to Ironbug or Honeybee, it has something to do with EnergyPlus. @chris might know what happens to this.

Here is the file I tested. I will keep you posted if I figured it out.
IronbugTest_MP.gh (668.4 KB)

-Mingbo


#14

@chris, if you have any insight, that would be awesome!

@MingboPeng, separate topic, did you ever think of any potential fixes for modeling a water-cooled chiller in IB?


#15

@josh.greenfield
Chiller will be automatically set to water-cooled type if the same chiller is connected to a condenser loop.


#16

@MingboPeng ,

Thanks for solving this one here and, as I said, I will merge in your PR for this fix into the github version of Honeybee shortly:

From the image that you post, you are right that it looks like the honeybee components are running as intended. It also looks like the cooling results in the CSV are matching the cooling results in the html. It is just the heating fuel that seems to be off by ~ 10%.

Let me investigate. It seems that we might need to request the output of another piece of HVAC equipment in order to get the results to match. Or perhaps the output we are looking at does not account for the efficiency of the boiler.


#17

Ok. I figured out why. Your components are old.

You will see that the old results requesting component asks for boiler heating energy, which does not account for the efficiency of the boiler. The latest component asks for the correct output, which is the heating energy of the natural gas used in the boiler.

So just update your components and all should work well.