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

Udf для НЕОДНОРОДНОГО тепловыделения во Fluent. Как? :)


Игорь (Москва)

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

Добрый день!

Пытаюсь освоить продукт, некоторые успехи есть :) Теплопроводность и какая-то конвекция как-то считается. :)))

Сейчас хочу задать объемное тепловыделение - среда проводящая и там идет джоулево тепловыделение - но стандартное окошко позволяет задать только константу, а мне нужно, чтобы Qw зависело от радиуса - Qw=Const/R^4

Нашел книжку по UDF - вроде надо использовать DEFINE_SOURCE, но там только один пример с DEFINE_SOURCE - и задается x-momentum, а не тепловыделение.

Вопрос к знающим - как задать тепловыделение зависящее от координаты?

С уважением,

Игорь

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


Здравствуйте!

Насколько я помню, все делается абсолютно аналогично. Отличие только в том, что функция подключается как энергетический источник, а не как моментный. Вы можете потренироваться прямо на этой UDF из примера. Просто после подключения UDF (Define->User defined->functions->interpreted, выбираем файл с программой (копируем из примера), запускаем интерпретатор) идем в Define-> boundary conditions, выбираем флюидную или солидную зону, куда хотим добавить, жмем Set. В открывшемся окне включаем галочку Source terms, переходим на вкладку Source terms, ищем поле с именем Energy (оно в самом низу), жмем Edit, вводим количество источнтков - 1 (только вводите, щелкая стрелочки, а не с клавиатуры), внизу щелкаем стрелочку в правом поле - открывается список: none, constant т.д., в этом списке, если интерпретация программы прошла без ошибок появится имя Вашей функции UDF, например xmom_source - из файла примера - задаем ее. Вот и все - теперь моментные источники из примера будут интерпретироваться как энергетические (Вт/м3). А имя (xmom_source) можно задавать в тексте программы любое - на Ваше усмотрение. (приведенное выше - для версии 6.3, для более ранних могут быть незначительные отличия в интерфейсе)

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

Ага! Спасибо огромное! Сегодня-завтра попробую.

Кстати - насчет источника момента.

У меня в задаче еще есть объемная электрическая сила - зависящая от координат. По моим ощущением - это и есть источник момента - то есть импульса. Если это так - то как UDF связать импульс и силу?

Дело в том, я плохо представляю в какой именно форме решается уравнени Навье-Стокса во Fluent - соответственно неясно, что должно быть задано в источниковом члене - размерное, безразмерное, на плотность умножать или не надо, и т.п...

С уважением,

Игорь

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

Так и есть: X Momentum, Y Momentum, и Z Momentum - компоненты силы, действующей на единицу объема (размерность Н/м3). См. главу 7.28 User guide.

Если у Вас есть объемная электрическая сила, то ее и надо задавать в UDF - для каждой из 3-х компонент пишется своя функция.

post-1334-1177335319_thumb.png

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

СПАСИБО!!!!!!!! Иду пробовать! :)

Только неясно насчет User's Guide :(

У меня help к Fluent 6.1 - там глава 7 - это Physical Properties - и доходит только до 7.14. Может это другой User's Guide? :)

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

Спасибо! Нашел.

А в хэлпе к 6.3 много нового?

С уважением,

Игорь

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

А в хэлпе к 6.3 много нового?

На первый взгляд вроде нет, хотя немного реорганизованы главы (судя по User guide) и появились некоторые новые возможности программы (например сетки с полигранными ячейками) - соответственно добавлена информация в help.

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

Да... ну с полигранными ячейками мне пока особо не надо :)))

Если можно - еще вопрос - а как во Флюенте-Гамбите обстоит дело со сферическими координатами?

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

Не совсем понятно, применительно к чему подразумеваются сферические координаты. Компоненты уравнения переноса импульса в 3D случае вроде всегда декартовые (то есть скорости Vx, Vy, Vz). В 2D-осесимметричном случае компоненты импульса для цилиндрической системы, причем есть возможность решать закрученные осесимметричные течения, поскольку дополнительно можно включить уравнение переноса момента импульса для закрутки.

Что касается сетки, то форма ячейки может быть любой из поддерживаемой программой (можно почитать в руководстве). Соответственно можно создать сетку с рядами узлов, расположенными на сферических поверхностях. С технической стороны, я думаю, в ICEM CFD (с Gambit я не знаком) такую сетку построить можно, но из-за особенности в центре сферы могут возникать проблемы с расчетом, кроме того, в центре сферы будет неоправданно высокая густота ячеек, поэтому лучше в таких случаях использовать о-сетку. Но методы решения уравнений все равно не будут соответствовать тем методам, в которых сами уравнения движения записываются полностью в сферической системе.

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

Добрый день!

Спасибо за ответ!

Не совсем понял :)

"Компоненты уравнения переноса импульса в 3D случае вроде всегда декартовые (то есть скорости Vx, Vy, Vz)". Почему всегда? Имеется ввиду во Флюенте?

У меня задачка в полусфере - и поэтому традиционно используем сферические коордианты - то есть Vr, Vteta, Vpsi. Соответственно объемное тепловыделение и действующую массовую силу я тоже считал в сферических коордиантах. Видимо надо будет просто написать переход от сферических координат к декартовым - и вместе с этим переходом использовать в UDF.

А в центре у меня как раз твердая поверхность - там гидродинамики нет :)

С уважением,

Игорь

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

"Компоненты уравнения переноса импульса в 3D случае вроде всегда декартовые (то есть скорости Vx, Vy, Vz)". Почему всегда? Имеется ввиду во Флюенте?

Я имел ввиду во Флюенте.

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

Доброго времени суток! :)

Можно еще помучить гуру вопросами?

Написал простенькую UDF - что-то считается :) Рад до ужаса!

Наткнулся вот на что - у меня задается и тепловыделение и источник момента - то есть нужно подключать ДВА источниковых члена.

В первом файле - пишу UDF для момента.

В другом файле пишу UDF для тепловыделения - тоже с DEFINE_SOURCE - и при интерпретации второго файла получаю сообщение:

q_source definition shadows previous definition

А в задании граничных условиях - вижу только одну из двух своих ф-ций.

Вот и вопрос возник - как задать два источника - причем один - момента, второй - энергии?

С уважением,

Игорь

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

Напрасно я побеспокоил гуру.

Чуть подумал - и сам разобрался. Вдруг кому понадобится - поэтому уж напишу.

Надо писать в одном файле и давать функциям разные имена.

Например так:

#include"udf.h"

#define C2 100.0

DEFINE_SOURCE(xmom_source, c, t, dS, eqn)

{

real x[ND_ND];

real x_source;

C_CENTROID(x,c,t);

x_source=-0.001/x[1];

return x_source;

}

DEFINE_SOURCE(myq_source, c, t)

{

real x[ND_ND];

real q_source;

C_CENTROID(x,c,t);

q_source=C2/sqrt(x[1]*x[1]+x[2]*x[2]);

return q_source;

}

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

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

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

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

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

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

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

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

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

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

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




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