I was trying to add an aperture with one edge coincident with one of the wall edges. The process failed unfortunately. If the aperture is moved up a bit, it runs well. Intuitively, I feel that a minor change could be done to make check_and_add_sub_face(face, sub_faces) work in this case.
I think it’s better practice to ensure that all subfaces lie completely within the parent face but, if enough people find that they want something like this, maybe we can change it.
This issue really isn’t on the Honeybee end or with any of the simulation engines. Rather, the problem is with Rhino and most other 3D visualization interfaces, which will not render the room correctly when there is a shared edge between a sub face and a parent one.