Как рассчитать солнечную радиацию на вертикальных (домовых) стенах? - PullRequest
0 голосов
/ 24 июня 2019

Я хочу рассчитать солнечное излучение на стенах, которые ориентированы на север, юг и т. Д. У меня есть солнечная радиация для местоположения, и я попробовал следующее уравнение:

S_module = S_incident * (math.cos(alpha)*math.sin(beta)*math.cos(psi-theta) + math.sin(alpha)*math.cos(beta))

с

alpha = 24.86 #sun elevation angle 
theta = 81.58 #sun azimuth angle
beta = 90 #wall tilt angle (vertical module beta=90)
psi = 135 #surface orientation: psi=0 == facing north, psi=180 == facing south; is the azimuth angle that the module faces 
S_incident = 663 [W]

это для 2019-6-21 часового часового пояса 6 часов = utc

Я попробовал pysolar пакета python, и приведенное выше уравнение было найдено здесь: https://www.pveducation.org/pvcdrom/properties-of-sunlight/arbitrary-orientation-and-tilt

Моя проблема в том, что я не получил правильные результаты, например, для вышеуказанных свойств результат равен -495 [W]. Это не может быть правдой, потому что утром должно быть хотя бы небольшое положительное значение для излучения.

Спасибо за любые подсказки!

1 Ответ

1 голос
/ 24 июня 2019

Прочитайте документы : функции триггера работают в радианах;ты кормил это градусами.Ваша 90-лучевая стена не соответствует действительности.: -)

import math

alpha = 24.86 #sun elevation angle 
theta = 81.58 #sun azimuth angle
beta = 90 #wall tilt angle (vertical module beta=90)
psi = 135 #surface orientation: psi=0 == facing north, psi=180 == facing south; is the azimuth angle that the module faces 
S_incident = 663 # Watts

S_module = S_incident * (math.cos(alpha)*math.sin(beta)*math.cos(psi-theta) +
                         math.sin(alpha)*math.cos(beta))

print(math.cos(alpha), math.sin(alpha))
print(math.cos(beta), math.sin(beta))

Вывод:

0.9630361043608977 -0.26937234768510715
-0.4480736161291701 0.8939966636005579

Это явно не те значения, которые вы ожидали.

Преобразовать с коэффициентом math.pi / 180.

...