Internal Gains editing in Honeybee

Dear Mostapha, thank you very much for your kind support on our research.

Your suggestion in the thread

http://www.grasshopper3d.com/group/ladybug/forum/topics/problem-set…

is useful to replace values (even if I cannot replace the same value for example “fraction radiant” in two different internal gains), but not to add new stuff, as in our case.

As you may recall, we were able to add our internal gains through the additional strings, but we have the problem of the default ones that we can not change or remove.

We’ve noticed that People, Lights and ElectricEquipment Internal gains are located inside the “runEnergySimulation” honeybee command inside the Python script.

We were thinking of two possible quick alternatives while waiting to be able to fully customize the internal gains with honeybee.

For the first one, if it is possible, you could make a “modified” “runEnergySimulation” command for us in which you cut off the Internal Gain parts, so that we can add them as text in the additional strings part. Alternatively you could show us where to add the additional strings we need inside the runEnergySimulation command so that we can add the values we need to run the simulation.

For clarity, these are the internal gains in idf file we need (that are inside de gh file in the panel just below the additional strings command)

Lights,
, !- Name
, !- Zone or ZoneList Name
, !- Schedule Name
Watts/Person, !- Design Level Calculation Method
, !- Lighting Level {W}
, !- Watts per Zone Floor Area {W/m2}
16, !- Watts per Person {W/person}
0.2, !- Return Air Fraction
0.59, !- Fraction Radiant
0.2, !- Fraction Visible
0, !- Fraction Replaceable
GeneralLights; !- End-Use Subcategory

People,
, !- Name
, !- Zone or ZoneList Name
, !- Number of People Schedule Name
People, !- Number of People Calculation Method
4, !- Number of People
, !- People per Zone Floor Area {person/m2}
, !- Zone Floor Area per Person {m2/person}
0.3, !- Fraction Radiant
, !- Sensible Heat Fraction
attività metabolica, !- Activity Level Schedule Name
0.0000000382, !- Carbon Dioxide Generation Rate {m3/s-W}
, !- Enable ASHRAE 55 Comfort Warnings
ZoneAveraged, !- Mean Radiant Temperature Calculation Type
, !- Surface Name/Angle Factor List Name
, !- Work Efficiency Schedule Name
ClothingInsulationSchedule, !- Clothing Insulation Calculation Method
, !- Clothing Insulation Calculation Method Schedule Name
, !- Clothing Insulation Schedule Name
, !- Air Velocity Schedule Name
AdaptiveCEN15251; !- Thermal Comfort Model 1 Type

ElectricEquipment,
, !- Name
, !- Zone or ZoneList Name
, !- Schedule Name
Watts/Area, !- Design Level Calculation Method
, !- Design Level {W}
5, !- Watts per Zone Floor Area {W/m2}
, !- Watts per Person {W/person}
0, !- Fraction Latent
0.3, !- Fraction Radiant
0, !- Fraction Lost
General; !- End-Use Subcategory

Thank you very much!
Filippo

userCustomEPLibrary.idf (25.8 KB)
HB_TEST_1505.gh (563 KB)

Hi Filippo,

Do you still need help with this or is it already solved?

When I was putting default values for people inside the component I had the wrong assumption that nobody would ever need to change this one and you and Letizia proofed me wrong. I will be happy to help you get a clean solution for setting up the internal loads. Let me know how can I help.

Mostapha

Thank you very much Mostapha,
actually we think that only if we can fully customize the internal gain part we will be able to use honeybee and ladybug to perform professional and research simulation at ease (even in Europe where we have different regulation for example regarding the comfort where the ASHRAE standard is replaced by CEN).

It would be great if honeybee could allow us to do one of the two following options:


1) insert our personal internal gains strings through the additional strings command, with an ovverride on the in-built internal gains of the “runEnergySimulation” command;
2) create a specific command for internal gains (as you have already done for other commands) where various strings can be added to the energy plus file along with their schedules.

this way it would be possible to use the software to model a specific occupancy situation with its internal gains.

Hi Mostapha,

I’m back at trying to run an E+ simulation with Honeybee using the adaptive comfort for European coutries (CEN) and I need to customize the people internal gain in order to do this. Any upgrade on the issue? I need to add some additional strings inside the perople internal gain:

Carbon dioxide generation rate

Mean radiant temperature calculation time

work efficiency schedule

clothinginsulation calculation method

clothing insulation schedule name

air velocity schedule name

Thermal Comfort Model 1 Type (when I need to insert AdaptiveCEN15251)

thank you very much for your efforts!

kind regards

Filippo

Hi Filippo,

Is it something that you need to change globally for all the zones? Can you apply all the changes that you need to an idf file generated by honeybee for a single zone and then send me both the original and the updated idf files?

Mostapha

Hi Mostapha and thank you for your reply,

Yes I need to apply the change globally.

I attach the two different example idf file, the gh and the word file with the comparison of the two files.

I would like to add inside Honeybee the possibility to calculate CEN Adaptive Comfort. At the moment with Honeybee I can only generate an “incomplete” file and then apply the correction through the idf editor. This, for example, makes it impossible to use the discomfort hours as a fitness function for an optimisation inside Grasshopper.

What I need:
I need to modify the internal gains section and to add some schedules and output variables.

What’s the problem:

Whenever i need additional strings that are not already written by Honeybee I can add them in the Honeybee Run Energy Simulation (for example i need the adaptive comfort CEN outputs and I can have them added using a panel).

For the additional schedules I think it’s a bit more complicated because I don’t know if I can add more input into the Honeybee Set Energy Plus Zone Schedules to plug in some more Schedules (their name are WorkEFF_SCH - work efficiency, ClothingINS_SCH - clothing insulation and AirVELOCITY_SCH - air velocity), maybe I can add the additional schedules inside the additional strings input along with the additional output variables?

Third and most complicated issue, I need to insert some values mainly inside people internal gain (but also into lights and electric equipment) but I don’t know how to do it, if I try to add another “people” internal gain from the additional strings as I have done for the output variables I end up having two people internal gain.

This problem maybe could be resolved by adding the possiblity to block the automatic creation of the internal gains, so if I can stop Honeybee from writing them maybe I can then add them through the additional strings option…

thank you very much!!

Filippo

the files are here

CEN_ISSUE.rar (1.64 MB)

Hi Filippo and Mostapha,

Did you find a way around this?

I’m trying to set a fixed sensible/latent split of the heat gains from people, but so far I haven’t managed to make this without editing the .idf .

I’m copying Filippo’s string as a reference.

People,
, !- Name
, !- Zone or ZoneList Name
, !- Number of People Schedule Name
People, !- Number of People Calculation Method
4, !- Number of People
, !- People per Zone Floor Area {person/m2}
, !- Zone Floor Area per Person {m2/person}
0.3, !- Fraction Radiant
, !- Sensible Heat Fraction
attività metabolica, !- Activity Level Schedule Name
0.0000000382, !- Carbon Dioxide Generation Rate {m3/s-W}
, !- Enable ASHRAE 55 Comfort Warnings
ZoneAveraged, !- Mean Radiant Temperature Calculation Type
, !- Surface Name/Angle Factor List Name
, !- Work Efficiency Schedule Name
ClothingInsulationSchedule, !- Clothing Insulation Calculation Method
, !- Clothing Insulation Calculation Method Schedule Name
, !- Clothing Insulation Schedule Name
, !- Air Velocity Schedule Name
AdaptiveCEN15251; !- Thermal Comfort Model 1 Type

Thanks in advance,

Rafael

Hi Rafael,

sorry but I have no updates on the subject, I’m trying to study a bit of programming myself to try to fix the problem but I did not have time to work on it …

Hi Filippo,

I´ve just ended up editing the RunEP simulation component. The line 1046 let´s you define the Sensible heat fraction that is being written in the .idf.

I hope this helps

Thank you! I will look at it as soon as I can! My problem, however, was related to the possibility to chose how to calculate Comfort, in Energy Plus idf editor I can select CEN Adaptive Comfort and along with it I can add specific schedules and Internal Gain settings that I couldn’t add in Honeybee… so the problem of the sensible heat fraction was only part of the problem …

Hi All,
Has there been any resolution on the best way to edit the “Fraction Radiant” fields for lighting and equipment objects in the IDF? Ideally user input would be provided within the grasshopper definition, upstream of the exportToOpenStudio component so that parametric analysis can be easily carried out without editing and re-running each IDF file.

Alternatively, the “Fraction Radiant,” “Fraction Visible,” “Fraction Replaceable,” etc. fields could be hard-coded with non-zero default values so that natural ventilation and comfort analysis can be more accurately carried out through honeybee. The default value solution would probably work just fine for most analysis.

Curious to hear what others are doing to work around this.

Best,
Mike

This is one of those requests which is really good to have but I never get a chance to implement it. One of the possible solutions for now is to write a measure and apply it to your model but it might be too much work.

cc: @chris

1 Like

@MichaelEsposito ,

This is exactly the type of thing that OpenStudio measures are made for. A detail this small isn’t something that is really worth exposing on the HB interface given that we already have 150+ energy modeling components and we want to keep the size of the HB interface manageable. But measures allow you to edit the model in any way that you could possibly want. You can technically do this all right now if you write your own measure and use the “Honeybee_Load OpenStudio Measure” and Honeybee_Apply OpenStudio Measure" components like this file where I applied a measure to add in a custom type of HVAC:

Let me post back here in a bit, though. I am just about to move a the _OSMeasure input onto the OpenStudio component itself and this “fraction radiant” issue is a nice simple example of applying OpenStudio measures that I can use as an example to teach people about them. Give me a day or to and I’ll upload an example file to hydra that allows you to change the fraction radiant with a measure.

Also, I should mention that the current fraction of radiant heat is just using E+'s default, which is 0 as you point out. If anyone has a source for a better default value, I’m happy to change it.

-Chris

1 Like

The OpenStudio measures workflow is officially stable!

I uploaded an example to hydra here that is specifically meant to help you set the fraction of the heat from lights and equipment that is radiant:
http://hydrashare.github.io/hydra/viewer?owner=chriswmackey&fork=hydra_2&id=Apply_OpenStudio_Measure

I hope this helps and thanks for providing a good test case to showcase the capabilities of measures!

2 Likes

Hi Chris and Mostapha,
and thank you for this new improvement!
for what I understand the OpenStudio measures could also solve the problem of the AdaptiveCEN comfort, because in order to calculate comfort according to European laws I need a way to add or in some case “override” some default parameters within HB, so if I can do it for Fraction Radiant probabiy it is also possible for choosing the right Thermal Comfort Model Type.
I tried the Hydra file but probably I’m doing something wrong. When I plug in the right folder in the HoneyBee_Load Open Studio Measure, the component changes and I get two new inputs Lights Fraction Radiant_ e Equipment Fraction Radiant_, I belive then I need to plug in two values but I tried with different values (also with different punctuation) but the value in the component does not change, I get “no data was collected” in the readMe! output and the simulation then gives me an error (while it runs smoothly without plugging in the OSMeasures).

What could be the problem?

Thanks again!

Filippo

@Filippo ,
You are correct that you can use OpenStudio Measures to override any inputs that you want, add extra objects to the model, and remove objects that you don’t want, including anything related to comfort models. We already have components in ladybug that can calculate adaptive thermal comfort from the model results but, if you are referring to the adaptive thermostat object that was recently added to E+, then yes, measures can help you here.
-Chris

Hi All,

Are there any updates on how to change people gains in Honeybee, just like all other gains through the “Set_EnergyPlus_ZoneLoads”?

Hi Farah,
for what I know the issue as not been resolved, even if it seems that you could find a workaround with open studio measures.

I just feel bad that we never addressed this for you @Filippo. :expressionless: Great that we can use OpenStudio measures now.