LINUX.ORG.RU

Алгоритм передачи тепловой энергии

 , ,


0

1

Надо запилить алгоритм, который позволяет визуализировать передачу энергии в следующей системе отопления: электрический нагревательный элемент с регулировкой мощности, который греет водяной контур. Надо как-то сделать так, чтобы было видно во времени, как с увеличением мощности (соответственно потребляемой энегии из сети) будет циркулировать тепловая энергия по линии нагреватель --> вода --> помещение --> стены помещения --> улица

Я так понимаю, что нужно знать теполопроводность и объем каждого из элементов. Это я возможно найду сам. Алгоритм я, наверное, тоже сам запилю, но подсказки приветствуются. Основная проблема в том, что надо знать формулы термодинамики, чтобы понятно было как выразить скорость движения (перераспределения) тепла в различных средах (с различной теплопроводностью). Вот это основной вопрос. Какими формулами воспользоваться? Чем проще — тем лучше, большая точность не нужна. Спасибо.

Ответ на: комментарий от buddhist

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

theKingOfJava
() автор топика
Ответ на: комментарий от buddhist

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

theKingOfJava
() автор топика
Ответ на: комментарий от buddhist

Я вообще не понимаю, честно говоря, зачем там столько параши понаписано. Если мы знаем скорости распространения тепла в среде (например, за какое время нагреется кубический метр воздуха до t 40 грдусов при условии площади обогрева 10 см, с учетом такой-то утечки тепла (охлаждении)) — этого должно быть достаточно. Где взять (или расчитать) эти данные?

theKingOfJava
() автор топика
Ответ на: комментарий от theKingOfJava

Тебе нужно будет экспериментально определить удельные коэффициенты теплопереноса для контактов: нагреватель/вода, вода/помещение, помещение/стены, стены/улица. А дальше применяешь линейный закон теплопереноса: q = k(T2-T1)

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

При этом улица у тебя — резервуар, она может поглощать тепло без повышения собственной температуры

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

она может поглощать тепло без повышения собственной температуры

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

theKingOfJava
() автор топика
Ответ на: комментарий от theKingOfJava

Всё как обычно. Фактически, всё легко сводится к системе диффуров, решаемой, например,численно. Каждую отдельную среду проще выразить в виде чего-то однородного. Естественно, необходимо знать такие параметры сред как теплоёмкость (или удельная теплоёмкость), теплопроводность. Так как в простейшем виде поток энергии dQ/dt пропорционален разности температур, то нужно будет знать и их. Термодатчики будут присутствовать?

qub
()
Ответ на: комментарий от qub

Про диффуры я погорячился. В упрощённом варианте можно без них.

qub
()
Ответ на: комментарий от theKingOfJava

Для начала составь термодинамический баланс. Все генерируемое тепло у тебя будет уходить либо на нагрев соответствующей среды, либо на теплоперенос в следующую, более холодную, среду. Первое считается как q = cm(T'-T), где с — теплоемкость, m — масса, T — начальная температура, T' — конечная температура. Потери будут считаться как q = kS(T2-T1), где T2 и T1 — температуры контактирующих сред, S — площадь контакта. Изначально, как я понимаю, тебе известны температуры источника и окружающего воздуха.

buddhist ★★★★★
()
Последнее исправление: buddhist (всего исправлений: 2)
Ответ на: комментарий от theKingOfJava

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

buddhist ★★★★★
()
Последнее исправление: buddhist (всего исправлений: 1)
Ответ на: комментарий от buddhist

Все генерируемое тепло у тебя будет уходить либо на нагрев соответствующей среды, либо на теплоперенос в следующую среду.

Упс. А почему Вы считаете, что теплоперенос расходует энергию? Все тепло уходит на нагрев, по-моему.

theKingOfJava
() автор топика
Ответ на: комментарий от buddhist

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

theKingOfJava
() автор топика
Ответ на: комментарий от theKingOfJava

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

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

И все как бы забыли, что конвекционная теплопередача выглядит несколько сложнее.
Может быть, проще посмотреть что-нибудь наподобие Теплотехника или ещё какого учебника для ВТУЗов или техникумов?

ABW ★★★★★
()
Ответ на: комментарий от ABW

ТС же хочет самый простой и приближенный вариант, поэтому конвекции и излучения в его мире не существует

buddhist ★★★★★
()
Последнее исправление: buddhist (всего исправлений: 1)
Ответ на: комментарий от theKingOfJava

Тебе вообще интересна динамика (как устанавливаются и изменяются температуры) или поведение системы в равновесии (когда все температуры можно считать постоянными)?

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

Потому что в принципе можно от диффуров перейти к итеративным уравнениям.

Допустим выделил твой нагреватель dQ теплоты. Ты рассчитываешь сколько теплоты ушло в каждую среду, предполагая, что температуры постоянны, а на следующем шаге уже исходя из полученных значений q в каждой среде пересчитываешь температуры. Соответственно для нового dQ берешь эти новые значения температуры. Величину dQ подбираешь настолько малой, насколько удобно будет это моделировать.

buddhist ★★★★★
()
Ответ на: комментарий от ABW

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

В упрощённой модели можно греть батареи до 600 С и конвекцию не учитывать :)

mv ★★★★★
()

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.