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

UDF

7 сообщений / 0 новое
Последняя публикация
gndf
Аватар пользователя gndf

Здравствуйте, возникла потребность изменять Solidus и Liquidus Temperature в зависимости от давления, хотел это реализовать с помощью UDF, но как оказалось при выборе нет такого пунктка.

А в хелпе написано, что можно задать uset-defined function.

ВложениеРазмер
Иконка изображения help.png14.57 КБ
Иконка изображения solidus.png5.29 КБ
dvolkind
Аватар пользователя dvolkind

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

А вы UDF подключили? Возможно, пункт в списке появится после загрузки UDF, содержащей макрос DEFINE соответствующего типа.

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

Подключил точно, потому что у меня плотность задается и вязкость с помощью UDF.

У меня 18.0 ансис, проверили на 18.2, 17.0, везде аналогично.

 

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

Возникла мысль, если можно задавать температуры плавления и затвердевания с помощью Input Parameter, то существует ли какая-нибудь возможность в UDF уже менять это значение? И таким образом обойти  данно странное ограничение.

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

Можете скинуть тестовый проект?

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

Здравствуйте, высылаю вам проект вместе с файлом UDF

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

Проверил, действительно не пашет. По идее нужно писать в ANSYS. Если вы у нас на техподдержке, заводите запрос на cae-support.ru, и я заведу запрос от вашего предприятия. Вариант со входными параметрами не прокатит, т.к. в UDF не будет информации о локальных параметрах ячейки, и я не вижу способа синхронизации его обновления с моментом вычисления свойств.

PS

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

2) Вы используете в DEFINE_PROFILE макрос C_VOF, и компилятор выдает предупреждение о неинициализированной переменной "c" в его аргументах. Это происходит потому, что DEFINE_PROFILE работает на гранях, а объемную долю можно достать только из ячейки. Для нахождения прилежащей ячейки вам нужен макрос F_C0.

Тема закрыта