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

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


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

Привет всем.

Интересует следующий случай. Возможно ли пользовательскими подпрограммами (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 пользователей

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




  • Сообщения

    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
    • gudstartup
      все что я написал в цитате выше по теме полная фигня в связи с вновь приобретённой информацией. можно менять любые компоненты в пределах серии чпу если только не меняете по или записываете oprminf но  всегда могут быть нюансы  @mrVladimir все должно получиться извините за то что выдал непроверенную информацию за мнение типа знающего эксперта оказывается я 
    • malvi.dp
      Какое у детали имя файла и как формируете Обозначение и Наименование? Вы каждое исполнение сохраняете в новый чертеж? Или это групповой чертеж? Если групповой-то имя конфигурации в нем быть не должно. Стоит ли галочка "Исполнение" "Из конфигурации"? На сколько мне не изменяет память макрос сохраняет файл чертежа с тем же именем что и файл модели в папке модели. В спецификации все правильно отображается, даже если знаков исполнений больше трех  
    • gudstartup
      и главная деталь чтобы на системе была remote option system а именно файл oprminf.000 c сертификатами и были ли проблемы с ними после замены компонентов.
    • boomeeeer
      с него родимого
    • Grundick
    • eljer0n
      Большое спасибо! Посмотрю. Но, судя по всему, даже если удастся заставить его сохранять чертеж с трехзначным исполнением, видимо, в той же спецификации правильного отображения не добиться. У Леона с товарищем был об этом разговор, что солид вроде как не воспринимает исполнения дальше двузначного. Хотя, может и я неправильно понял. Вернусь к этому вопросу чуть позже. Еще раз спасибо за совет.
×
×
  • Создать...