Розробка

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

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

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

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

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

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

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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