孙涵 3210101636
浙江大学能源工程学院 杭州
Tel:+86 13253757863 Email:838681349@qq.com
摘要 通过光伏系统、风力发电系统和氢燃料电池系统的结合,首先根据假设计算出发电量最大的光伏板和风力发电机的面积占比,然后直接读取excel中的天气数据和负载数据进行计算:在电力充足的情况下将多余的电量用于电解水制氢,在电力不足的情况下使用氢燃料电池发出的电力和电网输送的电力以满足生产生活需要。
一.模型要求
二.数据资源
三.模型设计
图3-1 模型图
能量供应
#循环计算最大的发电量(最合适的光伏发电面积和风力发电的面积)
vwind0=3.85
Ta0=10.1
Isolar0=408.21766114162
Wmax=0 #发电总量循环的初始值
H1=4 #风力发电机的高度
R=2 #叶片的半径
S=3.1416*R*R #叶片扫过的面积
Pp=1.25 #空气的密度(kg/m)
cpwind=0.55 #风力发电机的风能利用系数
s1=4 #每个风力发电机的占地面积
s2=0.5 #每个风力发电机机柱所占用的面积(不能被光伏板所用的面积)
maxwind=35 #最多装备35个封风力发电机
maxwinds=17.5 #风力发电机机柱最多占用的面积(光伏板最小的面积)
A1=140 #屋顶面积
a=122.5 #光伏板的面积
money=0
nref=0.147
p=-0.0045
Tref=25
ndc=0.97 #逆变器的效率
Mbattery=0 #氢燃料电池初始时刻的氢气含量kg
WH2=48.2 #电解水值得1kg氢气所消耗的电量
x=0
while a<=140:
b=A1-a #风力发电装置的面积
#光伏发电的计算
if vwind0>5:
hwind0=6.15*(vwind0)**0.8
if vwind0<=5:
hwind0=2.8+3*vwind0
nel=(hwind0/(hwind0+nref*p*Isolar0))*nref*(1+(Isolar0*p/hwind0)+p*Ta0-(p*Tref))
wel0=Isolar0*a*nel*1000 #光伏板一个小时的发电量J
E0=wel0*ndc #经过逆变器之后的电量
w00=E0/3600000 #光伏发电生产的电量kwh
#风力发电的计算
sumwind=b/0.5 #风力发电机的数量
Wwind0=0.5*S*Pp*cpwind*(vwind0**3)*sumwind/1000 #风力发电机组的总电量kwh
sumW=Wwind0+w00 #产生的总电量
if sumW>Wmax:
Wmax=sumW #循环求取最大的发电量
a+=0.5
from openpyxl import load_workbook
# 打开工作薄
wb = load_workbook("C:\\Users\\83868\\Desktop\\能源与环境系统概论大作业\\气象数据.xlsx")
# 获取当前所有的sheet
sheets = wb.worksheets
# 读取第一个sheet表格
sheet1 = sheets[0]
# 获取行数
max_row_num = sheet1.max_row
for i in range(1, max_row_num + 1):
nums = []
for row in sheet1[i]:
nums.append(row.value)
#开始对数据进行处理
# 进行计算
count=float(nums[2])
Isolar=float(nums[3]) #光照强度
Ta=float(nums[4]) #环境温度
vwind=float(nums[6]) #风速
#光伏和风力发电计算
if vwind>5.0:
hwind=6.15*(vwind)**0.8
if vwind<=5.0:
hwind=2.8+3*vwind
nel=(hwind/(hwind+nref*p*Isolar))*nref*(1+(Isolar*p/hwind)+p*Ta-(p*Tref))
a=a-0.5
b=A1-a #风力发电装置的面积
wel=Isolar*a*nel*1000 #光伏板一个小时的发电量J
E=wel*ndc #经过逆变器之后的电量
w0=E/3600000 #光伏发电生产的电量kwh
#风力发电的计算
sumwind=b/0.5 #风力发电机的数量
if vwind<1.5:
Wwind=0 #当风速小于1.5m/s时风力发电机停止工作
if vwind>=10:
Wwind=0 #当风速大于10m/s时风力发电机停止工作
else:
Wwind=0.5*S*Pp*cpwind*(vwind**3)*sumwind/1000 #风力发电机组工作时的总电量kwh
sumW=Wwind+w0 #产生的总电量
能量需求
#计算净获得或净支出的电量
nabsorbed=0.8 #电热水器的效率
Tw=float(nums[4]) #自来水的进水温度
Tf=40 #电热水器一直保持40℃
A=6 #水箱为长宽高均为1m的正方体
k=1/hwind+1/0.025
Hloss=1/k #漏热系数
cp=4.18 #自来水的cp值
m=float(nums[1]) #每个小时需要补充自来水的量(密度变化不大)
Q=Hloss*A*(Tf-Ta)*3600+cp*m*(Tf-Tw) #加热量与漏热量自来水获得的热量相等
w=Q/(nabsorbed*3600000) #电热水器需要的电量kwh
s=Wmax-w-count/1000 #净发电量
图3-2 能源供应需求对比
氢燃料电池设计
#氢燃料电池的计算
Mbatterymax=13 #氢燃料电池能储存的最大质量kg
Mbatteryc=9 #氢燃料电池内氢气的质量大于9kg时停止制氢
Qbattery=Mbattery*20.15 #1千克的氢气可以获得20.15度的电
if s<0:
if Qbattery>abs(s):
Mbattery=Mbattery+s/20.15 #放电后电池内氢气的含量
if Qbattery<abs(s):
money=(s+Qbattery)*3 #放电后还需要买的电
Mbattery=0
if s>=0:
if Mbattery>=9:
money=s*1.5 #多余的电力以1.5元每度电卖出
if Mbattery<9:
Mbattery+=s/48.2 #产氢
moneys.append(money)
x=x+1
收益计算
moneyweek=[] #每周的钱
print(sum(moneys))
for c in range(0, len(moneys), 168):
moneyweek.append(moneys[c:c+168])
import matplotlib.pyplot as plt
time=[]
moneyweeks=[]
for j in range(len(moneyweek)):
time.append(j)
moneyweeks.append(moneys[j])
plt.plot(time, moneyweeks)
plt.show()
图3-3 每周收益曲线
四.参考文献
【1】 Wang, et al., Technoeconomic assessments of hybrid photovoltaic-thermal vs. conventional solar-energy systems: Case studies in heat and power provision to sports centres, Applied Energy 254, 113657, 2019.
【2】 Wang, et al., Spectral-splitting hybrid PV-thermal (PVT) systems for combined heat and power provision to dairy farms, Renewable Energy 159, 1047-1065, 2020.
【3】 F. Benavente et al., Photovoltaic/battery system sizing for rural electrification in Bolivia: Considering the suppressed demand effect, Applied Energy 235 (2019) 519 528