/
aiv123
/
ThermoPro
Обзор
Документация
Войти
/
aiv123
/
ThermoPro
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
ConsoleTermoPro_Python/ConsoleTermoPro.py
158 строк
5 KB
Игорь Ананченко
Простая программа на Python "Калькулятор эффективности сжигания топлива"
26 фев 2026, 15:19
Верифицирован
26 фев 2026, 15:19
9978127
Код
Авторство
О чём код?
import math # Ввод FuelType = None BoilerType = None AnalysisType = None RO2max = None O2 = None COppm = None Tair = None Tgas = None NominalLoad = None ActualLoad = None qSN = None UseCustomRO2max = False # Промежуточные RO2 = None N2 = None Alpha = None A1 = None B = None q2 = None q3 = None h = None EfficiencyBurning = None q5nom = None q5 = None EfficiencyGross = None EfficiencyNet = None try: print("Калькулятор эффективности сжигания топлива") print("-----------------------------------------") # Тип топлива print("Выберите вид топлива:") print("0 - Природный газ") print("1 - Мазут") print("2 - Уголь") FuelType = int(input()) if FuelType == 0: RO2max = 11.8 elif FuelType == 1: RO2max = 16.0 elif FuelType == 2: RO2max = 18.7 else: raise Exception("Неверный тип топлива") # RO2max вручную print("Использовать собственное значение RO2max? (1 - да, 0 - нет)") FuelType = int(input()) UseCustomRO2max = FuelType == 1 if UseCustomRO2max: print("Введите RO2max (%): ") RO2max = float(input()) # Ввод газового анализа print("Введите O2 (%): ") O2 = float(input()) print("Введите CO (ppm): ") COppm = float(input()) # Расчёт состава RO2 = (RO2max * (21 - O2 + 0.4 * COppm / 10000)) / 21 - COppm / 10000 N2 = 100 - O2 - RO2 - COppm / 10000 Alpha = N2 / (N2 - 3.76 * (O2 - 0.5 * COppm / 10000)) print(f"RO2 = {RO2:.4f} %") print(f"N2 = {N2:.4f} %") print(f"Коэф. избытка воздуха α = {Alpha:.4f}") # Температуры print("Температура дутьевого воздуха (°C): ") Tair = float(input()) print("Температура уходящих газов (°C): ") Tgas = float(input()) # Константы топлива if FuelType == 0: A1 = 0.37 B = 0.009 elif FuelType == 1: A1 = 0.52 B = 0.007 elif FuelType == 2: A1 = 0.59 B = 0.009 # Потери q2 = (A1 / RO2 + B) * (Tgas - Tair) h = RO2max / (RO2 + COppm / 10000) q3 = h * (3 * COppm / 10000) EfficiencyBurning = 100 - (q2 + q3) print(f"Коэф. разбавления h = {h:.4f}") print(f"q2 = {q2:.4f} %") print(f"q3 = {q3:.4f} %") print(f"КПД горения = {EfficiencyBurning:.4f} %") # Тип агрегата print("Тип агрегата:") print("0 - Водогрейный") print("1 - Паровой") BoilerType = int(input()) print("Анализ выполнен за:") print("0 - Котёл") print("1 - Котлоагрегат") AnalysisType = int(input()) print("Номинальная нагрузка: ") NominalLoad = float(input()) print("Фактическая нагрузка: ") ActualLoad = float(input()) if BoilerType == 0: if AnalysisType == 0: q5nom = 4.0973 * pow(NominalLoad, -0.803) else: q5nom = 4.477 * pow(NominalLoad, -0.532) else: if AnalysisType == 0: q5nom = 6.1751 * pow(NominalLoad, -0.803) else: q5nom = 5.8745 * pow(NominalLoad, -0.532) q5 = q5nom * (NominalLoad / ActualLoad) EfficiencyGross = EfficiencyBurning - q5 # Собственные нужды print("Потери на собственные нужды (%): ") qSN = float(input()) EfficiencyNet = EfficiencyGross - qSN # Вывод print() print("--- РЕЗУЛЬТАТЫ РАСЧЁТА ---") print(f"RO2 = {RO2:.4f} %") print(f"N2 = {N2:.4f} %") print(f"Коэф. избытка воздуха α = {Alpha:.4f}") print(f"Коэф. разбавления h = {h:.4f}") print(f"q2 = {q2:.4f} %") print(f"q3 = {q3:.4f} %") print(f"КПД горения = {EfficiencyBurning:.4f} %") print(f"q5ном = {q5nom:.4f} %") print(f"q5 = {q5:.4f} %") print(f"КПД брутто = {EfficiencyGross:.4f} %") print(f"КПД нетто = {EfficiencyNet:.4f} %") except Exception as e: print(f"Ошибка: {e}")