BHoM / BHoM_Engine

Internal manipulation of the BHoM
GNU Lesser General Public License v3.0
26 stars 12 forks source link

Environment_Engine: Calculation of linear thermal bridging lengths #2725

Open rboulton-BH opened 2 years ago

rboulton-BH commented 2 years ago

Description:

Compliance calculations for Part L of UK Building Regulations requires the calculation of heat loss through linear thermal bridges. This requires us to measure the lengths of each junction type for our entire analysis model, see example of measurements below: image

Historically this has been done manually for domestic Part L1A calculations from 2D PDF markups but as we move towards workflows using 3D geometry for this analysis there is an opportunity to automate the calculation of these thermal bridges. Coincidentally, a requirement to measure these thermal bridges is also due to be introduced in the new version of the non-domestic Part L2 2021 so there is the potential for additional benefit from automation.

It would be good if we could develop a method or series of methods to automatically calculate the lengths of each junction type through geometrical interrogation of the analysis model geometry e.g. check for coincident vertices of Wall/Roof elements and return length.

An addition to this calculation would be the development of a visualisation tool to produce an output similar to the image above to allow for visual inspection and QA that the calculation has been completed correctly. (this should probably be tackled as a separate issue)

RMildiner commented 2 years ago

Forgive the "noob" question, but when we have a geometry in Rhino, as a result of the model laundry toolkit or otherwise, are the individual space types assignable at that point?

The reason I ask is because for the thermal junctions to be correctly identified, I think we will need some way of identifying rooms which are part of the same dwelling, rooms which are part of an adjacent dwelling and rooms which are other adjacencies of varying types, commercial, unheated etc.

Otherwise the code will not know which internal surfaces are party walls and which are basic partitions.