Использование пользовательских функций UDF в ПО Fluent на кластере "Сергей Королёв" имеет ряд особенностей. Так как на вычислительных узлах кластера компиллятор не установлен, необходимо скомпиллировать UDF библиотеку заранее на головном узле [mgt1] до запуска задачи на расчет.
Создается структура папок и Makefile для компиляции UDF:
/libudf
|-lnamd64
|-src
Makefile
В директории src должен находиться файл с исходным кодом.
Директория libudf копируется на кластер в директорию в которой находятся файл *.cas и файл с входными командами (*.in).
Далее, находясь на головном узле [mgt1] переходим в директорию libudf и даем команду make
[user@mgt1]$ cd libudf
[user@mgt1 libudf]$ make
После завершения компилляции, в соответсвующих поддиректориях lnamd64 будет находиться скомпиллированная библиотека UDF.
Далее, во время расчета, её нужно подключить к решателю. Для этого в файле входных команд (*.in) нужно записать директиву:
define/user-defined/compiled-functions load "libudf"
Файл input.in должен выглядеть примерно так
file/read-case case.cas.gz
file/read-data data.dat.gz
define/user-defined/compiled-functions load "libudf"
solve/iterate 10
file/write-data data.dat.gz
exit y
После завершения описанных выше действий можно ставить задачу на расчет командой qsub.
Подробнее см. документацию ANSYS Fluent: