CFX User Fortran в версии 17.0

intel-logoНовость в преддверии выхода 17-й версии программных продуктов ANSYS. Компания  ANSYS, Inc. информирует всех пользователей гидрогазодинамического пакета ANSYS CFX, что в новой версии будут поддерживаться только компиляторы Intel Fortran (для операционных систем Windows и Linux, соответственно).

В версии ANSYS 17.0 заявлена поддержка Intel Fortran версии 15.0.2.  Компиляторы других фирм снимаются с технической поддержки и не рекомендуются к использованию.

Удачного всем моделирования.

С уважением, Денис Хитрых.

Шнобелевская премия, профессор Буль и МГД в CFX

2 ноября небольшая часть человечества, которая еще не утратила логику в своих действиях и поступках, отмечала день рождения Джорджа Буля – английского математика и автора известного трактата «Логическое исчисление». Мы также решили отметить событие и подали заявку на получение Шнобелевской премии.

В качестве объекта для награждения мы выбрали придуманный нами МГД-осциллятор. Принципиальная схема этого устройства показана на рисунке ниже.

mhd

МГД-осциллятор представляет собой прямоугольную трубу с двумя запаянными концами. Внутри этой трубы «циркулирует» ферромагнитная жидкость. Схема приложения внешнего магнитного поля и электростатического поля также показана на этом рисунке.

В основу работы МГД-осциллятора положена логика профессора Буля и «подвижное» электростатическое поле (красный прямоугольник на приведенной схеме).

фурьеДля проверки работоспособности устройства специалисты R&D центра SimuLabs4D (г. Москва) провели численное исследование нестационарного течения ферромагнитной жидкости в гидравлическом тракте МГД-осциллятора. В этом им помог CFD-пакет ANSYS CFX. Обработав результаты моделирования с помощью быстрого преобразования Фурье, инженеры получили убедительные доказательства работоспособности предложенной схемы. На рисунке слева показан гармонический характер пульсаций давления на торце трубы.

Мы также записали небольшое видео, демонстрирующее работу МГД-осциллятора в режиме реального времени.

MHD2

Если у вас появится желание повторить наши численные эксперименты, то для преодоления ожидаемых трудностей, мы покажем вам как выглядят CCL-выражения для задания «подвижного» электростатического поля в ANSYS CFX (одно выражение мы замазали, чтобы вы могли проделать небольшую самостоятельную работу).

2015-11-03_15-14-44

Удачного Вам моделирования!

С уважением, Денис Хитрых.

Решатель ANSYS Fluent установил новый рекорд масштабируемости на 129000 ядрах

ANSYS Fluent установил новый рекорд масштабируемости при моделировании промышленной задачи. Прежний рекорд принадлежал решателю STAR-CCM+ и равнялся 102000 ядрам. На первый взгляд рост масштабируемости CFD-решателя на 25% (до 129000 ядер) нельзя рассматривать как нечто выдающееся при современном уровне развития технологий распределенных вычислений (HPC).

Однако, следует отметить, что Fluent показал 90%-й рост производительности при увеличении количества ядер против 75%, который был в тестах STAR-CCM+.

Fluent_Moore's_LawТаким образом, с учетом этого факта, Fluent показал 50% увеличение скорости вычислений относительно решения от компании CD-Adapco.

Вот такая получилась занимательная математика.

В качестве тестовой модели использовалась камера сгорания газовой турбины. Моделировался процесс горения с учетом сложного взаимодействия турбулентности и химической кинетики.

Подобные результаты свидетельствуют о напряженной и успешной работе команды разработчиков ANSYS, Inc. над увеличением масштабируемости собственных CFD-решателей. Цифры говорят сами за себя: каждые 14 месяцев масштабируемость ANSYS Fluent удваивается (см. рис. выше).

С уважением, Денис Хитрых,

Директор R&D Центра SimuLabs4D.

www.simulabs.ru 

Как определить положение центра давления в CFD-Post?

2015-08-10_11-21-53Сегодня немного поговорим об аэродинамике и дадим ответ на такой интересный вопрос: как определить положение центра давления в CFD-Post?

Для  начала решим вопрос с терминологией.

В аэродинамике центром давления называют точку пересечения равнодействующей аэродинамических сил R с хордой крыла. В более общем смысле, центр давления — это точка тела, в которой линия действия равнодействующей сил давления на тело окружающей среды пересекается с некоторой плоскостью, проведённой в теле.

Соответственно, это важный параметр в аэродинамике крыла, без которого мы не сможем добиться необходимого равновесия крыла в полете.

Отметим так же, что положение центра давления зависит от формы профиля и угла атаки.

С другой стороны, под центром давления мы можем понимать просто точку приложения сил давления на поверхности крыла. В этом случае мы можем ее вычислить, используя следующие выражения:

CPx = areaAve(X*Absolute Pressure)@surface/areaAve(Absolute Pressure)@surface
CPy = areaAve(Y*Absolute Pressure)@surface/areaAve(Absolute Pressure)@surface
CPz = areaAve(Z*Absolute Pressure)@surface/areaAve(Absolute Pressure)@surface

Для первого «классичсекого» варианта нам дополнительно потребуется определить величину аэродинамического момента T, действующего на крыло. Тогда выражения для вычисления положения центра давления можно записать в следующем виде:

TSURFx = torque_x()@surface - ( Y*force_z()@surface - Z*force_y()@surface)
TSURFy = torque_y()@surface - ( Z*force_x()@surface - X*force_z()@surface)
TSURFz = torque_z()@surface - ( X*force_y()@surface - Y*force_x()@surface)

Далее вам необходимо построить изоповерхность этой переменной со значением, близким к нулю. В результате вы получите цилиндр, ось которого совпадает с направлением действия равнодействующей аэродинамических сил.

Наконец, выведите на этой поверхности поле этой пользовательской переменной.

Удачного Вам моделирования!

С уважением, Денис Хитрых

Директор R&D Центра SimuLabs4D (Адаптация и разработка CAE программного обеспечения).

Блиц-опрос по CFX и Fluent для «жаворонков»

жаворонокСегодня мы рассмотрим несколько вопросов, касающихся решения различных задач в CFX и Fluent, в режиме «блиц-опроса». Поговорим о качестве сетки, рестарте задач, оригинальных блочных топологиях и пр. В Москве еще раннее утро, поэтому заранее прошу прощение за возможные казусы и неточности в моих ответах.

Вопрос 1
Как оценить время, затрачиваемое препроцессором Fluent на открытие cas-файла?
Ответ
Лучше всего использовать для этого журнальный файл со следующими командами:

(format-time #f "%y:%m:%d:%H:%M:%S")
file r-c-d fille_name.cas.gz
(format-time #f "%y:%m:%d:%H:%M:%S")

Вопрос 2
Какие требования предъявляет решатель Fluent к качеству сетки?
Ответ
Критерии Aspect Ratio и Skewness определяют качество единичного элемента сеточной модели; с другой стороны коэффициент роста элементов (т. е. соотношение размеров соседних элементов) является важным параметром сетки в пристеночной зоне, в области больших градиентов газодинамических переменных и пр.

Скошенность Skewness изменяется в пределах 0 < Skewness < 1. Сетка считается удовлетворительной, если Skewness < 0.85. Если Skewness > 0.95, то это очень плохая сетка. Соответственно, рекомендуется дополнительно поработать с ее качеством.

Aspect Ratio характеризует «вытянутость» элемента. Сетка считается хорошей, если Aspect Ratio < 10.

Пользователи CFX должны помнить, что этот пакет интерпретирует указанные критерии качества сетки несколько иначе.

Вопрос 3
Как «гладко» выполнить рестарт (перезапуск) задачи в CFX при небольших изменениях в сетке?
Ответ
Вы можете использовать для этого стандартные возможности интерполятора CFX. Если топология сетки#1 идентична топологии сетки#2, но при этом изменились координаты узлов сетки, вы должны задать значение переменной CFX_INTERP_NOCRDVX_CHECK = 1. Если сетки являются полностью идентичными то вам необходимо выполнить следующие две команды:

cat mesh1.res mesh2.def > mesh2_restart.def
cfx5solve –def mesh2_restart.def

Вопрос 4
Как запустить нестационарную задачу в Fluent через TUI?
Ответ
Используйте для этого следующие команды:

solve/set/time-step 1e-2 (значение шага по времени)
solve/dual-time-iterate 100 40 (100 – количество шагов по времени;40 – количество итераций за один шаг по времени).

Вопрос 5
Существуют ли альтернативные O-grid способы разбиения окружностей в ICEM CFD?
Ответ
Вы можете использовать Y-топологию в сочетании с О-сеткой. Схематично это показано на рисунке ниже.

mesh

 

С уважением, Денис Хитрых

Директор R&D Центра SimuLabs4D.

Возвратное течение: стабилизация решения и мониторинг

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

Сразу же отметим, что на начальных итерациях на выходной границе может присутствовать возвратное течение, но через несколько десятков итераций оно будет «подавлено» и поток в целом стабилизируется. Если этого не происходит, то возможно два варианта: 1. наличие возвратной зоны обусловлено геометрическими особенностями расчетной модели; 2 связано с некорректными граничными и/или начальными условиями. Во втором случае необходимо просто откорректировать все ГУ. В первом же варианте достаточно изменить положение выходной границы, как показано на рисунке ниже.

rec1

В препроцессоре CFX такая возможность отсутствует, поэтому придется заново перестроить расчетную модели и сгенерировать новую сетку. А в препроцессоре Fluent положение выходной границы можно изменить с помощью соответствующей команды TUI:

mesh modify-zones extrude-face-zone-delta
specify the face zone id/name
delta 1 0.2

Еще одна проблема, которая может быть интересна пользователям, связана с оценкой абсолютных величин расходов среды, «покидающей» расчетную область(поток со знаком «+») и возвращающейся в расчетную область (поток со знаком «-«). В Fluent это можно сделать с помощью небольшого UDF-макроса, который «маркирует» ячейки сетки с положительным и отрицательным потоком массы. В CFX для этого потребуется создать два простых выражения вида:

Положительный расход (через поверхность Surface):
areaInt(max(0.0[m/s],Velocity u * Normal X + Velocity v * Normal Y + Velocity w * Normal Z)*Density)@Surface
Отрицательный расход:
areaInt(min(0.0[m/s],Velocity u * Normal X + Velocity v * Normal Y + Velocity w * Normal Z)*Density)@Surface

Читать далее

К вопросу о выборе значения константы Смагоринского

Модель Смагоринского (Smagorinsky model) является одно из наиболее популярной подсеточной моделью для LES. В этой модели константа Cs (константа Смагоринского), входящая в уравнение для подсеточной турбулентной вязкости, определяется заранее.

constant

Строго говоря, выбор значения этой константы зависит, как от класса моделируемого течения, так и от используемого численного метода, в том числе и схемы аппроксимации невязких потоков.

Если для выбранного численного метода решения задачи характерна существенная численная диссипация, то значение константы Сs следует уменьшить, и, наоборот, при использовании менее диссипативных схем, рекомендуется увеличить значение этой константы. Поэтому для каждой численной схемы следует предварительно проводить калибровку константы Смагоринского.

Кроме того, для неизотермических течений значение константы Смагоринского обычно меньше, чем для изотермических течений.

Такую калибровку обычно проводят на задаче о затухании однородной и изотропной турбулентности. Для неё существуют теоретические оценки закона затухания турбулентных пульсаций со временем (см., например, работу https://mipt.ru/upload/medialibrary/b76/105-113.pdf).

DITx

В первом приближении можно рекомендовать использовать следующие значения константы Cs*:

table

*Акира Ёсидзава (A. Yoshizawa). Hydrodynamic and Magnetohydrodynamic Turbulent Flows: Modelling and Statistical Theory. Kluwer Academic Pub, 2011.

Для оценки значения константы Смагоринского также можно использовать закон Обухова-Колмогорова, который после соответствующих преобразований и подстановок приводит к выражению вида:

kolmogorov

Здесь Сk — постоянная Колмогорова (Сk = 1,4-2,2).

Модель Смагоринского позволяет учесть взаимодействие молекулярного и молярного обмена вблизи стенки в вязком подслое и в переходной области течения.  Для этого используются т. н. демпфирующие функций, которые позволяют рассчитать изменение коэффициента турбулентного обмена или длины пути смешения поперек потока около стенки. В ANSYS CFX доступно две демпфирующие функции: Ван Дриеста (Van Driest, 1956) и функция Пиомелли (Piomelli, 1987).

Удачного Вам моделирования!

С уважением, Денис Хитрых.