Designing a Passive House

Has anyone successfully used Ladybug/Honeybee to build a house to Passivhaus standards? Can anyone recommend learning resources or example files that would help me understand how to set up my model?

I’m currently designing and building a small house (600 ft^2 / 56 m^2) to comply or exceed PH criteria. After viewing Chris and Mostapha’s tutorials on YouTube, and building a Honeybee model, I’m running into problems and wondering if Honeybee is the right tool for the job, and if PHPP+designPH would be a better fit for my application. Or do I just need to better learn Honeybee (specifically, understanding impact of thermal mass and shading)? I’m experienced with Rhino+GH and was hoping to avoid purchasing & learning new tools, but I’m willing to do so if it’s necessary.

Any thoughts are greatly appreciated.


Hi Steven,

Yes I’ve used Honeybee to model a Passivhaus project in the past and while it can be done, a couple things to keep in mind:

  1. There are some significant differences between the Energy+ model and the PHPP (ISO 13790) model protocols and defaults. These include, amongst others, the occupancy schedules, the reference floor areas, the usage (load) schedules and levels, the way windows are modeled, the way thermal bridges are handled, the boundary conditions (set points inside and out) and the way items like ventilation are handled. While E+ can be made to work the same (ish) as the PHPP, you need to build out quite a few schedules and additional items in order to get it to align to the PHPP methods (if that is what you are after).

  2. You’ll never get exactly the same result from Honeybee as PHPP since they simulate heat flow (and heat storage) very differently. So while you can get close, you’ll never get 100% alignment.

  3. For Passivhaus ‘certification’, if that is what you are after, be aware that for PHI only PHPP can be used and for PHIUS only WUFI Passiv can be used (I’m pretty sure).

  4. Especially for small residential projects, the PHPP has a lot of nice defaults which work well (in my opinion) for this usage case and so yes, I’d personally recommend looking into PHPP and/or DesignPH for that sort of a project. While there aren’t a lot of great online tutorials that I know of - I think for the case you are describing this (PHPP) is an excellent tool, especially if you don’t want to spend a ton of time scheduling out the usage patterns and loads. There are some good reference books (PHPP Illustrated comes to mind) and many regional PH groups host various PHPP trainings throughout the year as well. Certainly its not as robust a user group as you’ll find for E+ or Honeybee though.

so - all that said, I think using Honeybee and checking yourself with regards to the PH criteria is a nice ‘check’ and certainly I think it’ll get your project at least pointed the right direction. I’d say the main two items to keep in mind if you are trying to compare E+ results to the those PH thresholds though are:

a) the PH threshold values are set in reference to TFA (Treated Floor Area) which is mostly just ‘net interior floor area’ - thats different than the way Honeybee shows floor area by default - so keep that in mind

b) the PH thresholds are set using an interior winter set point of 20° C (no setback) and a summer set point of 25°C (no setback). So to get ‘comparable’ results you’d need to make sure your boundary conditions are the same.

Hope that helps! best of luck with it.


Thanks so much for the detailed response, Ed. Sounds like accomplishing the task is possible but requires a deep understanding of the real-world physics and the Energy+ model.

My project is relatively simple, and my time to deep dive on modeling methods limited, so I think I’ll be going with a purpose-built Passive-House tool: either WUFI Passive Free or PHPP/designPH. I will likely still use Ladybug/Honeybee to understand weather data and the daylighting impacts of various design decisions.

1 Like

Hi Both Ed and Steven,

Thank you so much for your post. I am doing my masters dissertation on the Passive House subject, trying to do exactly what you talk about, calibrating the PHPP process into Honeybee…challenging task, I wish I read your post before embarking into this adventure…

It would be amazing if you could give me a hand, I am particularly struggling with setting up the ventilation parameters (MVHR and natural ventilation for summer months). The heating loads are massive so I imagine I am not setting it up properly. I attach the GH files in case you had a bit of time to have a look, I would very much appreciate it.

Ranulf_Base Case_190810.3dm (396.7 KB)

Ranulf (1.0 MB)

Thank you in advance and have a great Sunday,


Hi @Ruxandra,

Apologies for the long delayed reply here. That sounds like a cool project and happy to add my two cents if its helpful. So for matching the 13790/PHPP process with regards to Ventilation, yes you need to be cautious of a couple things:

The Ventilation ‘losses’ in PHPP are made of two categories: Air Infiltration/Exfiltration through the envelope, and the ‘unrecovered’ air through the heat recovery ventilator (HRV/ERV).

So to the first point: While the Passive House (new construction) does require that you achieve a tested whole-building airtightness of < 0.6 ACH, note that is at 50 Pascals of pressure. So a normal daily air change rate will be much lower than this. In the PHPP you are asked to input two variables to assess the ‘wind screening’ of the building and estimate the normal daily air change rate (factors e, and f). This will yield a so called “n-v-rest” (sometimes also called n-v-demand, sometimes n-equiv.) - that is, an average ACH (n) at normal pressure conditions. So before you input 0.6 ACH into the Honeybee components, you first need to calculate this n-v-rest value.

So the way I’ve done this in the past is to just create a quick Python component to do this calc which will match the PHPP methodology (if thats what your after):

So notice that when 0.6ACH@50 is input (n50 = the tested ACH), only 0.06ACH comes out (n-v-rest = avg ACH at normal pressure, not 50Pa)

For my purposes in the example, I then feed that resultant 0.06 ACH value into the Honeybee “ACH2ms/s-m2 Calculator” to go from the n50 to the q50 value (ACH —> m3/s-m2) which then gets input into the “setEPZoneLoads”

Note also that the PHPP reference volume is different than the EP/HB volume. The PHPP/EN 13790 uses the so called Vn50 value which and INTERNAL reference volume (finish-to-finish) and is different (I think?) than the normal EP/HB volume which you’ll get from the HB tools. So keep that in mind as a source of additional discrepancy.

BUT - also keep in mind that the method above won’t exactly match the EN13790/PH method because when you use the above EP/HB tool it is going to use the value you input (n-v-rest) but also incorporate the occupancy rate into the ‘final’ airchange rate. I don’t fully understand the method EP is using there or why it does this (I’m sure there is a good reason), but if you want to get around this and mimic the PHPP, you should set the “_airFlowRate” to 1.0 on the “ACH2ms/s-m2 Calculator”, and then use a scheduler to input the ACH values directly. So that might look something like:

IMO using the Schedule is the most direct way to set your airflow rates and sidestep any other ‘inputs’ from other components - if thats what you are after. That said, it should be understood that the EN13790/PHPP method for taking a tested ACH down to an avg. annual ACH is a rough approximation only - the EP method of doing this evaluation on an hourly timestep and taking into account the changing operation of the space (is the HVAC system running and pressurizing the space, is the space occupied and people are opening/closing doors?, etc…) is probably a lot better than the 13790 method. If you really want to understand exactly what EP is doing, check out the documentation here: link. There is some interesting research on how to do an even more careful calc for big buildings you can dive into if you like.

But to match the PHPP, if thats what you want to do, I’d suggest overriding this and using the schedule to directly set the airflow at a constant rate, calculated using the e and f reduction factors based on building’s screening / protection situation.

So THEN, to the second item, you need to set the HRV flow-rates so that that match your PHPP HRV flow rates, and not use the code / ASHRAE default rates that are in there already. Again, keep an eye on the differences in how the two protocols caculate the reference values (…PerArea, or …PerPerson) cus’ those can be differentness in two (# of sf in the building, # of people in the building) but you should be able to get them to roughly align without too much trouble I’d think.

hope some of that helps! And best of luck with it. Give me a holler if you run into any more hiccups and happy to provide any thoughts.

I’ve modified and attached your GH file with the above items by way of an example.

Ranulf (1.1 MB)


Ruxanda, my apologies for the glacial reply. I took a look at your files and I’m afraid I won’t be of much help here. I ended up using WUFI for my design, and my technical knowledge is a bit lacking. However, if you’d like someone to validate your model with a real-world build, that is hopefully something I’ll be able to do for you in the next year or so.


Hi Ed,

Thank you so much for your extremely detailed response and very helpful information. Apologies for the delay in responding, when your message came through I was in the middle of submitting the dissertation so all pretty chaotic as you can imagine.

I will now retake the line of research where I left it, so your advice is extremely valuable. I will try to put it into practice and let you now where I get to.

Thank you so much again.

All the best,


1 Like