Using Ironbug with the new HB-Energy plugin

@MingboPeng,

Thank you for the exemple.
But at the same time you are making me curious.
Is it possible to run simulations on the cloud?
Where can I get information on this subject?

Adding HVAC system after creating OSM model hmm…
What about measures for HVAC?

@Erikbeeren ,

I think what Mingbo means to say is that you can’t currently run Ironbug in a cross-platform way yet because it uses OpenStudio’s C# bindings, which are presently specific to Windows. We are developing a cloud service that’s not ready for testing yet but it uses Linux-based machines and IronBug can’t currently run on them. However, the cloud service issue is in the future and probably the more immediate issue is that the OpenStudio installer for Mac doesn’t include OpenStudio’s C# bindings so, as of now, you won’t be able to run your IronBug Grasshopper definitions out of the box on Mac. We should have solutions for all of these issues in the future but, for now, just be aware that you are limiting yourself to Windows if you use IronBug.

@Tokarzewski
OpenStudio measures are written in Ruby and are cross-platform and so there’s no issue running them on any operating system. You can assign them using the measures_ input to the “Model To OSM” component. You’ll be hard-pressed to find existing measures with as many inputs exposed as the IronBug components but, if you are writing your own measure, this is another way to get a high level of control over detailed HAVC.

Hi @MingboPeng,
I’m using Ironbug after running a calculation with the new HB-Energy plugin.
How can I separate the conditioned zones? I have used the “Import OSM” to obtain the OSzones and then specify the equipment for zones but I can only do it for all zones.
How can I manage the conditioned zones with their equipment and the unconditioned zones without equipment to create the new OSM file?
Thank you.

Hi @MingboPeng

When using Ironbug with the new LBT 1.0, how can assign different systems to different zones in the model (i.e. different air loops supplied by different AHUs)? I saw that connecting the new Room item to the Thermal Zone item from Ironbug it is not read as previously HBzone were.
How can I assign the systems with the exemple you shared?

Michele

Hi @mich.dimart,

You can use zone’s display name for creating thermalZone with Ironbug:

Let me know if this works for you.

1 Like

@MingboPeng ,
Your specific case there is fine because the Room’s autogenerated name is the same as the ID but, for other cases, you should use the identifier property instead of the display_name since the identifier is ultimately what is used to uniquely identify the object in all simulation engines. Also you can get the identifier all without the need for a custom Python component like so:

2 Likes

Hi @chris and @MingboPeng,

Is there a way to run the the Ironbug HVAC_template: “sys13_RadiantPanel + DOAS”
together with the new Ladybug Tools in the workflow discribed above?

Hi @Erikbeeren, I personally haven’t tried to run radiant system with new Ladybug Tools. What’s the problem that you are facing?

Hi @MingboPeng,

I got the folowing error:

Program Version,EnergyPlus, Version 9.4.0-998c4b761e, YMD=2021.02.08 09:06,
** Severe ** [Branch][Compensated Chilled water loop Demand Branch 1][components][0] - Missing required property ‘component_name’.
** Severe ** [Branch][Compensated Chilled water loop Demand Branch 1][components][0] - Missing required property ‘component_object_type’.
** Fatal ** Errors occurred on processing input file. Preceding condition(s) cause termination.
…Summary of Errors that led to program termination:
… Reference severe error count=2
… Last severe error=[Branch][Compensated Chilled water loop Demand Branch 1][components][0] - Missing required property ‘component_object_type’.
************* Warning: Node connection errors not checked - most system input has not been read (see previous warning).
************* Fatal error – final processing. Program exited before simulations began. See previous error messages.
************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.
************* EnergyPlus Terminated–Fatal Error Detected. 0 Warning; 2 Severe Errors; Elapsed Time=00hr 00min 0.22sec

Runtime error (AggregateException): One or more errors occurred.

Traceback:
line 125, in script

I do not know if it has to do something with not being able to assign the internal source material to a construction.

LBT_ironbug.gh (172.2 KB)

I think we need to check with @chris first.
@chris, is the internal source material enabled in the new LBT?

Hey @MingboPeng and @Erikbeeren ,

There’s no official InternalSource material in in the LBT plugin right now but, if you set up IronBug to work with the hack that I used in Legacy to represent internal source materials, @MingboPeng , then you can use the same hack in LBT. If you ever took a look at it, you’ll see that the Legacy INTERNAL SOURCE material is just a dummy opaque material that I end up swapping out with a real internal source in the “Export to OpenStudio” component:

So, if Ironbug is also set up to use this hack, all that you should have to do is create an Opaque Material called INTERNAL SOURCE and use it in a construction like so:

1 Like

Hello,

I am working on an energy simulation of a 1-zone model.

I am using the workflow outlined by @MingboPeng above to write the OSM file, add the HVAC generated by Ironbug by overriding the OSM file, and re-run the OSM model:

I am also using the HB Label Rooms component to get the simulation name to pass to the HBZones input for the Ironbug_ThermalZone component:

When I try to run the energy simulation, I get an error that the “Zone has no surfaces”:

Any thoughts as to why this is happening? I have also attached my grasshopper script.
energysimulation_ironbug.gh (95.5 KB)
Thanks!
-Teresa

I figured out my bug! It was an issue with the override on the Ironbug_SaveToFile component. I right clicked and de-selected “override” and it worked!

-Teresa

1 Like

Good Afternoon Teresa,

Thank you for sharing this issue, I actually have the same problem with my model.
If I retain the “Override” option, the osm file I created with the HB to OSM component is going to be completely replaced with a new open studio model that has the HVAC I want but not the geometry, loads, etc I created before the SaveToFile.

And if I take off the “Override”, the resulting OSM model is going to be a mess: it will retain the geometry I want, but some of the thermal zones will have assigned an ideal load with the setpoints I want and some other zones will have assigned the HVAC I have created but they will not have the setpoint that I have defined in the rooms.
Also, If I try to run and energy + simulation from that file, it is going to fail immediatly due to the confusion of the program to find the correct nodes (at least frm my interpretation of the errors displayed in honeybee).

I will put here a picture of what the OSM file created without the Override option: as you can see, there should be only 17 zones, instead I have 34 because the zones defined before the “SaveToFile” component are not replaced (and they have an ideal load system).

Did you also have this issue? How did you solve it?

Let me know about it.
BR

Hi @Erikbeeren
Hi @MingboPeng

did you get any update on this matter?
I created the surfaces from scratch withouth using the Internal Source.
Still I get these lines:

        {0;0}
  1. Program Version,EnergyPlus, Version 9.5.0-de239b2e5f, YMD=2021.09.28 10:22,
    ** Severe ** [Branch][Compensated Chilled water loop Demand Branch 1][components][0] - Missing required property ‘component_name’.
    ** Severe ** [Branch][Compensated Chilled water loop Demand Branch 1][components][0] - Missing required property ‘component_object_type’.
    ** Fatal ** Errors occurred on processing input file. Preceding condition(s) cause termination.
    …Summary of Errors that led to program termination:
    … Reference severe error count=2
    … Last severe error=[Branch][Compensated Chilled water loop Demand Branch 1][components][0] - Missing required property ‘component_object_type’.
    ************* Warning: Node connection errors not checked - most system input has not been read (see previous warning).
    ************* Fatal error – final processing. Program exited before simulations began. See previous error messages.
    ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
    ************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.
    ************* EnergyPlus Terminated–Fatal Error Detected. 0 Warning; 2 Severe Errors; Elapsed Time=00hr 00min 0.24sec
  2. Runtime error (AggregateException): One or more errors occurred.

Traceback:
line 134, in script
line 174, in run_function_in_parallel,

Hi @MarcoVisco

The way explained above should work. More info you can find here.

2 Likes

Something I’ve been REALLY wanting to do for a while but just today was able to start working on it:
Using GhPy in SDK mode with:

clr.AddReference('Ironbug.Core')
clr.AddReference('Ironbug.HVAC')
clr.AddReference('Ironbug.Grasshopper')
clr.AddReference('System.Reflection')
import Ironbug.Core as ibc
import Ironbug.HVAC as ibh
import Ironbug.Grasshopper.Component as igc
import System.Reflection

stuff = self.ghenv.Component.Params.Output[0].Recipients
recip = []

for r in stuff:
    recip.append(r.Attributes.Parent.DocObject)
            
print(recip)

It appears at face value we can at least work with Ironbug via python!
(Currently working on seeing if I can figure out a HVACObjParams component with the same functionality in GhPy.

Good fun… If I only spent as much time learning C# as I do trying to do C# things in py… :sweat_smile:

1 Like

[quote=“chris, post:10, topic:11362”]

Thankyou for providing these great tools …
When I try to do what you suggest in the image, I always get an error the node (13) is not connected to any component - which I can not explain.

I’ve deselect the override, but it is still not working