МОДЕЛИРОВАНИЕ ДВИЖЕНИЯ ЖИДКОСТИ
К.В. Васильев, бакалавриат Волгоградский государственный университет (Россия, г. Волгоград)
DOI:10.24412/2500-1000-2024-5-5-117-121
Аннотация. В рамках данной работы реализовано программное обеспечение для моделирования трехмерного потока жидкости на основе уравнения Навье-Стокса и метода Smoothed Particle Hydrodynamics. В процессе разработки использовался программный интерфейс CUDA для высокопроизводительного моделирования на основе параллельных вычислений, а также языки программирования высокого уровня С и C++. Приведены результаты трехмерной гидростатической симуляции распределения частиц в резервуаре, частично заполненном водой.
Ключевые слова: численное моделирование, движение жидкости, CUDA, параллельные вычисления, метод SPH, гидродинамика.
В наше время несомненным препятствием для физических опытов, особенно в области гидродинамики, является невозможность проведения реальных экспериментов с существующими объектами. Очевидным и неоспоримым преимуществом вычислительной гидродинамики является возможность прогнозирования катастрофических и разнообразных природных явлений (например, паводков). Благодаря существующим в этой сфере методам стало достижимым решение сложнейших задач при сохранении точности и скорости разнообразных вычислений.
Метод SPH фокусируется на дискретных сущностях, называемых частицами [1], и их взаимодействиях. Частицы
представляют собой материальные точки с определенными свойствами (плотностью, давлением, скоростью и т. д.), которые перемещаются вместе с потоком жидкости. Гидродинамические свойства оцениваются в позициях частиц и рассчитываются из взвешенного среднего значений на других локальных частицах. Таким образом, каждая частица "сглаживается" по конечному объему постоянной массы [2], и таким образом метод SPH естественно адаптируется к плотности.
Для моделирования движения жидкости методом SPH используются следующие уравнения:
Уравнение импульса:
+ ^ + П«ь) VaWab(ha) + g,
где ра — скорость, ра — давление, ра — плотность частицы а, ПаЬ — вязкий терм, №аЬ(И.а) — сглаживающая функция, д — вектор авитации.
Формула для вязкости с учетом =
ЬУаЪгаЪ/г2аЪ.....+ ц2, где гаЪ = га — гь и
раь = ра — рь, а гк и рк — положение и скорость частицы, саЪ = (са + сь)/2,'Ц = 0.01И2, может быть записана как:
acab№ab + Р^а b Pab
0 иначе.
П«Ь = {--^- если Vab • ^ < (2)
Уравнение непрерывности:
^т = ^ гаь^аь ■ Vа^аЬ(Ла), (3)
ь
где = — — относительная скорость частиц
Ра = ^™Ль(Ла), (4)
ь
где ра — плотность частицы а, — масса частицы Ь, ^аЬ(Ла) — сглаживающая функция.
Этот вариант уравнения непрерывности не содержит производной по и может быть использован для расчета плотности на каждом шаге по времени. Уравнение состояния:
где В —
постоянный коэффициент, р0 — начальная плотность жидкости,
у — адиабатический показатель.
Трехмерное моделирование распределение частиц проходит в рамках резервуара, частично заполненного водой. Как показано на рисунке 1, ширина, длина и высота резервуара составляет 2.0 м.
Рис. 1. Геометрия моделируемого пространства в виде куба
Плотность воды составляет р = 1000 —г, численная скорость звука - с5 =
62.6 м, а коэффициенты искусственной вязкости - а = 1.2,^ = 2.4. Расстояние
между частицами устанавливается равным Дх = 0.023 м, а общее количество частиц жидкости - 262133 (см. рис. 2). Шаг по времени составляет 0.00005 с.
Рис. 2. Начальное расположение всех моделируемых частиц
В начальный момент времени все частицы находятся в состоянии покоя, все границы принято считать непроницаемы-
ми. Рисунок 3 показывает распределение частиц в течение 1 с после начального положения.
1) 2) - н
3) 1 I ж 11 Я 4)
Рис. 3. Расположение моделируемых частиц в процессе вычислений: 1) 0.25 с, 2) 0.5 с, 3)
0.75 с, 4) 1 с.
Можно видеть на рисунке 4, что моделируемая жидкость постепенно угасает и поверхность начинает становится гладкой. В процессе вычислений не возникает каких-либо нереальных явлений, волнения в
жидкости постепенно уменьшаются и граничные условия учитываются корректно, не позволяя частицам покидать область моделирования.
5) Л 6)
7) 8)
Рис. 4. Расположение моделируемых частиц в процессе вычислений: 5) 1.25 с, 6) 1.5 с, 7)
2.0 с, 8) 2.5 с
Рисунок 5 показывает стоячее положение всех частиц в жидком поле. Можно заметить, что частицы в большинстве своем располагаются на одинаковом расстоя-
нии друг от друга. Возмущений не наблюдается, поверхность является ровной, а график распределения давления всех жидких частиц изображен на рисунке 6.
Рис. 5. Конечное состояние системы в процессе выполнения
0.4 0.8 1.2 1.6
■ Аналитические результаты Полученные результаты
Рис 6. Распределение давления в зависимости от глубины
Анализ и тестирование разработанной программы позволили сделать вывод, что метод SPH является подходящим методом для реализации программного приложения на основе объектно-ориентированного подхода средствами языка С++ и про-
граммного интерфейса CUDA, а также что выбор сглаживающего ядра, шага по времени и способа учета граничных условий является ключевым фактором для достижения эффективности и точности вычислений.
Библиографический список
1. Monaghan J.J. Smoothed Particle Hydrodynamics // Annual review of astronomy and astrophysics. - 1992. - Vol. 30, № 1. - P. 543-574.
2. Muller M., Charypar D., Gross M. Particle-based fluid simulation for interactive applications // Fluid dynamics. - 2003. - July. - P. 154-159.
FLUID DYNAMICS SIMULATION
K.V. Vasilev, Bachelor's Student Volgograd State University (Russia, Volgograd)
Abstract. This work implements software for simulating three-dimensional fluidflow based on the Navier-Stokes equations and the Smoothed Particle Hydrodynamics (SPH) method. The development process utilized the CUDA programming interface for high-performance modeling based on parallel computing, as well as high-level programming languages C and C++. Results of a three-dimensional hydrostatic simulation of particle distribution in a partially water-filled reservoir are presented.
Keywords: numerical simulation, fluid motion, CUDA, parallel computing, SPH method, hydrodynamics.