Научная статья на тему 'Моделирование обтекания двумерных профилей средствами пакета OpenFOAM'

Моделирование обтекания двумерных профилей средствами пакета OpenFOAM Текст научной статьи по специальности «Математика»

CC BY
269
44
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ С ОТКРЫТЫМ ИСХОДНЫМ КОДОМ / ПОСТРОЕНИЕ СЕТОК

Аннотация научной статьи по математике, автор научной работы — Попов Алексей Юрьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Попов Алексей Юрьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Моделирование обтекания двумерных профилей средствами пакета OpenFOAM»

УДК 532

А. Ю. Попов

МОДЕЛИРОВАНИЕ ОБТЕКАНИЯ ДВУМЕРНЫХ ПРОФИЛЕЙ СРЕДСТВАМИ ПАКЕТА OPENFOAM

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

E-mail: andreypopov@live.ru

Ключевые слова: свободное программное обеспечение с открытым исходным кодом, построение сеток.

При проектировании различных конструкций, находящихся в воздушном потоке, зачастую требуется определение аэродинамических нагрузок (сил и моментов), действующих на них. При решении задач вычислительной аэродинамики все более широкое применение находит свободно распространяемый пакет OpenFOAM. Как следует из его названия (Open Source Field Operation and Manipulation — свободно распространяемый инструментарий для операций с полями), это не столько пакет по решению задач вычислительной гидро- и аэродинамики в традиционном понимании, сколько инструментарий для решения уравнений в частных производных. OpenFOAM распространяется с открытым исходным кодом, тем самым предоставляя широкие возможности по изучению и доработке реализованных в нем математических моделей, методов решения систем линейных алгебраических уравнений, численных методов решения уравнений в частных производных, систем обыкновенных дифференциальных уравнений. По своей архитектуре OpenFOAM является набором большого количества библиотек на языке Си. Такая модульная структура пакета позволяет гибко модифицировать пакет под свои нужды, причем для этого требуется обладание знаниями скорее не о классах пакета OpenFOAM и взаимосвязях между ними, а о математических моделях и методах решения задач.

OpenFOAM предоставляет широкие возможности по настройке средств пакета под решение конкретной задачи или класса задач, однако это порождает и определенные сложности. Выбор численных методов и схем решения, а также установка значений большого количества параметров при практическом отсутствии настроек "по умолчанию" требует высокой квалификации пользователя и, зачастую, больших трудозатрат. При этом документация пакета не всегда позволяет найти

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

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

Препроцессор. Решение любой задачи вычислительной аэродинамики в прикладном программном пакете начинается с описания геометрии расчетной области, построения сетки в ней и задания граничных условий. Перечисленные операции являются основными функциями препроцессоров. В случае областей простейшей формы допустимо использование входящей в состав OpenFOAM утилиты blockMesh. Данный препроцессор позволяет строить блочно-структурированные сетки из призм. Однако задачи моделирования обтекания профилей предъявляют высокие требования к сеткам как по разрешающей способности, так и по качеству. В силу этого применением blockMesh можно ограничиться только в задачах расчета течения в областях самой простой формы; в сколько-нибудь сложных случаях необходимо использовать более мощные препроцессоры.

Одним из таких программных продуктов является пакет SALOME. SALOME — это пре- и постпроцессинговая платформа, состоящая из набора различных модулей. Среди них модуль описания геометрии расчетной области, сеткопостроитель, модуль модификации сетки, постпроцессор и др. Как и OpenFOAM, SALOME распространяется свободно и с открытым исходным кодом. Эта платформа обладает понятным графическим интерфейсом, наглядно отображающим 3D-модели, а также текстовым интерфейсом — консолью, работающей на языке Python. Графический интерфейс SALOME целесообразно использовать для задания геометрии расчетной области сравнительно простой формы. Текстовый интерфейс обеспечивает более эффективную работу, если форма области более сложная, в том числе и за счет возможности параметризации модели. При этом всегда возможен непосредственный переход от текстового интерфейса к графическому и обратно.

Ядро модуля геометрии SALOME основано на технологии Open CASCADE и использует т.н. граничное представление моделей (Boundary Representation, BRep). Это представление предполагает разделение описания модели на собственно геометрию и топологию. Описание собственно геометрии области включает в себя форму и расположение ее элементов. К ним относят точки, прямые, кривые, поверхности. Топология же описывает связь элементов между собой. Ее объектами считаются ребра (отрезки или участки кривых), грани, твердые тела. Модуль геометрии SALOME позволяет как создавать CAD-модели «с нуля», так и импортировать их извне в одном из стандартных форматов ACIS, BREP, STEP, IGES, а также из других, в том числе коммерческих, CAD-пакетов, таких как CATIA и SolidWorks.

Сеткопостроитель SALOME использует данные из модуля геометрии о CAD-модели, для которой он строит сетку в соответствии с выбранными алгоритмами. Для этих целей возможно использование как свободно распространяемых алгоритмов (например, Netgen — автоматического генератора трехмерных сеток из тетраэдров), так и коммерческих, поставляемых отдельно (построитель сеток из тетраэдров TetMesh-GHS3D, построитель сеток из гексаэдров Hexotic). Для учета особенностей геометрической модели при построении сеток широко используются подсетки разных уровней, к каждой из которых могут применяться свои параметры. Возможность использования построенной в SALOME сетки в пакете OpenFOAM обеспечивается сохранением последней в формате I-DEAS UNV и последующей конвертацией с помощью утилиты OpenFOAM ideasUnvToFoam.

При моделировании обтекания профиля всю расчетную область можно разделить на пограничный слой вблизи профиля, где наиболее проявляется влияние сил вязкости, аэродинамический след и внешний поток. Для устойчивости численных расчетов и получения достоверных результатов высокую важность имеет разрешающая способность сетки (желательно структурированной) в пограничном слое, а также для аэродинамического следа. На рис. 1 показан фрагмент сетки для модельной задачи об обтекании кругового цилиндра, построенной в SALOME.

С некоторого времени в состав самого пакета OpenFOAM входит достаточно мощный по своим возможностям препроцессор snappy-HexMesh. В отличие от blockMesh, snappyHexMesh позволяет строить сетки достаточно высокого качества в областях со сложной геометрией. Принцип работы snappyHexMesh заключается в постепенном построении на основе предварительно подготовленной крупной сетки более мелкой и привязке узлов ячеек последней к поверхностям тел, расположенных в расчетной области. Также выполняется

Рис. 1. Пример сетки, построенной средствами SALOME

этап добавления дополнительных слоев ячеек сетки вблизи поверхностей этих тел; snappyHexMesh использует данные о геометрии расчетной области в формате STL (StereoLithography), полученные с использованием любого программного средства, поддерживающего этот формат, включая AutoCAD, Solidworks, Unigraphics. Данные могут быть представлены как в бинарном, так и в текстовом файле. Из средств свободно распространяемого программного обеспечения, поддерживающих формат STL, можно выделить описанный выше продукт SALOME.

Процесс построения сетки в snappyHexMesh начинается с разбиения ячеек, пересекающих границы тел, находящихся в области. Масштаб получаемой в итоге сетки определяется т.н. уровнем ее измельчения. При использовании областей с особыми параметрами измельчения сетки можно задать определенный уровень измельчения внутри/вне области либо различные уровни измельчения в зависимости от расстояния до ее поверхности. При моделировании обтекания профилей эта опция позволяет добиться нужного размера ячеек сетки в зоне аэродинамического следа. По завершении процесса измельчения сетки из нее удаляются ячейки, большая часть объема которых оказалась внутри тела. Для оставшихся ячеек, располагающихся вблизи границы тела, вершины смещаются на нее, после чего выполняется анализ и модификация сетки в целях улучшения ее качества (меньшая неортогональность, закрученность и т.д.). Пример сетки, построенной с помощью snappyHexMesh, приведен на рис.2.

Решатель. Задачей решателя является составление системы линейных алгебраических уравнений, аппроксимирующей математическую модель, и решение построенной системы. OpenFOAM содержит большое количество решателей, которые разделены на группы, соответствующие укрупненным группам решаемых задач. Большинство решателей основано на использовании интегро-интерполяционного метода. При моделировании внешнего обтекания профилей используются решатели, выполняющие решение уравнений Навье-Стокса для

у V \. ч .1 vidvi 1~1—

Д f j'fr .ssjp 1 *"'f

т г" 1*1

5 77F '•K'î.1 vi Щ PfffPpЙ r : ; .

ШЕ ■

1 ■ - V X JÜ Ц-ï-V ч 1 >Н "Y l' y m f \ 1

Рис. 2. Пример сетки, построенной средствами snappyHexMesh

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

Зачастую поток среды, окружающей обтекаемый профиль, характеризуется высоким числом Рейнольдса. В таком случае оператор Лапласа в правой части уравнения уже не удается аппроксимировать напрямую. Вследствие этого применяются различные модели турбулентности [1]. В пакете OpenFOAM реализованы наиболее распространенные их варианты, включая модели с одним и двумя дифференциальными уравнениями для величин, характеризующих состояние турбулентности, а также подходы, реализующие модели LES (метод крупных вихрей) и DES (метод отсоединенных вихрей).

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

Вместо этой задачи можно решать следующую: профиль закреплен неподвижно, при этом присутствует набегающий поток воздуха со скоростью Vœ. Решение задачи осуществлялось в переменных "скорость-давление". В математическую модель входит уравнение несжимаемости (1) и уравнения Навье-Стокса (2):

V- V = 0; (1)

9V + V • (V ® V) = -V(+ vДV. (2)

дГ

Они дополняются граничными условиями прилипания (3) на поверхности цилиндра:

V(Р) = 0, Р е 7, (3)

и граничными условиями "на бесконечности":

V(г, Г) ^ Vр(т,Г) ^ рте, (4)

Рис. 3. Фрагмент сетки в задаче об обтекании кругового цилиндра

В пакете OpenFOAM решение выполнялось следующим образом. Построение сетки осуществлялось с помощью препроцессора snappyHexMesh. Предварительно в пакете SALOME была подготовлена модель в формате STL. Базовая сетка из ячеек кубической формы построена средствами blockMesh. Для более точного моделирования вихревого следа в snappyHexMesh задана область дополнительного измельчения сетки позади цилиндра. Для моделирования пограничного слоя вблизи поверхности цилиндра построены три дополнительных слоя ячеек. Построенная в snappyHexMesh трехмерная сетка затем преобразована в двумерную с одним слоем ячеек в направлении оси Oz, поскольку выполняется решение плоской задачи. Фрагмент использовавшейся в расчетах сетки приведен на рис.3. Построенная сетка содержит около 30 000 ячеек.

Имеет место нестационарный процесс обтекания с образованием шахматной вихревой дорожки Кармана, поэтому использовался решатель pisoFoam, в котором решение уравнений (1), (2) основано на алгоритме PISO. При этом, поскольку задача решалась в ограниченной области, для скорости на левой, верхней и нижней границах расчетной области заданы граничные условия I рода

V (P) = V«

(5)

а на правой границе для скорости задается сложное (в терминах ОрепБОАМ) граничное ои'Ь1е'Ып1е'Ь, соответствующее скорости невозмущенного потока либо нулевой нормальной производной скорости в зависимости от ее направления. Граничные условия для

(дР п

давления — естественные —— = 0

\д п

При выполнении численного моделирования безразмерные параметры задачи выбирались следующим образом: кинематический коэффициент вязкости V = 10-3, скорость набегающего потока = 1, диаметр цилиндра й = 0,5, удлинение Л = 0,1. Поскольку число Рей-

1.5

Рис. 4. Коэффициенты Сха и Суа в зависимости от времени

нольдса в задаче имеет порядок 1000, моделировался ламинарный режим течения.

В ходе проведения тестовых расчетов смоделирован процесс в промежутке от 0 ^ £ ^ 100 с. Среднее значение коэффициента давления Ср в точке торможения составило 1,016, что хорошо согласуется с результатами, описанными в [2]. Графики изменения коэффициента лобового сопротивления Сха и коэффициента подъемной силы Суа в зависимости от времени приведены на рис. 4.

На рис. 5 и 6 показаны линии тока вблизи цилиндра в моменты времени £ = 10 си £ = 30 с соответственно.

Обтекание профиля крыла. Рассмотрим модельную задачу по расчету обтекания симметричного профиля крыла В сим.-12% [3, с. 258]. При различных значениях угла атаки определяли величину коэффициента давления Ср в точке торможения потока на носке крыла.

При решении задачи безразмерные параметры были выбраны следующим образом: V = 10-4, = 1, хорда профиля крыла d = 1, удлинение крыла А = 0,1. В задаче рассматриваются сравнительно

Рис. 5. Линии тока вблизи цилиндра в момент времени i = 10 c

Рис. 6. Линии тока вблизи цилиндра в момент времени t = 30 c

низкие скорости, при которых сжимаемостью воздуха можно пренебречь.

Как и в случае моделирования обтекания цилиндра, построение сетки производилось средствами snappyHexMesh с предварительным построением грубой сетки из кубических ячеек в blockMesh. STL-модель была также подготовлена в SALOME, причем для задания геометрии использовался скрипт на языке Python в силу сложности задания всех узловых точек профиля крыла вручную. Сетка, получившаяся в результате преобразования ее в двумерную, содержит около 42 000 ячеек (рис. 7).

Поскольку в задаче число Рейнольдса Re = 104, необходимо использовать ту или иную модель турбулентности. Для проведения тестовых расчетов была выбрана стандартная k — ш SST-модель турбулентности. Для моделирования процесса обтекания снова использовался решатель pisoFoam. Граничные условия задавались аналогично предыдущей задаче: для скорости — условия I рода (V(P) = V^) на левой (и нижней при ненулевом угле атаки) границе, на остальной части периметра — граничные условия outletlnlet, для давления — естественные ГУ.

Рис. 7. Сетка в задаче об обтекании профиля крыла

Рис. 8. Линии тока при угле атаки 0°

Рис. 9. Линии тока при угле атаки 10°

В результате выполнения тестовых расчетов смоделировано течение в промежутке времени 0 ^ Г ^ 50 с. При угле атаки 0° обтекание является стационарным. При этом коэффициент давления Ср в точке торможения принимает значения в промежутке от 0,998 до 1,004. Линии тока показаны на рис. 8.

При угле атаки 10° течение нестационарное (линии тока показаны на рис. 9). Коэффициент давления Ср в точке торможения остается практически постоянным и находится в промежутке от 0,990 до 0,995. Это хорошо согласуется с теоретическим значением Ср = 1.

Выводы. В работе описана схема решения задачи моделирования плоскопараллельного обтекания профилей в свободно распространяемом пакете ОрепБОАМ. При этом дан краткий обзор средств, которые могут применяться при подготовке исходных данных в ОрепБОАМ на этапе препроцессинга. Для этих целей могут использоваться различные средства, в том числе распространяемые свободно с открытым исходным кодом. Это, в свою очередь, предоставляет широкие возможности для модификации и доработки исходных программных средств для более точной их настройки под решение конкретных задач.

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

СПИСОК ЛИТЕРАТУРЫ

1. Белов И. А., Исаев С. А. Моделирование турбулентных течений: Уч. пособие. СПб: Балт. гос. техн. ун-т., 2001. - 108 с.

2. ШлихтингГ. Теория пограничного слоя. - М.: Наука, 1974. - 712 с.

3. Атлас аэродинамических характеристик профилей крыльев / Б.А. Ушаков, П.П. Красильщиков, А.К. Волков, А.Н. Грегоржевский. - М.: Изд. БНТ НКАП при ЦАГИ, 1940. - 340 с.

Статья поступила в редакцию 05.09.2012

i Надоели баннеры? Вы всегда можете отключить рекламу.