DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Розробка

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

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

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

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

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

Міністерство освіти і науки України  НТУУ «КПІ ім. І. Сікорського»    Кафедра цифрових технологій в енергетиці           Моделювання систем в енергетиці Лабораторна робота №3         Тема: Розробка моделі розрахунку енергетичних потреб на опалення/охолодження будівель. Вихідні дані для розрахунку: 1. Кількість огороджуючих зовнішніх поверхонь (стін); 2. Для кожної поверхні: 2.1. Ширина, висота; 2.2. Кількість шарів матеріалів, з якої складається поверхня, для кожного шару: 2.2.1. Назва матеріалу (вибір з таблиці), яка використовується для визначення теплопровідності; 2.2.2. Товщина шару матеріалу; 2.2.3. Для зовнішнього шару - коефіцієнти поглинання і випромінювання 3. Кількість вікон 3.1. Для кожного вікна: 3.1.1. розміри, 3.1.2. кількість пакетів, 3.1.3. тип скла; 3.1.4. напрім по сторонам світу 4. Площа помешкання 5. Бажана температура в помешканні в опалювальний сезон та в літній сезон (з таблиці 7 або власний варіант). 6. Регіон/місто для якого проводиться розрахунок, які є основою для визначення: 6.1. Кількості годин по місяцях 6.2. Середніх температур по місяцях 6.3. Середньомісячних доз сумарної сонячної радіації. 7. Варіанти змін для порівняння: 7.1. Встановлення теплоізоляції: вихідні данні – товщина шару і тип теплоізоляції 7.2. Заміна вікон – тип встановлюваних вікон, тип оскління, тип заповнюючого газу. 7.3. Встановлення рекуператора. Вказати тип і задати характеристики. 7.4. Зміна температури в приміщенні. Визначити результуючий вплив. Результат: В звіті відобразити надати: - лістінг програми; - витрати енергії на забезпечення опалення/охолодження приміщення по місяцях; - зміна витрати енергії після встановлення теплоізоляції / заміни вікон по місяцях; Результати виконання програми: / / / Лістинг програми: import math def get_wall_data(): walls = [] num_walls = int(input("Enter the number of external walls: ")) for i in range(num_walls): print(f"Wall {i+1}:") width = float(input(" Width (m): ")) height = float(input(" Height (m): ")) layers = [] num_layers = int(input(" Number of layers: ")) for j in range(num_layers): print(f" Layer {j+1}:") material = input(" Material: ") thickness = float(input(" Thickness (m): ")) conductivity = float(input(" Thermal conductivity (W/mK): ")) layers.append({"material": material, "thickness": thickness, "conductivity": conductivity}) absorption = float(input(" Absorption coefficient (for outer layer): ")) emissivity = float(input(" Emissivity coefficient (for outer layer): ")) walls.append({"width": width, "height": height, "layers": layers, "absorption": absorption, "emissivity": emissivity}) return walls def get_window_data(): windows = [] num_windows = int(input("Enter the number of windows: ")) for i in range(num_windows): print(f"Window {i+1}:") width = float(input(" Width (m): ")) height = float(input(" Height (m): ")) glass_type = input(" Glass type: ") num_panes = int(input(" Number of panes: ")) orientation = input(" Orientation (N/S/E/W): ") windows.append({"width": width, "height": height, "glass_type": glass_type, "num_panes": num_panes, "orientation": orientation}) return windows def get_building_data(): area = float(input("Enter the area of the building (m^2): ")) heating_temp = float(input("Enter desired temperature during heating season (°C): ")) cooling_temp = float(input("Enter desired temperature during cooling season (°C): ")) region = input("Enter the region/city for calculation: ") return {"area": area, "heating_temp": heating_temp, "cooling_temp": cooling_temp, "region": region} def calculate_wall_heat_transfer(wall, external_temp, internal_temp): area = wall['width'] * wall['height'] r_total = 0 for layer in wall['layers']: r_total += layer['thickness'] / layer['conductivity'] u_value = 1 / r_total heat_transfer = u_value * area * (internal_temp - external_temp) return heat_transfer def calculate_window_heat_transfer(window, external_temp, internal_temp): area = window['width'] * window['height'] # U-value based on number of panes (example values) u_value = 5.7 if window['num_panes'] == 1 else (2.8 if window['num_panes'] == 2 else 1.6) heat_transfer = u_value * area * (internal_temp - external_temp) return heat_transfer def get_monthly_external_temp(region): # Example temperatures for a region (°C) region_temps = { "Kyiv": [-5, -3, 2, 10, 16, 20, 22, 21, 15, 8, 2, -2], "Lviv": [-3, -2, 3, 12, 18, 21, 23, 22, 16, 10, 4, -1], } return region_temps.get(region, [0]*12) # Default to 0°C if region is unknown def main(): print("Energy Calculation Program") walls = get_wall_data() windows = get_window_data() building = get_building_data() external_temps = get_monthly_external_temp(building['region']) heating_temp = building['heating_temp'] cooling_temp = building['cooling_temp'] monthly_heat_loss = [] monthly_cooling_loss = [] for month, external_temp in enumerate(external_temps): # Heating season calculations total_wall_transfer_heating = sum(calculate_wall_heat_transfer(wall, external_temp, heating_temp) for wall in walls) total_window_transfer_heating = sum(calculate_window_heat_transfer(window, external_temp, heating_temp) for window in windows) total_heat_transfer_heating = total_wall_transfer_heating + total_window_transfer_heating monthly_heat_loss.append(total_heat_transfer_heating) # Cooling season calculations total_wall_transfer_cooling = sum(calculate_wall_heat_transfer(wall, external_temp, cooling_temp) for wall in walls) total_window_transfer_cooling = sum(calculate_window_heat_transfer(window, external_temp, cooling_temp) for window in windows) total_heat_transfer_cooling = total_wall_transfer_cooling + total_window_transfer_cooling monthly_cooling_loss.append(total_heat_transfer_cooling) print("\n--- Heating Results ---") for month, loss in enumerate(monthly_heat_loss, start=1): print(f"Month {month}: Heat loss = {loss:.2f} W") print("\n--- Cooling Results ---") for month, loss in enumerate(monthly_cooling_loss, start=1): print(f"Month {month}: Cooling load = {loss:.2f} W") if __name__ == "__main__": main()
Антиботан аватар за замовчуванням

08.01.2026 02:49

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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