Розробка

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
ІСМ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2026
Тип роботи:
Лабораторна робота
Предмет:
Моделювання систем

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України  НТУУ «КПІ ім. І. Сікорського»    Кафедра цифрових технологій в енергетиці           Моделювання систем в енергетиці Лабораторна робота №2         Тема: Розробка імітаційної моделі діючої сонячної електростанції Завданням роботи є створення математичного апарату для визначення сумарної сонячної радіації як складової частини моделі сонячної електростанції. Результатом роботи є визначення сумарної сонячної радіації в кожен момент часу з подальшим використанням програми в моделі прогнозування експлуатаційних характеристик сонячної електростанції. Для виконання лабораторної роботи було обрано місто Київ. Створено програму для розрахунку інсоляції у певні дні року, внаслідок чого було побудовано графіки, для повного показання відмінностями між порами року. Графіки: / / / / Зібрані дані: / Висновок: Під час виконання лабораторної роботи було спроектовано програму, яка допомагає аналізувати інсоляцію у різні пори року, у певні дні, та зібрати дані, що у майбутньому допоможуть для аналізу. Лістинг програми: import numpy as np import pandas as pd import matplotlib.pyplot as plt SOLAR_CONSTANT = 1367 ALBEDO = 0.2 LATITUDE = 50.0 # Example latitude in degrees (e.g., Kyiv) LONGITUDE = 30.0 # Example longitude in degrees KT = 0.7 days_of_interest = { "December": 355, # December 21 "April": 110, # April 20 "July": 200, # July 19 "September": 265 # September 22 } time_of_day = np.linspace(0, 24, 100) # From 0:00 to 24:00 # Solar declination (δ) calculation def solar_declination(day_of_year): return 23.45 * np.sin(np.radians((360 / 365) * (day_of_year - 81))) # Hour angle (ω) calculation def hour_angle(hour): return 15 * (hour - 12) # Zenith angle (θz) calculation def zenith_angle(latitude, declination, hour_angle): return np.degrees(np.arccos( np.sin(np.radians(latitude)) * np.sin(np.radians(declination)) + np.cos(np.radians(latitude)) * np.cos(np.radians(declination)) * np.cos(np.radians(hour_angle)) )) # Solar radiation on a horizontal surface (Ih) def solar_radiation_horizontal(zenith_angle, kt): return kt * SOLAR_CONSTANT * np.maximum(np.cos(np.radians(zenith_angle)), 0) # Solar radiation on an inclined surface (Ii) def solar_radiation_inclined(horizontal_radiation, inclination_angle, albedo=ALBEDO): return horizontal_radiation * (np.cos(np.radians(inclination_angle)) + albedo * (1 - np.cos(np.radians(inclination_angle))) / 2) # Generate results for all months results = {} for month, day in days_of_interest.items(): declination = solar_declination(day) hourly_zenith = zenith_angle(LATITUDE, declination, hour_angle(time_of_day)) hourly_radiation = solar_radiation_horizontal(hourly_zenith, KT) results[month] = { "time_of_day": time_of_day, "zenith_angle": hourly_zenith, "horizontal_radiation": hourly_radiation, "inclined_radiation_30": solar_radiation_inclined(hourly_radiation, 30), "inclined_radiation_60": solar_radiation_inclined(hourly_radiation, 60), } # Convert to DataFrame for easier plotting dfs = {month: pd.DataFrame(data) for month, data in results.items()} # Plot graphs for month, df in dfs.items(): plt.figure(figsize=(10, 6)) plt.plot(df["time_of_day"], df["horizontal_radiation"], label="Horizontal Radiation") plt.plot(df["time_of_day"], df["inclined_radiation_30"], label="Inclined Radiation (30°)") plt.plot(df["time_of_day"], df["inclined_radiation_60"], label="Inclined Radiation (60°)") plt.title(f"Solar Radiation Throughout the Day ({month})") plt.xlabel("Time of Day (hours)") plt.ylabel("Solar Radiation (W/m²)") plt.legend() plt.grid() plt.show() dfs = {month: pd.DataFrame(data) for month, data in results.items()} dfs_combined = pd.concat(dfs, keys=dfs.keys()) dfs_combined.to_csv("solar_radiation_data.csv", index=True) data = pd.read_csv("solar_radiation_data.csv"); print(data.head(10))
Антиботан аватар за замовчуванням

12.01.2026 20:37

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!