Годовая симуляция: 8760 часов расчета вместо одной цифры

Как KIB4D перешел от статического расчета теплопотерь к почасовой симуляции отопления с учетом погоды, тепловой инерции и работы системы отопления.

Годовая симуляция: 8760 часов расчета вместо одной цифры

Давно хотел дойти до этого момента.

До сих пор KIB4D в основном работал как набор отдельных расчетов: задал конструкцию, получил теплопотери, посмотрел результат. Это удобно, но у такого подхода есть очевидное ограничение. Это статика, расчет самого холодного периода, который берется из СП.

Например, мы можем посчитать теплопотери при температуре на улице −25 °C и получить 6 кВт.

Но что будет с этим домом через час?

А через сутки?

А в январе, когда температура несколько раз скачет от −5 до −25? И дело ведь не только в температуре. Погода вообще постоянно меняется: влажность, ветер, солнце, снег, дождь.

И сколько энергии вообще потребуется за весь отопительный сезон?

Вот здесь и начинается уже совсем другая задача.

8760 часов (365 × 24)

Я решил сделать годовую симуляцию отопления.

Вместо одного расчета движок получает погодные данные и последовательно проходит весь год, час за часом.

8760 расчетных шагов.

На каждом шаге меняется погода, определяется текущая тепловая нагрузка здания, учитывается накопленное тепло и рассчитывается работа системы отопления.

Причем погода берется не из какого-то усредненного набора данных. Симуляция получает координаты дома и по ним подтягивает погодные данные для конкретного региона. Поэтому неважно, где находится дом: можно выбрать свое место и посмотреть, как расчет ведет себя именно с его погодой. В бета-версии пока использую координаты городов (из шапки сайта), но в планах — добавить возможность указывать любую точку на карте.

На выходе получается уже не одна цифра, а целая картина года.

Можно посмотреть почасовые теплопотери, температуру внутри дома, работу котла, потребление энергии и стоимость отопления.

Это та информация, которую не дает обычная статика.

Самое важное — тепловая инерция

Главная причина, по которой мне вообще хотелось сделать такую штуку, — тепловая инерция.

Дом не состоит только из воздуха.

Стены, перекрытия, стяжка и другие конструкции имеют массу и теплоемкость. Они могут накопить энергию, а потом постепенно отдавать ее обратно.

Вы задумывались, в чем разница между каменным домом и легким каркасником?

Наверное, мы их ощущаем по-разному, но почему? В чем же отличие?

Поэтому если котел выключился, дом не должен мгновенно перейти из +22 °C в состояние «на улице холодно».

Он какое-то время продолжает жить за счет накопленного тепла.

И наоборот: если резко включить мощный котел, вся эта энергия не превращается мгновенно в изменение температуры воздуха.

Мне было важно, чтобы расчет учитывал это поведение, а не просто складывал статические теплопотери за каждый час.

Отдельное расчетное ядро

В процессе пришлось немного пересобрать сам проект.

Расчетные функции я вынес отдельно от интерфейса.

Например, тот же расчет теплопередачи теперь существует как независимая функция. Я даже встроил такие функции прямо в статьи справочника, чтобы любой желающий мог ввести свои значения и проверить результат.

Это оказалось полезно не только для пользователей.

Когда начинаешь собирать из таких небольших независимых функций более сложный расчет, гораздо проще понимать, откуда берется каждая цифра.

В итоге годовая симуляция стала не каким-то огромным монолитным расчетом, а последовательностью более простых физических операций.

И теперь у меня есть нормальное расчетное ядро, поверх которого можно планомерно наращивать дополнительный функционал, не боясь запутаться в расчетах или сломать ядро.

Что показывает симуляция

Сейчас в бета-версии инструмента можно задать основные параметры дома, выбрать регион, указать мощность котла, тарифы и теплоаккумулятор и прогнать весь год.

Это пока скорее ознакомительная модель, нежели что-то стабильное. Но уже она показывает интересные моменты.

На графике можно увидеть сразу несколько процессов:

  • теплопотери здания;
  • работу котла;
  • температуру внутри дома;
  • наружную температуру;
  • почасовое изменение нагрузки.

А ниже уже более привычные для пользователя цифры:

сколько энергии потребовалось за год, сколько пришлось на ночной тариф и сколько это стоило.

И вот здесь начинается самое интересное.

Например, можно увеличить мощность котла и посмотреть, насколько этого хватает для работы преимущественно ночью.

Можно добавить теплоаккумулятор и посмотреть, как меняется поведение системы.

Можно поменять тарифы и сравнить стоимость разных режимов отопления.

То есть вместо вопроса «какой котел мне поставить?» появляется возможность задать более корректный инженерный вопрос:

Как будет вести себя вся система отопления моего дома в течение года?

Пока это только бета

При этом я прекрасно понимаю, что до законченного инструмента здесь еще довольно далеко.

Сейчас самое главное уже работает — есть само ядро годового расчета.

Дальше предстоит довольно большая работа вокруг него.

Нужно проверить модель на реальных домах, прогнать несколько своих объектов и сравнить результаты с тем, что происходит в реальности.

Отдельная большая задача — аналитика.

Потому что график на 8760 точек — это здорово, но без внятной аналитики это просто каша из цифр. График ради графика.

Мне нужно понимать:

сколько энергии потребуется, где максимальная нагрузка, насколько хватает мощности котла, сколько тепла теряется, что дает теплоаккумулятор и сколько это все стоит.

Поэтому следующий этап для меня — научить KIB4D не только считать эти цифры, но и нормально их объяснять.

И вот здесь проект выходит на новый вектор развития

Брюки превращаются, брюки превращаются

Наверное, это самое интересное ощущение от всей этой работы.

Следующий логичный шаг — добавлять в эту модель новые физические процессы.

Солнце.

Вентиляцию.

Разные режимы отопления.

Автоматику.

Более сложную модель теплоаккумулятора.

Параллельно поверх накопленных расчетов делать нормальную аналитику и отчеты.

Но это уже следующие этапы.

Пока просто приятно нажать на кнопку «Запустить годовую симуляцию» и приготовиться увидеть, как «брюки превращаются, превращаются...» — когда симуляция не запускается просто потому, что вы забыли создать конструкцию, добавить ее в теплопотери и выбрать город 😅.