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

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 пользователей

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




  • Сообщения

    • gudstartup
      а чего тут искать то первый это абсолютный на 1000000 имп\об bi типа второй ai инкрементальный xз но нав 4000000 имп\об разъем подключения описан в схеме. инфа передается по цифровому протоколу обмена. кое что есть тут   в старых описаниях таких датчиков у фанука нет  
    • anykeyto
      У нас AC. Так то я понимаю, что G108 это переключить режим шпинделя из оборотов в координату С. Но я почему про нее спросил, потому что в мануале к G07.1, в примере программки указывалось таким образом, что сначала включали G108 (хотя это может для токарки, а для фрезера и не надо совсем), а потом уже остальное.   G07.1 это как раз цилиндрическая интерполяция, то есть преобразование оси С из угла в миллиметры, то есть как бы разворачивает цилиндр в плоскость. Ну как я это понял. Проблема у меня встала в том, как именно программируются такие действия. Пробовал на основе примеров из мануала, стойка выдает ошибки. в чем проблема непонятно из-за китайской стойки и некорректного перевода. Ну и вообще хочется пощупать, как это вообще работает именно на фрезерном ОЦ.   Тут еще засада в том, что на 5-оснике из-за RTCP станок не дает одновременно перемещаться одновременно по осям XY и С например...  Я понимаю, что такое надо в САМ системах делать, но есть потребность в упрощенном варианте и со стойки писать, у нас с технологами проблема... G68.1, 68.2, 68.3  это преобразование характеристической СК, развороты короче координат G53.1, G53.2 - фактически активирование поворота стола с RTCP и без... 
    • ДОБРЯК
      А собственные вектора вы как будете находить для любой размерности? :=)
    • Sivolap36
      Добрый день. Прошу подсказать в каком мануале есть описание энкодеров моторов, где-то видел, сейчас нем могу вспомнить.  Вот например два энкодера по ним ищу инфу  
    • Рома калужский
      это код подключения шпинделя как ось "С" но при этом он не перемещает револьверку, т.е. не работает по программе
    • Горыныч
      Еще совет: строить нужно только половину, если модель симметричная, тогда Солид меньше "косячит". И соглашусь с коллегами, идеальный вариант для гладкого построения - два сечения и две направляющие кривые, т.е. 4 управляющие кривые (кромки). При необходимости можно добавлять не только промежуточное сечение, но и направление. Не нужно пятаться построить всю поверхность одним фичером.  Пусть поверхности будут лоскутами, но соединяются по касанию или кривизне. 
    • ДОБРЯК
      Откуда появится смещение центра масс колеса, если колесо сбалансировано.  Жесткий сбалансированный вал, это условие данной задачи. На 4000 оборотах эти силы будут минимальны. Это разговор ни о чем в данной задаче. :=) Но даже если вы абсолютно точно определите эти частоты, с учетом всех сил. Что дальше с этими частотами делать? На основании чего делать вывод о работоспособности изделия? Это в учебной работе получили число, работу приняли и сдали в архив. Какая практическая ценность всех этих уточнений в данном случае?:=)  
    • Борман
      Если еще не поздно... я и сам погрузился бы. Физика такая, для вала с одним колесом... F - это понятно, центробежное смещение центра масс колеса M - момент от центробежных сил, который не появится, если колесо не повернется при изгибе вала. Обрати внимание, что BW-момент выворачивает ось в сторону действия силы F, т.е. при обратной прецессии они действуют сообща, и в этом опасность.   Отсюда будут разные собственные частоты при прямой и обратной прецессиях.  Теперь осталось понять, что такое прямая и обратная прецессии :), и почему момент при них направлен в разные стороны. По первой части вопроса см. мою картинку в этой теме от 27 августа 2013. По второй части вопроса - нужно включать воображение и усердно рисовать на бумажке. Мне пока сложно.    Физика именно такая. Нужно как то оценить величину этого момента и приложить его в софте, который не умеет ДК. А с тестовыми значениями можно и так порешать, и на выходе должна быть вилка. Т.е. F - задает типа "биссектрису" вилки (престресс-модальник), а момент - угол вилки.  
    • boomeeeer
      @anykeyto Я не оператор. Настраивал работу этой функции на токарно-фрезерном, где нужно было позиционировать шпиндель, для нарезания пазов. Что такое G07 не знаю. Вот такой пример для фрезерного станка нашёл   G108 B0; переключение на ось B для управления положением; G68.2 X10 Y10 Z20 I0 J90 K0 Положение заготовки (10,10,20) Угол Эйлера для определения характеристической системы координат; G53.2 Управление направлением инструмента   G109 B0 - отключит режим
    • anykeyto
      Ага, спасибо... А в связке с G07.1 это как работает? Есть детали ,кольца, на которых надо делать по 4 паза. Сейчас программист написал прогу под шаровую фрезу. Там рабочие движеня происходят через одновременное смещение по оси Х и Z... фреза убивается буквально на третьем кольце, да и обработка получаестя фиговой.. На сколько я понимаю надо стремиться к тому, чтобы на 5ти осном станке фреза всегда была перпендикулярна касательной ли самой поверхности. Мне посоветовал как раз цилндрческую интерполяцию, когда ось С преобразуется в плоскость. В мануале к HNC описано эт криво, но в примерах программ как раз сначала включается CTOS и потом G07.1. но дальше как запрограммировать понимания пока нет...  P.S. хочу добавить, что на 5-снике раньше работал только как оператор по готовым программам  на Хенденхайне. А сейчас на новом предприятии на новой для меня стойке нужно все делать с нуля и самостоятельно. С одной стороны интересно, с другой стороны спросить не у кого, в инете инфы по стойке нет от слова совсем, уж тем более видео....  чем это отличается от просто G0 C180? Или это уже будет шпиндель позиционироваться, а не стол?
×
×
  • Создать...