Summary
The Site-Level 3D Shading engine, introduced in Version 12, uses a approach to calculate beam shading at the individual level across the entire site. The algorithm transforms the scene to view it from the sun’s perspective, identifies which bays and objects could cast shade onto each target bay, then computes exact shade polygon intersections. It supports complex terrain, non-uniform row spacing, arbitrary array geometries, and external obstructions with significantly improved computational performance compared to the legacy DC field-level approach. This is a continuous-space approach with no dependence on rendering resolution.Inputs
| Name | Symbol | Units | Description |
|---|---|---|---|
| Bay Vertices | — | m | 3D coordinates of each bay’s 4 corners (parallelograms) |
| External Object Vertices | — | m | 3D vertices of obstruction polygons (triangles or parallelograms) |
| Solar Zenith Angle | degrees | Angle between sun and vertical | |
| Solar Azimuth Angle | degrees | sun azimuth, measured clockwise from North | |
| Tracker Rotation Angle | degrees | Rotation angle about tracker axis for bay (tracker systems only) |
Outputs
| Name | Symbol | Units | Description |
|---|---|---|---|
| Beam Shading Factor | — | Site-average fraction of beam irradiance reaching bays (0-1) |
Detailed Description
The algorithm operates in four main steps:- Scene Preparation — Rotate bays to tracker angles, then transform scene to sun-aligned coordinates
- Broad-Phase Collision — Identify which bays and objects can cast shade onto each target bay
- Narrow-Phase Collision — Compute exact shade polygon intersections for each candidate pair
- Shading Factor Calculation — Calculate per-bay shaded fractions and aggregate to site average
Step 1: Scene Preparation
The algorithm transforms the 3D scene into a coordinate system aligned with the sun’s view:- Bay rotation: For tracker systems, rotate each bay around its tracker axis by angle
- Scene rotation: Rotate the entire scene (bays and external objects) so that sun rays become parallel to the Z-axis, effectively viewing the scene from the sun’s perspective
Step 2: Broad-Phase Collision
For each target bay, the algorithm identifies candidate occluders—other bays and external objects that could potentially cast shade onto it. A candidate must:- Overlap in X-Y: It overlaps the target bay when viewed from the sun
- Be in front: It is closer to the sun than the target bay
Step 3: Narrow-Phase Collision
For each target bay with one or more candidates, the algorithm computes the exact shade geometry using polygon clipping:- Merge candidate polygons: Combine all candidate occluder polygons into a single shade polygon
- Intersect with target: Compute the intersection of the merged shade polygon with the target bay polygon
- Calculate shaded area: Measure the area of the intersection polygon