Розробка

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

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

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

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

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

Міністерство освіти і науки України  НТУУ «КПІ ім. І. Сікорського»    Кафедра цифрових технологій в енергетиці           Моделювання систем в енергетиці Лабораторна робота №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:01-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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