340.76K
Category: informaticsinformatics

Применение CFD/BEM методологии для расчета акустических волн в дальнем и ближнем поле

1.

Применение CFD/BEM методологии
для расчета акустических волн
в дальнем и ближнем поле

2.

Ближнее и дальнее поле
Дальнее поле:
«стоячая среда»;
только акустические возмущения
Контрольная поверхность:
условная граница между полями
Источник возмущений в среде
Ближнее поле:
сильные возмущения в среде;
сложная картина течения
(турбулентность,
нелинейные возмущения)

3.

Методика моделирования
Ближнее поле
Трехмерная задача
Подробная сетка
Расчет газодинамики
Дальнее поле
Метод: VOF
Инструмент: OpenFOAM
v.3.0.1
Сетка – только на
контрольной
поверхности
Расчет только акустики
Метод: BEM (метод
граничных элементов)
Инструмент: BEM++

4.

Некоторые вопросы
Определение положения контрольной
поверхности

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

5.

Этапы численного
моделирования. CFD-часть
1) Газодинамический расчет. Результат – звуковое давление p'.
2) Выбор контрольной поверхности.
Необходимо построить ее в каком-либо стороннем пакете (salome, gmsh) в любом
удобном формате (stl, vtk).
Примечание: сетка на поверхности должна состоять из треугольных элементов.
3) Переход в частотную область: проведение быстрого преобразования Фурье:
p'(x,t) = Re (u(x) exp (-iwt)).
Получение данных комплекснозначной функции u(x) – комплексной амплитуды звукового
давления – для разных частот.
4) Интерполяция решения на выбранную поверхность: библиотека libsampling.
Возможно использовать ее двумя способами:
-
с помощью утилиты sample после расчета;
-
с помощью functionObject во время выполнения расчета.
Необходимая модификация: возможность выдачи результата (поверхность + данные) в
формате gmsh.

6.

Этапы численного
моделирования. BEM-часть
1) Импорт данных для конкретной частоты из gmsh-файла.
Есть по умолчанию: импорт сетки.
Необходимая модификация: чтение данных для построения граничных
условий.
2) Добавление граничных условий для участков сетки, для которых не
были указаны данные в файле (к примеру, условия отражения волны).
3) Построение граничных интегральных уравнений. В BEM++ их
конструируют на основе уравнения Гельмгольца из операторовпотенциалов и объектов-граничных условий (GridFunction).
4) Поиск недостающих значений параметра или его потока путем
решения граничных интегральных уравнений.
5) Расчет значения u(x) в интересующих точках дальнего поля.
6) Получение спектра шума – зависимости u(x) от частоты на основе
нескольких расчетов для разных частот.

7.

Модификации OpenFOAM и BEM
для трансляции данных
OpenFOAM: добавлена возможность импорта результатов работы
библиотеки libsampling в файлы формата gmsh.
BEM++: добавлена возможность импорта данных из gmsh-файла.
Техническая реализация: за импорт данных отвечают объекты классов
FileReader и GmshInterface. Были добавлены новые поля данных и
модифицированы имеющиеся методы.
В коде задачи (Python-скрипт):


создают объект reader = FileReader(filename), в процессе инициализации
которого происходит чтение всех имеющихся данных из поданного на вход
файла;
получают доступ к сетке и данным через соответствующие свойства.
Получение сетки: reader.grid
Получение данных: reader.node_data или reader.element_datа.

8.

Тестовый пример
Пульсация цилиндра (2D)
Размеры
d = 0.019 м
L = 0.5 м
Граничные условия
Внешняя граница: открытая
Окружность: стенки с заданной
пульсацией давления
Закон пульсации давления:
p = A \sin (2 \pi f t) + p_0.
Здесь
A = 100 --- амплитуда
f = 1000 --- частота
p_0 = 101325 --- референсное значение давления.

9.

Тестовый пример
Пульсация цилиндра (2D)
Результат, полученный в OpenFOAM
Граничные условия для цилиндра:
скорость --- zeroGradient;
давление --- oscillatingFixedValue.
Граничные условия на внешних
границах: waveTransmissive
Решатель: rhoPimpleFoam
Момент времени, соответствующий
рисунку: t* = 0.0009
Звуковое давление

10.

Тестовый пример
Пульсация цилиндра (2D)
Результат, полученный в BEM++
Контрольная поверхность:
цилиндр, R_c = d
Граничные условия на контрольной
поверхности:
условия Дирихле для
комплексной амплитуды давления
Граничные условия на внешней
границе:
условия Зоммерфельда
(удовлетворяются автоматически)
Звуковое давление

11.

Литература
O. Steinbach. Numerical Approximation Methods for Elliptic Boundary Value
Problems. Finite and Boundary Elements. Austria: Springer, 2008.
W. Śmigaj, S. Arridge, T. Betcke, J. Phillips, M. Schweiger. Solving Boundary
Integral Problems with BEM++ // ACM Trans. Math. Software, 2015. Vol. 41, pp. 6:1–
6:40.
BEM++. Documentation. http://www.bempp.org/docs.html
A. Tosh, P. Liever, F. Owens. A High-Fidelity CFD/BEM Methodology For Launch
Pad Acoustic Environment Prediction // 18th AIAA/CEAS Aeroacoustics Conference
(33rd AIAA Aeroacoustics Conference), 04 - 06 June, 2012.
Бреббия К., Теллес Ж., Вроубелл Л. Методы граничных элементов. М.: Мир,
1987.
Красильников В.А., Крылов В.В. Введение в физическую акустику. М.: Наука,
1984. 403 с.
Голдстейн M.E. Аэроакустика. Машиностроение, 1981. 293 с.
English     Русский Rules