Редактируем RULES в CFX для задания специфического ГУ при расчете течения в турбомашине

Аэроупругий расчет лопатки высоконагруженного компрессора (изображение с сайта http://www.exploreenergy.eu).

Аэроупругий расчет лопатки высоконагруженного компрессора (изображение с сайта http://www.exploreenergy.eu).

Можно ли в ANSYS CFX задать зависимость полной температуры в неподвижной системе координат («Total Temperature in Stn Frame») от полной температуры во вращающейся системе координат («Total Temperature in Rel Frame»), и использовать это выражение для определения граничного условия на входе во вращающийся домен?

По-умолчанию такая возможность отсутствует в препроцессоре ANSYS CFX. Но вы можете отредактировать RULES-файл, или запустить CFX через командную строчку, указав ссылку на CCL-файл с соответствующим содержанием:

RULES:

  PARAMETER: Stationary Frame Total Temperature

  Dependency List = XYZT,rNoDim,aitern,citern,atstep, ctstep,\

  Ttot, Ttotstn,Ttotrel,acplgstep,cstagger

  END

END

Команда для запуска решателя CFX с ключом CCL выглядит так:

cfx5solve -def DEFFILE -ccl CCLFILE,

здесь CCLFILE — это обычный текстовый файл с командами и опциями, которые мы описали выше.

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

Вычисляем значение переменной Wall Distance в CFD-Post

соваСегодня мы рассмотрим с вами вопрос, который регулярно всплывает на разных форумах и которым обычно бывают озадачены все начинающие пользователи. Вы почти верно угадали, что этот вопрос связан с Y+ или чем-то подобным. Дело в том, что некоторые модели турбулентности напрямую не вычисляют расстояние от стенки до первого узла (эта переменная носит в ANSYS CFX название Wall Distance) и, соответственно, мы не можем «вытащить» значение этой переменной в постпроцессоре CFD-Post. Что делать в таких случаях?

Решение будет следующим. Создайте Additional Variable в препроцессоре CFX со следующими параметрами:

Variable Type = Unspecified
Units = [m]
Tensor = Scalar

В настройках расчетного домена выберите для Additional Variable опцию ‘Algebraic Equation’ и далее укажите Wall Distance.

Можно поступить еще проще. Создайте любое выражение, в котором будет содержаться ссылка на переменную Wall Distance. Далее используйте это выражение в качестве «монитора» (закладка Output Control). После этого решатель начнет записывать значения переменой Wall Distance в res-файл.

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

Визуализация пограничного слоя в ANSYS CFD-Post

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

Для этого обычно используют градиенты основных или производных скалярных полей. Часто используется критерий Lambda 2 – это критерий вихревого усиления и Q-критерий – инвариант тензора градиентов скорости. Отметим, что в постпроцессоре CFD-Post эти критерии присутствуют по-умолчанию и доступны через закладку Vortex Core Region.

Для анализа сжимаемых течений (высокие числа Маха) «рисуют» численные шлирен-фотографии, подобные тем, что показаны на рисунке слева.

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

Возмущения, которые вносятся в поток обтекаемым телом (например, профилем крыла), при числах Re >>1 локализуются в относительно тонких пристеночных слоях, что позволяет использовать при инженерных расчетах модель пограничного слоя конечной толщины delat. За пределами этого слоя течение можно считать невозмущенным. Соответственно, основное влияние вязкости сосредоточено в пределах пограничного слоя, где скорость потока по нормали к стенке монотонно изменяется от нуля на стенке (условие прилипания) до скорости невозмущенного течения.

При этом за толщины слоев delatпринимают значения координат y по нормали к стенке, при которых скорость, температура и пр. в них отличаются от соответствующих значений этих величин во внешнем потоке на 1% (см. рисунок ниже, на котором показана схема развития пограничного слоя).

Laminar boundary layer

Этим «удобным» допущением обычно и пользуются для визуализации пограничного слоя в ANSYS CFD-Post. Безусловно, в данный подход заложены определенные неточности, которые могут быть сняты при использовании интегральных характеристик толщин пограничных слоев (толщины вытеснения, толщины потери импульса и пр.).

Читать далее

Как раскрутить «ротор» в ANSYS CFX

wind turbine

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

Что можно предложить для решения данной проблемы? Например, начать раскручивать ротор с постоянным ускорением, но с переменной угловой скоростью. До тех пор, пока она не достигнет своего номинального значения.

Для этого необходимо написать несколько CEL-выражений. Ниже показан фрагмент CCL файла реального проекта, в котором была использована описанная технология.

LIBRARY:
CEL:
EXPRESSIONS:
Accel = torq / MassInert
MassInert = 40 [kg m^2]
accelconst = 0.01 [rad s^-2]
anglenew = angleold+omeganew*tStep
angleold = atan2(x,y)
omeganew = omegaold+accelconst*tStep
omegaold = sqrt((Mesh Velocity X)^2 + (Mesh Velocity Y)^2)/max(radius, \
1e-08[m])
radius = sqrt(x^2+y^2)
tStep = 0.1 [s]
torq = torque()@WALL BLADES
END
END

На этом всё!
С уважением, Денис П. Хитрых.

Расчет сил и моментов в CFD-Post в абсолютной системе координат

При нестационарном  моделировании течения газа в турбомашинах c использованием модели TRS (Transient Rotor-Stator), вращающиеся домены остаются неподвижными, но при этом на каждом шаге по времени изменяется относительное положение газодинамических полей на обеих сторонах интерфейса ротор-статор.

Соответственно, силы и моменты, рассчитываемые с использованием выражений типа force_x() или torque_(x), вычисляются в относительной системе координат вращающихся доменов.

Для вычисления значений сил и моментов в абсолютной системе координат (СК) необходимо выполнить преобразование СК.

Допустим, что ось вращения лопаточной машины совпадает с осью Z. Тогда выражения для расчета сил будут выглядеть следующим образом:

userforceX = force_x()@blade * cos(Angular Velocity * Time) + force_y()@blade * sin(Angular Velocity * Time)

userforceY = -1 * force_x()@blade * sin(Angular Velocity * Time) + force_y()@blade * cos(Angular Velocity * Time)

На этом всё!
С уважением, Денис П. Хитрых.

Как удалить «лишнюю» O-сетку в ANSYS ICEM CFD

сетки

Cегодня я покажу вам как за один раз удалить всю O-сетку, построенную в сеточном препроцессоре ANSYS ICEM CFD.

Для этого существует специальная опция, которая называется Merge Vertices. Последовательность действий следующая: открываете одноименную закладку, нажимаете на иконку, которая находится слева. Затем включаете опцию Propagate merge (иначе все ваши потуги ограничатся только двумя узлами).

Наконец, выбираете два любых «диагональных» узла О-сетки и нажимаете на кнопку [Confirm].

На этом все!о_сетка С уважением, Денис Хитрых.

Расчет углов падения/отражения частиц в Fluent

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

Подобную ситуацию мы можем наблюдать, например, при расчете углов падения/отражения частиц при взаимодействии со стенкой в ANSYS Fluent:  углы вычисляются, но информация об их значениях не сохраняется в файлы результатов.

Доступ к этой информации можно получить с помощью соответствующих предустановленных UDF-макросов: DEFINE_DPM_EROSION и DEFINE_DPM_BC (подробнее см. документацию).

С другой стороны, косинус угла падения можно вычислить по формуле  cos_a = NV_DOT(A,V)/(NV_MAG(A)*NV_MAG(V)). Тогда угол падения Alpha равен acos(cos_a). Здесь A — площадь поверхности, с которой взаимодействует частица;  V  — вектор скорости частицы.

На этом всё!
С уважением, Денис Хитрых.