Перейти к публикации

задание тепловыделения уравнением


Рекомендованные сообщения

Привет всем.

Интересует следующий случай. Возможно ли пользовательскими подпрограммами (CFX, FLUENT) описать следующий источник тепловыделения:

Q = RO*W*(dC/dt)

dC/dt = -C*Z*exp(-E/RT)

где:

С - концентрация вещества

RO - плотность

W - тепловой эффект от терморазложения Дж/кг

E - предэкспонента

Z - предэкспонента

R - ун.газовая постоянная

T - температура

t - время

Данный источник вводится для учета тепловыделения в веществе в поцессе нагрева. При этом вещество твердая субстанция. Продуктами его терморазложения можно пренебречь.

Ссылка на сообщение
Поделиться на других сайтах


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

Ссылка на сообщение
Поделиться на других сайтах
Игорь (Москва)

Добырй день!

Надо уточнить что представляет из себя С.

То есть хотите ли вы просто в задать нестационарный источник - или же у вас есть поле концентрации С(x,y,z,t) - которое откуда-то берется или которое еще надо находить. Но в принципе и в этом случае тоже можно.

Также небольшая сложность с учетом в самом уравнении зависимости источника от искомой же температуры - но и это можно.

Принцип - для Флюента пишется специальная программка (на чем-то С-подобном) - UDF (User Defined Function)- где это все и описывается.

Как в CFX - не знаю.

А вы с Флюентом работали вообще?

С уважением,

Игорь

Ссылка на сообщение
Поделиться на других сайтах

Может я что-то не понял, но выражение Q = RO*W*(-C*Z*exp(-E/RT)) в Ваттах в CFX можно задать не влезая в подпрограммы через expressions.

Ссылка на сообщение
Поделиться на других сайтах

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

Dick, Q = RO*W*(-C*Z*exp(-E/RT)) само по себе конечно можно засунуть через expressions, но как быть с С-концентрация, которая в текущий момент не известна, она должна вычисляться на каждом шаге и ее измение как раз и определяет тепловой эффект. Формулы в CFX я программировал, а вот диффуры. Пробовал функцией Q = RO*W*(-C*Z*exp(-E/RT)) задавать в расчет, предполагая что С - константа (разлагается очень мало и в первом приближении можно так предположить для грубых оценок), но получаются расхождения с экспериментом. FLUENT пока только начал осваивать. Для этой задачи уже пробовал методом конечных разностей писать програмку, но это одномерка. А дальше написание программы очень трудоемко, так как конструкция существенно трехмерная.

Ссылка на сообщение
Поделиться на других сайтах

Абсолютно ничто не мешает использовать в экспрешенах переменные, которые вычисляются в ходе расчета.

Ссылка на сообщение
Поделиться на других сайтах

Может быть я не корректно поставил вопрос. Но я хотел бы реализовать что-то типа этого:

<noindex>http://www.image123.net/j8bat8ouecr4pic.html</noindex>

Тоесть теплопроводность решается основной программой, а тепловой эффект расписывается (по данной ссылке конечными разностями) в подпрограмме.

Ссылка на сообщение
Поделиться на других сайтах
Игорь (Москва)

Попробуем так...

dC/dt = -C*Z*exp(-E/RT)

отсюда:

C(t) = Const*exp(-Z*exp(-E/RT)*t)

то есть функция для концентрации есть - и туда входит температура.

Во Флюенте используем макрос DEFINE_ADJUST - там на каждом шаге вычисляем нашу концентрацию, и дальше как хотим используем её в источнике -макрос DEFINE_SOURCE.

Такой вариант подходит?

С уважением,

Игорь

Ссылка на сообщение
Поделиться на других сайтах

Игорь (Москва), спасибо. Попробую провести тестовые расчеты. Кстати, в FLUENT можно в подпрограммах создавать массивы, считывать значения переменных и записывать их в массивы? Регулировать шаг по времени по своим критериям? И еще, как выводить температурно временные графики для конкретного узла (центроида)? Почитал юзергиды. В основном описано как выводить картинки в разных вариантах.

Ссылка на сообщение
Поделиться на других сайтах
Игорь (Москва)

Добрый вечер!

"Кстати, в FLUENT можно в подпрограммах создавать массивы, считывать значения переменных и записывать их в массивы? "

Да.

Массив создается почти по синтаксису С.

Например:

real a[2][2];

массив 2x2 ячейки.

Считывается и присваивается все как обычно.

Регулировать шаг - когда указываете нестационарный солвер - то в меню Iterate - будет вариант с переменным шагом. Подробонее - не знаю.

"как выводить температурно временные графики для конкретного узла (центроида)?

В меню Sove-Monitors-Surface или Volume - поставьте галочку Write - тогда можно будет записывать в файл то, что хотите - там вариантов много.

Игорь

Ссылка на сообщение
Поделиться на других сайтах

Игорь (Москва), вплотную к задаче приступлю на следующей недели. Сейчас срочно доделываю 3-х мерку в ANSYS.

Ссылка на сообщение
Поделиться на других сайтах
DimaG: вы случайно не тепловой взрыв собираетесь моделировать? Изменено пользователем Yuri69
Ссылка на сообщение
Поделиться на других сайтах

Yuri69, прежде всего это для моделирование тепловых эффектов от химических реакций в твердых веществах. Но иногда, действительно, возникают задачи моделирования возможности возгорания некоторых веществ. Тепловой взрыв это еще более сложное явление. Вещество может и посто сгореть без взрыва. Иногда бывает вещество разлагается даже не загоревшись. Короче говоря вариантов много. Здесь Аррениусом не отделаешься.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...