pvperfsolar performance modeling

Reference / Beam incidence angle

Model option

Fresnel › PVsyst 8 · Normal glass

The Fresnel equations for plain glass on the encapsulant, tabulated at nine angles

Inputs used: ASHRAE b₀, AR-coated glass, module.iam_angles_deg, iam.angles_deg

Method

The accepted fraction comes from a table at nine incidence angles for plain glass laid on the encapsulant. The light crosses air to glass of refractive index 1.526, then glass to encapsulant of index 1.49. At each surface the light refracts by Snell's law (1). Each polarisation reflects by the Fresnel equations (2). The light reflected back and forth inside the glass is added without interference (3). The transmittance is the average of the two polarisations. The glass absorbs nothing. The table holds the transmittance divided by its value at perpendicular incidence at 30°, 50°, 60°, 70°, 75°, 80° and 85°, and 0 at 90° (4). From 0° to 30°, from 30° to 50° and from 85° to 90° the fraction is interpolated linearly (5). On the segments between, it follows the cubic through the four nearest table angles (6).

Settings

Setting Value
Refractive index of the glass 1.526
Refractive index of the encapsulant 1.49
Absorption in the glass none
Accepted fraction at 0° 1
Accepted fraction at 30° 0.99835
Accepted fraction at 50° 0.98106
Accepted fraction at 60° 0.94763
Accepted fraction at 70° 0.86159
Accepted fraction at 75° 0.77589
Accepted fraction at 80° 0.63572
Accepted fraction at 85° 0.40194
Accepted fraction at 90° 0

The math

  1. Refraction at a surface
  2. Reflectances of a surface
  3. Transmittance of the glass on the encapsulant
  4. Table
  5. First and last segments
  6. Inner segments
sin⁡θb=nanbsin⁡θa(1)\sin\theta_b = \frac{n_a}{n_b}\sin\theta_a \tag{1} rs=(nacos⁡θa−nbcos⁡θbnacos⁡θa+nbcos⁡θb)2,rp=(nacos⁡θb−nbcos⁡θanacos⁡θb+nbcos⁡θa)2(2)r_s = \left(\frac{n_a\cos\theta_a - n_b\cos\theta_b}{n_a\cos\theta_a + n_b\cos\theta_b}\right)^2,\qquad r_p = \left(\frac{n_a\cos\theta_b - n_b\cos\theta_a}{n_a\cos\theta_b + n_b\cos\theta_a}\right)^2 \tag{2} τ(θ)=12∑x=s, p(1−R1,x)(1−R2,x)1−R1,x R2,x(3)\tau(\theta) = \frac{1}{2}\sum_{x = s,\,p} \frac{(1 - R_{1,x})(1 - R_{2,x})}{1 - R_{1,x}\,R_{2,x}} \tag{3} Fk=τ(θk)τ(0),k=1,…,7;F0=1,F8=0(4)F_k = \frac{\tau(\theta_k)}{\tau(0)},\quad k = 1, \dots, 7;\qquad F_0 = 1,\quad F_8 = 0 \tag{4} F(θ)=Fk+(Fk+1−Fk)θ−θkθk+1−θk,θk≤θ≤θk+1, k∈{0,1,7}(5)F(\theta) = F_k + \left(F_{k+1} - F_k\right)\frac{\theta - \theta_k}{\theta_{k+1} - \theta_k},\quad \theta_k \le \theta \le \theta_{k+1},\ k \in \{0, 1, 7\} \tag{5} F(θ)=∑j=k−1k+2Fj∏m=k−1m≠jk+2θ−θmθj−θm,θk≤θ<θk+1, 2≤k≤6(6)F(\theta) = \sum_{j = k-1}^{k+2} F_j \prod_{\substack{m = k-1 \\ m \ne j}}^{k+2} \frac{\theta - \theta_m}{\theta_j - \theta_m},\quad \theta_k \le \theta < \theta_{k+1},\ 2 \le k \le 6 \tag{6}

where

Symbol Meaning Unit
θa\theta_a the angle of the light arriving at the surface degrees
θb\theta_b the angle of the light refracted through it degrees
na,nbn_a, n_b the refractive indices before and after the surface (1 and 1.526 at the air-glass surface, 1.526 and 1.49 at the glass-encapsulant surface) —
rs,rpr_s, r_p the reflectances of the two polarisations at one surface —
τ(θ)\tau(\theta) the transmittance of the cover at incidence angle θ\theta. Of the glass into the encapsulant —
θ\theta the incidence angle: between the light's direction and the perpendicular to the module plane degrees
R1,x,R2,xR_{1,x}, R_{2,x} the reflectances of polarisation xx at the first and the second surface. The air-glass and the glass-encapsulant surface —
θk\theta_k the angle kk of the tabulation. 0°, 30°, 50°, 60°, 70°, 75°, 80°, 85° and 90° for kk from 0 to 8 degrees
FkF_k the accepted fraction of the table at θk\theta_k —
F(θ)F(\theta) the incidence-angle modifier: the accepted fraction of light at the incidence angle —
kk the index of the table angle that opens the segment holding θ\theta —
j,mj, m the indices of the four table angles of the cubic —

References

  1. PVsyst 8 help, Array incidence loss (IAM)
  2. Duffie & Beckman, Solar Engineering of Thermal Processes, 4th ed., Wiley 2013

API

iam.kind = fresnel_normal

Symbols follow the symbol registry.