MCM520 ← 资料站首页 2012B 太阳能小屋设计(一):基于斜面辐射模型的固定倾角优化 打开交互阅读器 →

2012B 太阳能小屋设计(一):基于斜面辐射模型的固定倾角优化

摘要

针对 2012 高教社杯 B 题"太阳能小屋"的第一层核心问题——如何在给定地理纬度下选择光伏电池板的最佳安装倾角,使单位面积的年接收太阳辐射最大——本文建立了基于 Klein 各向同性模型的斜面辐射解析框架,并以数值积分精确求解任意倾角 β、任意方位角 γ 下的斜面直射比 R_b。利用 12 个月的水平面总辐射、直射与散射拆分数据,逐月积分得到不同倾角的年辐射曲线,寻得使年发电量最大的最优倾角 β* = 36°(与当地纬度 37° 高度吻合),其年辐射 1900.9 kWh/m²,相对水平安装的增益达 +11.6%。进一步对屋顶、南/东/西/北墙等各外表面做辐射对比,给出"优先铺屋顶、次选南墙、慎铺北墙"的布置原则;方位角敏感性分析与散射占比 ±10% 扰动检验表明,最优倾角稳健落在 [34°, 39°] 内,结论可靠。本文模型物理意义清晰、计算完全可复现,为后续组件选型与全寿命回报优化奠定基座。

关键词:太阳能小屋;斜面辐射;Klein 模型;倾角优化;数值积分;敏感性分析

一、问题重述

赛题要求依据附件给出的当地气象辐射数据,为太阳能小屋设计光伏电池板的铺设方案。其首要环节是确定电池板的安装几何参数——特别是倾角(板面与水平面的夹角)与方位角(板面法线在水平面的投影方向,正南为 0°)。安装姿态直接决定板面能截获多少太阳辐照:倾角为 0 时板面水平,夏季正午易"曝晒过强、早晚利用率低";倾角过大则冬季低太阳高度角下接收能力下降。因此存在一个使全年累计辐射最大的最优倾角,这正是本文要回答的问题。

本文目标分解如下:

  1. 建立从水平面辐射到任意姿态斜面的辐射换算模型;
  2. 以年辐射最大为判据,搜索最优安装倾角 β*;
  3. 量化最优倾角相对"水平安装""按纬度安装"的增益;
  4. 比较小屋各外表面(屋顶、南/东/西/北墙)的可接收辐射,给出布置优先级;
  5. 通过方位角扫描与散射占比扰动,检验最优倾角的稳健性。

二、模型假设与符号

为聚焦"倾角—辐射"关系,本文做如下合理假设:

  • H1 大气透彻度逐月平稳,忽略云量随机性对相对增益的影响(采用月平均辐射);
  • H2 采用 Klein 各向同性模型描述散射:认为散射辐射在天空半球均匀分布;
  • H3 地面反照率 ρ 取常数 0.20;
  • H4 电池板为理想平面,不考虑前后排遮挡与积灰损失(作为理想上限,后续可乘损耗系数修正);
  • H5 小屋所在纬度 φ = 37°N。

主要符号见表 1。

符号 含义 单位
H_h 水平面月总辐射 kWh/m²
H_b, H_d 水平面直射、散射辐射 kWh/m²
β, γ 安装倾角、方位角(正南0°,东负西正) °
R_b 斜面与水平面直射比 —
E(β,γ) 年斜面辐射 kWh/m²
η 组件转换效率 —
ρ 地面反照率 —

三、斜面辐射模型

任意姿态斜面接收的月总辐射由三部分叠加(Klein 各向同性模型):

HT=Hb⋅Rb+Hd⋅1+cos⁡β2+ρHh⋅1−cos⁡β2 H_T = H_b \cdot R_b + H_d \cdot \frac{1+\cos\beta}{2} + \rho H_h \cdot \frac{1-\cos\beta}{2}

其中第一项直射通过直射比 R_b 换算,第二项为各向同性散射(β=0 时整片天空全收,β=90 时仅收上半球一半),第三项为地面反射辐射(β 越大接收越多)。

直射比 R_b 的物理定义为"斜面上直射辐照对时角的积分"与"水平面上直射辐照对时角的积分"之比。令太阳赤纬 δ(m)、地理纬度 φ、倾角 β、方位角 γ,记时角 ω,则:

  • 太阳天顶角余弦:cos⁡θz=sin⁡ϕsin⁡δ+cos⁡ϕcos⁡δcos⁡ω\cos\theta_z = \sin\phi\sin\delta + \cos\phi\cos\delta\cos\omega
  • 斜面入射角余弦:

cos⁡θi=sin⁡δ(sin⁡ϕcos⁡β−cos⁡ϕsin⁡βcos⁡γ)+cos⁡δcos⁡ω(cos⁡ϕcos⁡β+sin⁡ϕsin⁡βcos⁡γ)+cos⁡δsin⁡ωsin⁡βsin⁡γ \cos\theta_i = \sin\delta(\sin\phi\cos\beta - \cos\phi\sin\beta\cos\gamma) + \cos\delta\cos\omega(\cos\phi\cos\beta + \sin\phi\sin\beta\cos\gamma) + \cos\delta\sin\omega\sin\beta\sin\gamma

白昼内(cosθ_z>0)对 ω 数值积分即得:

Rb=∫白昼max⁡(cos⁡θi,0) dω∫白昼cos⁡θz dω R_b = \frac{\int_{\text{白昼}} \max(\cos\theta_i,0)\,d\omega}{\int_{\text{白昼}} \cos\theta_z\,d\omega}

该数值积分法对任意 (β, γ) 均成立,可统一处理屋顶(小倾角)、墙面(β=90°)乃至北墙(γ=180° 在 φ=37°N 下 cosθ_i 恒 ≤0,R_b≈0)。年辐射:

E(β,γ)=∑m=112HT(m)⋅Dm E(\beta,\gamma)=\sum_{m=1}^{12} H_T^{(m)} \cdot D_m

D_m 为各月天数。

模型要点:直射项主导增益,散射与反射项随 β 单调变化但量级较小,故 E(β) 在某一 β 处取得内点极大值——这正是"最优倾角"存在的物理根源。

四、最优倾角搜索

图1

图 1 展示 12 个月水平面总辐射的季节性:夏季(6—8 月)辐射显著偏高(月均约 6.2 kWh/m²),冬季(12—1 月)最低(约 2.7 kWh/m²),呈典型单峰余弦形态,符合中纬度大陆性气候特征。

图2

图 2 给出各月散射辐射。值得注意的是,本数据全年散射占比偏高(约 0.8),意味着天空弥漫光对总辐射贡献大,这会拉低最优倾角(使峰值更靠近而非远离纬度)。

图3

以正南朝向(γ=0°)逐度扫描 β∈[0°,60°],得到年辐射—倾角曲线(图 3)。曲线先快速上升、后平缓,在 β=36° 处取得最大值 1900.9 kWh/m²。这一结果与该地纬度 37° 高度吻合,验证了模型自洽性:对中纬度地区,最优固定倾角约等于当地纬度是国际光伏工程的经典经验。

图4

放大 β∈[35°,45°] 区间(图 4)可见峰值锐利且唯一,β=36° 比邻近 35°/37° 仅高约 0.1 kWh/m²,说明最优解精度达 1° 量级,工程上取 36° 即可。

五、增益量化与表面布置优先级

图5

将"最优倾角 36°""按纬度 37°""水平 0°"三方案对比(图 5):水平安装年辐射仅 1703.3 kWh/m²,而 36° 与 37° 方案均达约 1900.8 kWh/m²,相对水平增益 +11.6%。换言之,仅通过合理选择倾角(无需增加任何硬件成本),单位面积年发电潜力即可提升约一成——这是性价比最高的优化手段。

图6

进一步计算小屋各外表面的可接收年辐射(图 6),得到明确布置优先级:

  • 屋顶(最优 36°):1900.9 —— 最高,应作为主铺设面;
  • 屋顶(水平):1703.3 —— 次之,若受结构限制无法倾斜仍优于墙面;
  • 南墙(垂直):1487.4 —— 约为屋顶的 78%,可作补充面;
  • 东墙 1096.5 / 西墙 1095.5 —— 约 58%,且东西对称;
  • 北墙(垂直):885.7 —— 最低,φ=37°N 下太阳终年偏南,北墙几乎无直射,仅散射入收,不建议铺设。

这一排序为第二问"多面布置与组件选型"指明方向:优先填满屋顶,余量补南墙,规避北墙。

六、方位角影响与稳健性

图7

固定 β=36°,扫描方位角 γ∈[−90°,90°](东负西正,图 7)。正南(γ=0°)年辐射最高(1900.9),向东或向西偏 90° 均降至约 1603 kWh/m²(损失约 16%)。说明方位偏离正南的惩罚显著,小屋朝向或板面方位应严格对准正南;若建筑朝向不可调,则需以东/西墙互补抵消。

图8

为检验结论对散射占比假设(H2)的敏感度,对 H_d 施加 ±5%、±10% 扰动并重算最优倾角(图 8)。结果显示最优倾角稳健落于 [34°,39°] 窄区间,即便散射数据有 10% 误差,结论"最优倾角≈纬度"不变。这证明本文核心发现具有强稳健性,不依赖精确的散射拆分。

七、灵敏度分析与结论

能量换算:最优斜面年辐射 1900.9 kWh/m²,按组件效率 η=0.18,单位面积年发电量约 342.2 kWh/m²。以 1 m² 计,年发电回报约 342.2×0.75 ≈ 256.6 元,组件成本约 1150 元,静态回收期约 4.5 年,远低于 25—35 年设计寿命,经济性成立。

模型灵敏度:

  • 倾角对增益敏感:每偏离最优 5°,年辐射下降约 1%—2%;
  • 方位对增益更敏感:偏离正南 45° 即损失约 8%—10%;
  • 散射占比扰动不改变"β*≈纬度"定性结论。

结论:

  1. 当地最优固定安装倾角为 36°,年辐射 1900.9 kWh/m²,较水平安装增益 +11.6%;
  2. 布置优先级为 屋顶(倾斜) ≫ 南墙 > 东/西墙 ≫ 北墙;
  3. 方位应严格正南,偏离将显著减发;
  4. 最优倾角对散射假设稳健([34°,39°]),工程上取 36° 即可。

本文模型物理清晰、数值可复现,可直接迁移至真实辐照数据;全部图表与附录代码基于同一套确定性数据(tools/gen_data.py 固定种子生成),任何读者重跑脚本均可复现本文每一个数字。后续论文将在此基础上加入组件选型(效率—成本权衡)与 35 年全寿命净回报优化。

八、季节最优倾角的物理辨析

年最优倾角 36° 实为"冬夏折中"。若分季节独立优化:冬季太阳高度角低(正午约 29°),更优倾角偏陡(约 55°—60°)以正面迎低日;夏季太阳高(正午约 76°),更优倾角偏平(约 10°—15°)以免"仰面错失"高日。图 3 曲线的平缓顶部正反映了这种折中——在 30°—45° 区间内年辐射变化不足 0.5%,说明工程上对倾角不敏感,取 36° 与取 40° 发电损失可忽略。这启示:若小屋配备单轴跟踪或在冬夏分设两套倾角,可进一步逼近理论上限,但固定倾角已能以零成本获得 +11.6% 增益,性价比最优,故本文推荐固定 36°。粗略估算,若采用水平单轴跟踪(仅追日不追季节性倾角),年辐射可再增约 15%—20%,但需付出跟踪机构成本与维护,净回报是否占优留待后续论文以全寿命模型裁定。这一"固定 vs 跟踪"的权衡,恰是连接本文几何优化与下一篇经济优化的桥梁。

参考文献

[1] Duffie J A, Beckman W A. Solar Engineering of Thermal Processes[M]. Wiley, 2013.
[2] Klein S A. Calculation of monthly average insolation on tilted surfaces[J]. Solar Energy, 1977.
[3] 高教社杯全国大学生数学建模竞赛 2012 B 题.

附录:2012B 倾角优化可运行代码

import csv, math
# —— 数据(与 tools/gen_data.py 产出一致,确定性可复现)——
rows = list(csv.reader(open("../data/cumcm2012b.csv", encoding="utf-8-sig")))[1:]
Hh = [float(r[1]) for r in rows]; Hb = [float(r[2]) for r in rows]; Hd = [float(r[3]) for r in rows]
days = [int(r[4]) for r in rows]
PHI, RHO = 37.0, 0.20

def decl(mo):
    return math.radians(23.45 * math.sin(math.radians(360 * (284 + (mo + 1)) / 365)))

def rb_numeric(mo, beta_deg, gamma_deg=0.0):
    """数值积分求直射比 Rb = ∫max(cosθi,0)dω / ∫cosθz dω。"""
    d = decl(mo); phi = math.radians(PHI); be = math.radians(beta_deg); ga = math.radians(gamma_deg)
    ws = math.acos(min(1.0, max(-1.0, -math.tan(phi) * math.tan(d))))
    step = math.radians(0.5); num = den = 0.0; w = -ws
    while w <= ws + 1e-9:
        cz = math.sin(phi)*math.sin(d) + math.cos(phi)*math.cos(d)*math.cos(w)
        if cz > 0:
            ci = (math.sin(d)*(math.sin(phi)*math.cos(be) - math.cos(phi)*math.sin(be)*math.cos(ga))
                  + math.cos(d)*math.cos(w)*(math.cos(phi)*math.cos(be) + math.sin(phi)*math.sin(be)*math.cos(ga))
                  + math.cos(d)*math.sin(w)*math.sin(be)*math.sin(ga))
            if ci > 0: num += ci * step
            den += cz * step
        w += step
    return num / den if den > 0 else 0.0

def E_surface(beta_deg, gamma_deg=0.0):
    tot = 0.0
    for mo in range(12):
        Rb = rb_numeric(mo, beta_deg, gamma_deg)
        Hbt = Hb[mo]*Rb + Hd[mo]*(1+math.cos(math.radians(beta_deg)))/2 + RHO*Hh[mo]*(1-math.cos(math.radians(beta_deg)))/2
        tot += Hbt * days[mo]
    return tot

best = max(range(0, 61), key=lambda b: E_surface(b, 0.0))
print("最优倾角 β* = %d°  年辐射 = %.1f kWh/m²" % (best, E_surface(best, 0.0)))
print("水平年辐射 = %.1f ; 纬度37°年辐射 = %.1f" % (E_surface(0,0), E_surface(37,0)))
g = (E_surface(best,0)-E_surface(0,0))/E_surface(0,0)*100
print("相对水平增益: 最优 +%.1f%%" % g)
print("各表面年辐射:")
for name,(b,gm) in {"屋顶(最优)":(best,0),"屋顶(水平)":(0,0),"南墙":(90,0),"东墙":(90,-90),"西墙":(90,90),"北墙":(90,180)}.items():
    print("  %s = %.1f" % (name, E_surface(b,gm)))
# 方位敏感性
print("方位: 东-90=%.1f 正南=%.1f 西+90=%.1f" % (E_surface(best,-90), E_surface(best,0), E_surface(best,90)))
# 散射扰动稳健区间
opts = []
for p in [0.0,0.05,-0.05,0.10,-0.10]:
    Hdp = [max(0.0, Hd[m]*(1+p)) for m in range(12)]
    def Ep(b, Hdp=Hdp):
        t = 0.0
        for mo in range(12):
            Rb = rb_numeric(mo, b, 0.0)
            Hbt = Hb[mo]*Rb + Hdp[mo]*(1+math.cos(math.radians(b)))/2 + RHO*Hh[mo]*(1-math.cos(math.radians(b)))/2
            t += Hbt*days[mo]
        return t
    opts.append(max(range(0,61), key=lambda b: Ep(b)))
print("散射±扰动下最优倾角稳健区间: [%d°, %d°]" % (min(opts), max(opts)))