pvperfsolar performance modeling

Reference / Near shading (row to row)

Model option

Infinite rows, PVsyst application

The shadow from the profile angle on rows of unlimited length, with inactive edge bands

Inputs used: GCR (ground cover ratio), Collector band width, Plane tilt, Top inactive band, Bottom inactive band, Number of rows, Model row-to-row shading, Backtracking

Method

The rows are treated as infinitely long, so only the geometry across the rows matters. The sun's height in the plane perpendicular to the rows, the profile angle, gives the length of the shadow the front row casts up the module plane. Inactive bands at the top and bottom edges of the row, such as frames and gaps, are part of the geometry: the shadow must cross the bottom band before it reaches cells. A tracker uses the same geometry with its rotation as the tilt. Its band on the upper edge is the top band while the plane faces east and the bottom band while it faces west. A tracker that backtracks casts no shadow at all.

The shadow of one row on the next, section across the rows

The math

L=Wtot−P sin⁡ψsin⁡(β+ψ),Fsh=clamp(L−bbot, 0, W)Wtot(1)L = W_{tot} - \frac{P\,\sin\psi}{\sin(\beta + \psi)},\qquad F_{sh} = \frac{\text{clamp}(L - b_{bot},\ 0,\ W)}{W_{tot}} \tag{1}

where

Symbol Meaning Unit
LL the length of the shadow up the total row width m
WtotW_{tot} the total row width including the inactive bands m
PP the row pitch, the distance between the rows m
ψ\psi the profile angle: the height of the sun seen in the plane perpendicular to the rows degrees
β\beta the tilt of the module plane from the horizontal degrees
FshF_{sh} the shaded fraction of the row: the shaded part of the active width over the total row width, so at most W/WtotW/W_{tot} —
bbotb_{bot} the inactive band at the bottom edge m
WW the collector width m

References

  1. Appelbaum & Bany 1979, Shadow effect of adjacent solar collectors in large scale systems, Solar Energy 23(6) 497–507
  2. PVsyst 8 help, Unlimited sheds
  3. Analysis of PVsyst 8.1.5 outputs shows this convention in its results.

API

array.shading_model = unlimited_sheds, array.inter_row_shading = true

Symbols follow the symbol registry.