Назначение модуля
Модуль двустороннего обмена данными ПРАДИС (PRADIS) — ANSYS Fluent предназначен для совместного расчета 1D–3D CFD-задач.
Основная идея заключается в том, что ПРАДИС (PRADIS) рассчитывает одномерную часть системы, а ANSYS Fluent рассчитывает трехмерную CFD-область. Между решателями организуется обмен данными через TCP/IP, поэтому оба расчета могут выполняться совместно и синхронно.
Такой подход нужен, когда полная 3D CFD-модель слишком сложна или избыточна, но при этом отдельные участки системы требуют детального трехмерного расчета.
Требования к рабочему окружению
Для работы модуля требуется:
ОС Windows 7и выше;ANSYS Fluent;ПРАДИС (PRADIS);- проверочная задача: модель трубы с несжимаемой жидкостью.
Цель работы модуля
Цель модуля — интеграция расчетных программ ПРАДИС (PRADIS) и ANSYS Fluent для решения связанных 1D–3D CFD-задач.
Модуль позволяет:
- передавать граничные условия из
ПРАДИС (PRADIS)вANSYS Fluent; - получать результаты
3DCFD-расчета обратно вПРАДИС (PRADIS); - синхронизировать шаги по времени;
- выполнять совместный расчет гидравлических и теплогидравлических систем;
- использовать
ANSYS Fluentкак удаленныйCFD-решатель.
Решаемые задачи
Модуль предназначен для решения следующих типов задач:
- квазистационарные задачи;
- нестационарные задачи;
- задачи внутреннего течения;
- задачи внешнего течения;
- задачи теплопередачи;
- задачи теплопереноса.
Основные объекты управления и обмена данными
В состав решения входят следующие основные объекты:
- 1D-объекты обмена данными в решателе ПРАДИС (PRADIS)
Используются для передачи данных между1D-моделью и внешнимCFD-решателем поTCP/IP. - Клиент в виде DLL для внешнего решателя
На примереANSYS Fluentклиент взаимодействует с ядромFluentи обеспечивает прием и передачу данных. - GUI для описания подключаемой CFD-модели в задаче ПРАДИС (PRADIS)
Используется для описания интерфейсов, граничных условий, доменов, единиц измерения и дополнительных параметров. - Объект синхронизации CFD-решателя
Позволяет встроить1D–CFDобмен в цикл шага по времени или в цикл нелинейных итераций. - GUI и файл задания для CFD-решателя
Используются для указания, что вCFD-задаче применяется связанная1D-модель.
Передаваемые данные между 1D- и 3D-решателями
Обмен между ПРАДИС (PRADIS) и ANSYS Fluent включает несколько групп данных.
Начальные условия
Передаются начальные значения, необходимые для запуска связанного расчета:
- начальное давление;
- начальная температура;
- начальная скорость.
Эти параметры позволяют CFD-решателю начать расчет из согласованного состояния.
Граничные условия
Граничные условия могут передаваться в обе стороны: из 1D-модели в 3D-модель и обратно.
Передаются:
- среднее давление на
inlet/outlet; - средний объемный расход на
inlet/outlet; - средний тепловой поток через стенку;
- средняя температура;
- средняя плотность.
В простейшем случае ПРАДИС (PRADIS) задает давление на границе, а ANSYS Fluent после расчета возвращает расход. Возможен и обратный вариант, когда CFD-решатель задает результат, а 1D-модель использует его как граничное условие.
Переменные синхронизации
Для согласования расчета передаются:
- время;
- номер итерации;
- шаг по времени;
- статус результата расчета;
- признак сходимости или несходимости.
Для нестационарных задач особенно важно, чтобы оба решателя понимали, на каком шаге времени они находятся.
Параметры модели
Дополнительно передаются:
- площадь сечения;
- метод косимуляции;
- размерности переменных;
- коэффициенты пересчета единиц;
- дополнительные параметры модели.
Дополнительные условия обмена
При совместном расчете важно учитывать несколько особенностей:
CFD-решатель должен сохранять свое состояние между итерациями;- для нестационарных задач
CFD-решателю нужно сообщать о новом шаге времени; CFD-решатель может возвращать рекомендуемый шаг времени;ПРАДИС (PRADIS)может сообщитьCFD-решателю, что нужно откатиться в начало шага;- при обмене
1D→3Dи3D→1Dдолжны применяться коэффициенты пересчета переменных; - оба решателя могут передавать код состояния и команду остановки расчета.
Методы обмена данными
Обмен может быть организован двумя способами.
1. Через текстовые файлы
Используются входные и выходные файлы:
*.in
*.out
Такой вариант проще, но менее удобен для тесной синхронизации во времени.
2. Через TCP/IP
Основной вариант для совместного расчета.
TCP/IP позволяет:
- обмениваться данными на каждом шаге;
- синхронизировать решатели;
- передавать статусы;
- выполнять расчет без ручного вмешательства;
- использовать
ANSYS Fluentкак удаленный решатель.
Структура данных обмена
В структуру обмена входят:
- переменные;
- состояния;
- текущее время;
- текущий шаг по времени;
- прошлый шаг по времени;
- номер итерации;
- номер шага по времени;
- рекомендуемый шаг по времени;
- параметры;
- текстовое сообщение.
Такая структура нужна, чтобы решатели не только передавали физические величины, но и понимали состояние совместного расчета.
Коды состояния решателя
Во время обмена решатели могут передавать друг другу коды состояния:
- итерация сошлась;
- итерация не сошлась за заданное число итераций;
- расчет завершился с ошибкой;
- достигнут конец расчетного времени;
- начался новый шаг по времени;
- необходимо уменьшить шаг по времени;
- выполнена инициализация.
Эти коды позволяют управлять расчетом автоматически.
Универсальное определение переменных и граничных условий
В ПРАДИС (PRADIS) переменные условно делятся на две группы.
Фазовые переменные
К фазовым переменным относятся скалярные величины:
- давление;
- скорость;
- температура;
- плотность.
Обычно решатель прогнозирует именно фазовые переменные.
Потоковые переменные
К потоковым переменным относятся:
- объемный расход;
- массовый расход;
- поток энтальпии;
- тепловой поток;
- сила;
- момент.
Обычно модель по фазовым переменным рассчитывает потоковые переменные.
Логика обмена фазовыми и потоковыми переменными
Часто используется следующий подход:
ПРАДИС (PRADIS)передает вANSYS Fluentдавление;ANSYS FluentвыполняетCFD-расчет;ANSYS Fluentвозвращает вПРАДИС (PRADIS)расход.
Однако для некоторых стационарных CFD-задач такие граничные условия могут плохо сходиться. Поэтому в ПРАДИС (PRADIS) предусмотрен более универсальный подход: можно комбинировать, какие переменные являются граничными условиями, а какие являются результатом расчета.
Описание объектов обмена в ПРАДИС (PRADIS)
Для описания обмена используются объекты CoSimulation и Port.
Объект Port в CoSimulationGenerator
Объект Port определяет порт у объекта CoSimulation.
Он задает:
- имя порта;
idграницы;- тип порта;
- количество и типы передаваемых переменных.
Поле Name может использоваться как id границы для некоторых внешних решателей.
Объект CoSimulation
Объект CoSimulation содержит описание подключаемой CFD-модели и параметры обмена.
В нем задаются:
- решатель;
- настройки решателя;
- домен;
idдомена;- материал;
- начальные условия;
- система единиц;
- дополнительные параметры;
- флаги индикаторов.
Объект CoSimulation является универсальным. Он не привязан только к одной физике или одному решателю. Конкретное поведение определяется типами портов и параметрами, которые передаются удаленному решателю.
Что передается удаленному решателю
Удаленному решателю передается:
- имя решателя;
- список границ;
Name/Idграницы;- тип границы;
- настройки решателя;
- домен;
idдомена;- материал;
- начальные условия;
- система единиц;
- дополнительные параметры модели.
Для материала сейчас может передаваться, например, значение плотности из объекта Fluid.
CFDGenerator
CFDGenerator используется для генерации CFD-подсхемы и объектов обмена.
Он обеспечивает:
- генерацию
CFD-подсхем моделейTCPIP2на основе описания граничных условий; - создание клиента на основе парсинга подсхемы;
- работу с абстрактным решателем;
- адаптацию переменных;
- подготовку типовых тестовых моделей.
Тестовые модели
Для проверки работы обмена могут использоваться:
- труба, стационарная задача;
- труба, нестационарная задача;
- труба с теплопередачей;
- задача с 1D телом перемещения или вращения;
- задача с 2D телом;
- задача с 3D телом;
- задача с электрическим током.
Объект расчета функции на границе для гидравлики
Для задачи гидравлики несжимаемой жидкости используется схема:
- на границах
inlet/outletдавлениеpпередается в модель; - модель возвращает расход
q.
Дополнительно выполняется адаптация размерностей давления и расхода.
Объект расчета функции на границе для тепловой гидравлики
Для тепловой гидравлики несжимаемой жидкости используются дополнительные переменные.
На границах inlet/outlet:
- давление ppp передается в модель;
- модель возвращает расход
q; - температура
Tпередается в модель; - модель возвращает поток энтальпии
h.
На границе wall:
- температура
Tпередается в модель; - модель возвращает тепловую мощность
Q.
Методы абстрактного решателя aSolver
Абстрактный решатель содержит набор универсальных методов, через которые ПРАДИС (PRADIS) может взаимодействовать с внешним CFD-решателем.
Основные методы:
Initialization(переменная, значение)
Инициализация домена.
setValue(граница, переменная, значение)
Установка значения на границе.
getValue(переменная, параметры)
Получение значения переменной.
aveArea(граница, переменная)
Расчет среднего значения переменной на границе.
intArea(граница, переменная)
Расчет интеграла переменной по границе.
massFlow(граница)
Получение массового расхода.
enthalpyFlow(граница)
Получение расхода энтальпии.
doStep(time, dt)
Выполнение шага по времени.
force_X, force_Y, force_Ztorque_X, torque_Y, torque_Z
Получение сил и моментов на границе.
Механизм работы клиента
Связь с ANSYS Fluent выполняется через UDF-функции и C-клиент.
Описание работы UDF
Последовательность работы выглядит так:
ANSYS FluentвызываетUDF-функцию;UDF-функция вызываетC`-функцию клиента;- клиент читает данные от
ПРАДИС (PRADIS); UDFполучает от клиента давление на границах;UDFзадает давление на границах вANSYS Fluent;ANSYS Fluentвыполняет расчет потока;UDFполучает массовые или объемные расходы на границах;UDFпередает расходы клиенту;- клиент отправляет результаты обратно в
ПРАДИС (PRADIS); UDFопределяет шаг времениANSYS Fluentна основе шагаПРАДИС (PRADIS);- при старте вызывается
UDFинициализации; - при завершении вызывается
UDFзавершения расчета.
C-интерфейс для UDF
C-интерфейс клиента является тонким слоем между UDF-функциями ANSYS Fluent и клиентом ПРАДИС (PRADIS).
Он выполняет:
- чтение граничных условий из
ПРАДИС (PRADIS); - передачу давления и температуры в
Fluent; - получение расходов и потоков;
- синхронизацию времени;
- пересчет единиц;
- сопоставление port
idсboundary name; - передачу результатов обратно в
ПРАДИС (PRADIS).
Проверочная задача: жизненный цикл UDF
Для проверки обмена используется задача трубы.
Расчетная постановка:
- на входе задаются давление
P(t)и температураT(t); - на выходе определяются расходы
qm(t)иqv(t); - C-клиент обеспечивает
APIобмена и синхронизацию времени.
Последовательность жизненного цикла UDF
Жизненный цикл можно представить так:
- запуск сценария;
- описание границ и граничных условий;
- вызов
ADJUSTна шаге; - задание граничных условий в
Fluent; - расчет потока;
- считывание расходов;
- передача результатов;
- установка следующего шага времени
Δt.
Практический смысл интеграции
Такой подход позволяет объединить преимущества двух расчетных уровней:
ПРАДИС (PRADIS)быстро рассчитывает1D-систему;ANSYS Fluentподробно рассчитывает3D-область;- обмен через
TCP/IPпозволяет синхронизировать оба решателя; - пользователь получает связанную модель без полного переноса задачи в один расчетный комплекс.
Выводы
Модуль двустороннего обмена ПРАДИС (PRADIS) — ANSYS Fluent позволяет выполнять совместный расчет 1D–3D CFD-задач.
Основные особенности модуля:
- обмен данными через
TCP/IP; - поддержка начальных и граничных условий;
- передача расходов, давлений, температур и тепловых потоков;
- синхронизация по времени;
- поддержка квазистационарных и нестационарных задач;
- возможность работы с внутренними и внешними течениями;
- использование C
APIиUDF-функций для связи сANSYS Fluent.
В результате ПРАДИС (PRADIS) и ANSYS Fluent работают как единая расчетная система: один решатель передает граничные условия, второй выполняет CFD-расчет и возвращает результаты обратно в 1D-модель.





