Skip to main content

Simulation engine

Every LUX Certify report names the engine and version that computed it. LUX Certify computes the daylight factor with Upskiller's own GPU engine. It was built to give the same answer as Radiance, the reference method, and was validated against it on a real building; the evidence is below. Daylight autonomy still runs on Radiance until a sibling engine is released (see the end of this page).

Radiance​

Radiance is the most common reference method for daylight simulations and the one cited in EN 17037. Against field measurements it has a documented error of around 15 % (Kharvari, 2020).

In practice Radiance is rarely run to full convergence. To keep run times acceptable, a conventional daylight-factor run caps the number of inter-reflections and interpolates the inter-reflected light between nearby points (the ambient cache). The validation below shows what these shortcuts cost on a real building.

Upskiller's GPU engine​

The engine uses the same physical model as Radiance:

  • Sky — the CIE standard overcast sky at 10 000 lx, with ground reflectance 0.2.
  • Materials — opaque surfaces are perfectly diffuse and defined by their reflectance; glazing uses the Radiance glass model, so transmittance depends on the angle of incidence exactly as in Radiance.
  • Inter-reflections — diffuse inter-reflections between surfaces are followed until further bounces no longer change the result.

What differs is how the light is traced. The engine does what Radiance does only when all of its approximations are switched off: it follows a large number of independent light paths for every sensor point, with no ambient cache and no interpolation between points, and continues until the result has converged. Running on a GPU is what makes that affordable: a whole floor is traced in seconds rather than hours.

The engine is deterministic: the same input gives the same result, bit for bit. Each run records the engine version and the hardware it ran on, so any result can be reproduced later.

Validation against Radiance​

The engine was validated on one floor of a real Swedish residential building exported from Revit: 18 rooms, about 163 000 triangles and about 6 100 sensor points on a 0.20 m grid. The reference was Radiance with every approximation switched off (no ambient cache, no interpolation, 12 inter-reflections), run three times with different random seeds to measure its own run-to-run noise. Differences are in daylight-factor points; for scale, the Swedish requirement is DF 1.0 %.

Compared with the converged Radiance referenceRoom means95 % of points within
Radiance itself, re-run with another seedwithin 0.003 DF0.042 DF
Upskiller's enginewithin 0.004 DF0.040 DF
Radiance, conventional production settings0.35 DF low on avg.0.65 DF

The engine is indistinguishable from another Radiance run, and there is no systematic offset: averaged over all points, the difference is about 0.001 DF. A conventional Radiance production run, with an ambient cache and two inter-reflections, reads 0.35 DF low on average against the same reference and up to 0.6 DF low in the brightest rooms. With eight inter-reflections the cache still leaves room errors of about ±0.1 DF. The engine is therefore not only faster but closer to the reference method than a conventional Radiance run.

Time​

Same floor, same sensor points:

RunTime
Radiance, converged reference (8 CPU cores)44 min
Radiance, conventional production settings (8 CPU cores)7 min
Upskiller's engine (one workstation GPU)5 s

In practice this means a converged, certified-quality simulation of a whole building in about a minute instead of hours, and a finer analysis grid than the regulation requires at no practical extra cost.

Daylight autonomy​

A sibling engine for climate-based metrics (daylight autonomy, EN 17037) is in preparation. Until it is released, daylight autonomy simulations run on Radiance.