Все ответы об инженерном анализе

Перед началом работы настоятельно рекомендуем ознакомиться с правилами форума.

Изменение частоты вращения диска по времени

bobr2610
Аватар пользователя bobr2610

Привет всем!)

Я тут впервые и столкнулся с одной проблемой. Нужно написать udf макрос, который менял бы частоту вращения диска с 500 до 1000 через определенное количество времени. График нагружения и всё остальное есть в вордовском файле. На стационаре всё хорошо считает, сходимость имеется, но без макроса никак не получается исследовать переходный режим.

К тому же, ещё присутствуют сомнения, какой именно define нужно использовать в данном случае. define profile вроде не подходит, как мы поняли, пока остановились на define cg motion.

Пример того, что у нас пока получается скинуть не могу, в ближайшее время только, он просто не у меня находится.

Буду благодарен за любую помощь)

ВложениеРазмер
Файл методичка790.62 КБ
Kirill Pestov
Аватар пользователя Kirill Pestov

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

Все верно, нужно использовать макрос DEFINE_CG_MOTION.

Пример написания udf можете посмотреть ниже:

#include "udf.h"
DEFINE_CG_MOTION(disk,dt,cg_vel,cg_omega,time,dtime)
{
    if (time <= 10.0)
       {
       cg_omega[2] = 49.9*time + 1.0;
       } else 
            {
             if ((time >= 10.0) && (time < 10000.0))
             {
              cg_omega[2] = 500.0;
             }else
                    {
                    if ((time >= 10000.0) && (time < 10010.0))
                     {
                      cg_omega[2] = 50*time - 499500.0;
                     } else
                       {
                         if (time > 10010.0)
                          {
                           cg_omega[2] = 10000.0;
                          }
                      }
                 }
            }
}

bobr2610
Аватар пользователя bobr2610

Кирилл, спасибо большое за ответ, но есть одна загвоздка)

По сути говоря, получается так, что флюент игнорит те параметры, которые мы задаем в udf, а использует только те граничные условия, которые мы задаем на стенке (0,500,1000 рад/с), и он сразу же начинает расчет именно с этой скоростью вращения.

Получется так, что приоритет он выставляет на граничные условия, нежели на udf. Как это изменить? Макрос он считывает, проблем нет, но прописанные условия не диктует.

Kirill Pestov
Аватар пользователя Kirill Pestov

Когда вы используете макрос DEFINE_CG_MOTION, то все настройки задаются в ветке Dynamic Mesh. Там надо в разделе Dynamic Mesh Zones создать вращающиеся зону и назначить ей макрос. По идее никаких граничных условий для движущиеся зоны задавать больше не нужно. 

bobr2610
Аватар пользователя bobr2610

А какую именно функцию надо использовать? Interpreted или compiled? Просто наткнулись на такую вещь, что cg motion используется только для второго.

И при создании библиотеки он пишет Error: The UDF library you are trying to load (libudf) is not compiled for 2d on the current platform (win64). Мол данная вещь доступна только для 3д.

Kirill Pestov
Аватар пользователя Kirill Pestov

А какую именно функцию надо использовать? Interpreted или compiled? Просто наткнулись на такую вещь, что cg motion используется только для второго.

Да, некоторые макросы являются только компилируемыми и define_cg_motion один из них.  

И при создании библиотеки он пишет Error: The UDF library you are trying to load (libudf) is not compiled for 2d on the current platform (win64). Мол данная вещь доступна только для 3д

 Вы видимо раньше скомпилировали udf в 3D версии, а сейчас пытаетесь загрузить библиотеку в 2D версии Fluent. 

pavlenty11
Аватар пользователя pavlenty11

А в UDF можно указать размерность? Например, cg_omega[2] = 50*time - 499500.0 [rad/s]
И что такое [2] ? Если у меня параметр n для частоты вращения, могу я его использовать в UDF, вместо cg_omega[2] написать n ?

katcheg
Аватар пользователя katcheg

Нельзя, UDF работает только с единицами СИ

Добавить комментарий

Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Приложить файл

Максимальный размер файла: 999 МБ.
Допустимые типы файлов: txt doc docx xls xlsx pdf rar zip 7zip tar.