Window and IGU components
Component placement, geometry rules, glazing imports and reference definitions.
On this page
Choose Library… in the KOALA panel's toolbar. Its two tabs offer windows in two ways:
- Windows / IGUs (or
KoalaWindows) is the browser of window components: a glazing unit with its frame (IGU + frame) or the glazing unit alone (IGU only), placed without wall, boundary conditions or assessments, for a model of your own. It also manages the glazing imported from LBNL WINDOW. After placement, Window Analysis… sets up or reviews the assessment and its reference measurements. - Examples (or
KoalaExamples) has the window in its wall: jamb, head and sill cuts and a whole window, with wall, installation joint, boundary conditions and assessments. See example setups. The steps below that mention example walls, joints and assessments apply to those.
The library is modeless: keep it open while working in Rhino. Each document has one library window; the commands select the corresponding tab in that same window. Imported glazing is available in both tabs where it fits the frame.
The window component browser
- Choose IGU + frame or IGU only. With a frame, Full 3D window is the default geometry and Cut detail offers jamb, head and sill plus a physical extrusion depth; full windows accept width and height as either overall frame or clear glazing dimensions. A glazing unit alone can have any thickness because no frame rebate has to fit. As Full 3D window it is the whole rectangular unit with spacer and edge seal all round, its width and height those of the glass. As Cut detail it is the unit's edge: a strip with seal and spacer at one end, the uniform section for a frame of your own. All dimension fields use the Rhino document's units.
- Choose a frame system: illustrative PVC, timber, timber with aluminium cladding, or thermally broken aluminium. Compare the read-only glazing table on the left: setup, outside-to-inside build-up, gas fill and reference Ug. The right pane shows previews, total thickness, coating faces/emissivity and reference conditions for the selected row. Gas names are abbreviated in the table; hover for the full mixture. All four systems have 20/24 mm double and 36/44 mm triple configurations; PVC also has 4/6/8 mm single configurations. Choices resolve to recorded profile/bead/gasket combinations by overall glazing thickness. See frame configuration sources.
- Inspect the section or 3D construction preview and pane/gap diagram. Orange lines identify low-e faces. Source details… shows the frame configuration and its provenance, plus glazing conductivities, emissivities and reference conditions. Browsing creates no Rhino objects and runs no simulations.
- Choose the Place … in Rhino… button (to get Uf, Ψg or Uw for a placed unit afterwards, see assessing a frame), then click an insertion point; Escape cancels. A component keeps the cell size of a model that already has assigned layers. A full window lies in world XZ, with outside toward −Y. A jamb has its section in XY and extrudes along Z; head and sill sections extrude along X. The framed IGU is one managed block on one IGU + frame layer in Rhino and one special material row in KOALA. Its panes, gaps, frame profiles/cavities, gaskets, spacers and seals expand internally for the solver. Example walls, joints and boundary volumes are separate closed Breps on ordinary assigned layers. Reference guides are excluded from the KOALA layer table. The browser closes after placement.
- Edit example walls, joints and boundary solids directly in Rhino; double-click their ordinary KOALA rows to change assignments. Put additional supports on assigned child layers under Supports. Those objects participate in installed assessments, while standalone reference cases exclude external context. Keep new geometry within the modeled boundary extent and specimen depth, or extend those volumes deliberately. The IGU and frame remain a read-only library component.
- Select the example's managed unit and choose Simulate in the main KOALA panel. Full windows default to a 20 mm target cell; cut details default to 4 mm, both with a half-size refinement check. Unit-only insertion in your own model uses the normal full-model 3D simulation and your material/boundary assignments. Before solving example assessments, KOALA logs actual graded cell/node counts and a working-memory estimate, and rejects oversized meshes. Copying a unit copies its IGU/frame only; use the library to place another complete example.
- After Simulate, the calculated values (Uf, Ψg, Uw, installation Ψ, lowest surface temperature) appear in the panel's log and the main result is shown in the viewport. A placed window is an ordinary thermal study created from a template; add Ψ/χ calculations of your own with Bridge Analysis…. Report… opens the report window with a preview of the pages and the export.
Cut details resolve a full 3D grid through the physical extrusion depth. Uniform extrusions can still report Uf and glazing/installation Ψ per metre through the configured reference calculations. A finite support or depth variation removes that section normalization: the finite 3D specimen reports Q and H. The slice slider and index stepper stay synchronized when the plane, assessment or grid changes. A direction containing only one cell is disabled with an explanation; choose another plane for saved section-only results.
Full-window heat-flow assessments report Uw from the projected outer frame area, excluding wall and joint. Separate installed assessments report Q/H including the surrounding construction; all newly placed example assessments use the currently assigned boundary temperatures, resistances and humidity. Surface-temperature assessments report under those assigned conditions. Analytic subtractions use the same films as the numerical case. Full windows do not automatically derive separate Uf/Ψ/χ decompositions. The four frame members use illustrative mitered profiles with distinct head-drip and sill-base features, rather than manufacturer-specific corner fabrication.
The browser only selects, inspects, imports and places geometry. It has no calculation, case, formula or material editor. Its dimensional controls describe generated geometry. A draggable divider starts with 65% of the body devoted to choices and the comparison table. Previews and specifications stack vertically on the right. The opening size fits the complete built-in catalogue and selected setup without scrollbars on a sufficiently large screen; each pane can scroll independently when the window is reduced or content grows. Wall and installation dimensions expand when needed. Placement remains visible in the footer. The glazing replacement picker uses the same selection/details split.
IGU and frame inspector
Double-click the IGU + frame row in the KOALA layer table, or select its block and run KoalaGlazingProperties. The inspector shows the frame description, each component's assigned material and conductivity (or effective cavity conductivity), the pane/gap drawing and glazing source/reference properties. All fields are read-only. Choose a different construction in the library to place another unit.
Modifying component meshes with BlockEdit, exploding the unit, deleting members, or scaling the assembly invalidates the managed definition and blocks calculation. Translation and upright rotation are supported; tilted glazing requires a matching thermal recipe. A full-window glazing-height mismatch is reported because gap properties remain fixed at their recorded reference state. Ordinary example walls and boundary conditions can be edited independently of the unit.
The thirteen built-in glazing sets are computed by Berkeley Lab's WINDOW CalcEngine using pyWinCalc 3.3.1: three clear single panes (4/6/8 mm), five double-pane and five triple-pane stacks, including clear/low-e and air/90% argon alternatives. They use generic glass conductivity and emissivities at a recorded zero-solar reference condition. They are labelled CalcEngine reference; generic thermal recipe. They are not measured IGDB products or verified desktop-WINDOW exports. The actual per-gap outputs are preserved, including unequal values in the two triple-glazing gaps. Optical/solar performance is not supplied. Single glazing has no gap or edge spacer.
Use existing geometry
Assign solids and indoor/outdoor boundary volumes through the layer table. Use its context menu to Assign sealed cavity…, Set component / boundary role…, and Select objects. A cavity can use supplied equivalent conductivity, a one-gap calibration from Ug, or a specific gap from a glazing set. Thickness-axis checks compare the stored gap thickness with the geometry. For imported/calibrated gaps with an axis check enabled, mark the adjacent panes with the glass role: their geometry and conductivity must match the selected recipe, outside-to-inside along the positive axis. An imported gap already includes radiation; no extra radiation term is added.
For managed windows, frame members remain within the read-only IGU/frame block, and example walls/boundaries and additional supports remain loose on assigned context layers. The insulation panel of the Uf cases is not an object: those cases solve the glazing unit as the panel. The browser configures example assessments automatically; it does not author arbitrary cases or point-bridge reference decompositions. Existing legacy individual-solid and outer-block studies remain readable; reinsert a legacy example from the library to adopt the new placement layout.
Reference terms and edits
The main panel's window result details and JSON report preserve dependencies, analytic references, sources, conventions and units. Cyclic or missing dependencies and obsolete case results cannot be evaluated. Generated presets link panel, wall and centre-glass references to their source solids and the reference case's films. Their series resistances use current conductivities and thicknesses after a run.
Tagged setup curves in existing examples provide reference lengths in metres and follow edits in Rhino. Window analysis… provides Draw line… buttons to replace each reference with remembered endpoints and a temporary viewport dimension, including in older document-based details. New measurement picks create no model objects. Legend Settings → Measurement guides controls whether the previews appear while editing, remain visible with the dialogs closed, or are hidden. Incomplete measurements disable the window assessment, while thermal simulation and its report remain available; window transmittances are withheld until their measurements are complete. Setup objects are excluded from voxelization. Managed unit copies receive per-instance source identities; their example context is not copied. Legacy individual components with duplicated source markers require rebinding or a fresh placement.
Material, cavity, boundary, geometry and mesh edits obsolete results. Simulate rechecks fingerprints and runs the defined assessments. A geometry change during a solve causes its outputs to be rejected. Cancellation cannot publish partial verification as a current result. On reopening a document, run the study before accessing its scalar reports; result fields remain available through saved .kvox files.
Report… → Export report… writes the ISO 10211 report (PDF, CSV or JSON), or the complete study with its reference definitions, input-volume snapshot and result summary (JSON). Each case records its target mesh and refinement results. Export requires current cases. .kvox stores the selected solved field and its thermal summary. Nonconverged fields cannot be saved as solved results. Window/cavity runs skip Glaser diffusion; the opaque-construction IDF export is disabled for these thermal-only results.
Placed windows and exported studies retain a snapshot of the frame configuration, its profile/bead/gasket identifiers, glazing thickness and source record. Source status describes the supplied section; it does not certify later frame edits, generated corners, installation details or the complete window. Older sections without configuration metadata still load, without gaining a source classification.
Import WINDOW data
Import from WINDOW… in the window component browser accepts koala.glazing-system version 1 JSON. Imported entries are saved in the document and selected immediately, with their pane diagram and properties visible; the line under the table says when the selected glazing is an import. A matching frame rebate enables placement with a frame. An unsupported overall thickness remains available for inspection and cavity assignments and can be placed as IGU only. Remove import takes the selected import out of the document's list; units already placed keep their own snapshot. The window examples of the example browser offer the same imports where they fit the frame. Imported glazing does not replace the properties of an already placed detail. Documents embed their used property snapshots; changing a library file does not silently update a placed assembly.
Native WINDOW .w4 and .mdb files are not directly parsed. No verified binary-layout fixture was available during implementation. Use a reviewed manifest containing the actual pane stack, independent gap conductivities and U-factor reference conditions, then normalize it with:
python tools/windows/normalize_window_glazing.py manifest.json original-window-export normalized-glazing.json
The manifest uses the Data schema illustrated by the JSON files under KOALASolver/Windows/Glazing. Replace all generic inputs with the actual WINDOW records and reference outputs. The normalizer records the original source file's SHA-256 hash. Import validation rejects unsupported versions, incomplete stacks, invalid properties, nonzero-solar references and a Ug mismatch exceeding 0.5% under the recorded films. It does not award a desktop-WINDOW verification badge.
Scope and current limitations
Glazing uses recorded gap properties and reference conditions. Temperature or tilt changes do not automatically recalculate gas and coating performance. Detailed cavity radiosity, native WINDOW binary import, nonrectangular generated windows and manufacturer-specific frame corners are not provided by the current library workflow.
Review window assessment limits, frame source classifications and mesh verification with the model inputs.