Научная статья на тему 'МОДЕЛИРОВАНИЕ СПЛОШНОЙ СРЕДЫ ПРИ ПОМОЩИ МЕТОДА SPH'

МОДЕЛИРОВАНИЕ СПЛОШНОЙ СРЕДЫ ПРИ ПОМОЩИ МЕТОДА SPH Текст научной статьи по специальности «Математика»

CC BY
457
104
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SPH / ГИДРОДИНАМИКА / МОДЕЛИРОВАНИЕ

Аннотация научной статьи по математике, автор научной работы — Кибко М.О.

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

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

Похожие темы научных работ по математике , автор научной работы — Кибко М.О.

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

Текст научной работы на тему «МОДЕЛИРОВАНИЕ СПЛОШНОЙ СРЕДЫ ПРИ ПОМОЩИ МЕТОДА SPH»

Список литературы:

1. Хоар Ч. Взаимодействующие последовательные процессы: пер. с англ. - М., Мир, 1989. - 264 с., ил.

Волгоградский государственный университет, г. Волгоград

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

Ключевые слова SPH, гидродинамика, моделирование.

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

2. Аппроксимация значений физических величин при помощи SPH 2.1. Вычисление значения атрибута и сглаживающая функция

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

Значение атрибута интерполируется посредством взвешенной суммы воздействий всех частиц и вычисляется по формуле

МОДЕЛИРОВАНИЕ СПЛОШНОЙ СРЕДЫ ПРИ ПОМОЩИ МЕТОДА SPH

© Кибко М.О.1

1. Введение

1 Аспирант очного обучения.

где AS - вычисляемое сглаженное значение атрибута;

r - позиция частицы в пространстве, м;

Aj - значение атрибута для j-ой частицы;

W(r - rj, h) - сглаживающая функция (функция ядра);

h - длина сглаживания, м.

Функция W(r, h) называется сглаживающей функцией ядра. Данная функция выбирается при моделировании и должна быть гладкой. При этом должны также выполняться следующие условия:

lim W (r - r',h)- dr'= ö (r — r') dr', (2)

jw (r',h) — dr' = 1, (3)

где S(r - r') - функция Дирака в точке r.

Фактически сглаживающая функция определяет вес влияния каждой частицы на вычисляемую величину. Чем ближе соседняя частица к той частице, для которой вычисляется величина атрибута - тем, соответственно, больше её влияние на результат и тем больше сглаживающая функция в этой позиции. При этом сглаживающая функция имеет такой параметр, как длина сглаживания h. Этот параметр определяет масштаб функции и соответственно разрешение, с которым происходит моделирование, так как основной вклад в вычисление величины вносят частицы на расстоянии не более чем 2h от частицы, для которой производятся вычисления. Другие частицы либо вносят незначительный вклад в вычисления либо не вносят его вовсе, в зависимости от выбранной сглаживающей функции.

Стоит отметить, что интерполяция значения атрибута может иметь второй порядок точности [1] только если сглаживающая функция нормализована и удовлетворяет условию

W (r, h) = W (—r, h). (4)

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

dx j р dx '

где х - величина, по которой вычисляется производная (как правило, пространственная координата).

Таким образом, градиент величины A можно представить как

A

VAS (r) = Yjmj-LVW(r -rj,h), (6)

J PL

а лапласиан величины А принимает форму

А

V2 А ( г ) = Х у2 ^ (Г - г, к). (7)

] Р]

2.2. Вычисление плотности и закон сохранения массы в 8РИ

Подставив плотность как вычисляемую величину в уравнение (1), получаем стандартный подход для вычисления плотности в методе 8РИ

Р

= X(Г - Г,к).

(8)

Данный метод позволяет гарантировать сохранение массы в модели, но создает ряд проблем, связанных с поверхностью жидкости или газа. Частицы, которые оказываются на поверхности или близко к ней имеют значительно меньшую плотность, чем частицы внутри жидкости (или газа) вследствие того, что они имеют значительно меньше частиц соседей. В последствии неверное вычисление плотности также приводит к неверному вычислению давления. Данное свойство производит артефакты поверхностного натяжения [2].

2.3. Закон сохранения импульса и вычисление ускорения частицы

Уравнение Навье-Стокса определяет закон сохранения импульса для метода 8РИ и позволяет вычислять изменение ускорения частиц во времени.

Уравнение формулируется следующим образом

+ ^ ) = -^ + р§ + (9)

где р- плотность частицы, кг/м3;

V - скорость частицы, км/ч;

/ - время, с;

р - давление в данной точке, Па;

g - ускорение свободного падения, ~9,8 км/с2;

[ - динамический коэффициент вязкости, Па-с.

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

Использование лагранжевой гидродинамики (представление жидкости частицами) вместо эйлеровой (представление в виде сетки) упрощает уравнение (9). В левой части уравнения (9) сумма частной производной скорости по времени и члена, описывающего конвекцию, заменяется производной Лагранжа)

-= —(10)

О/

А так, как частицы движутся вместе с жидкостью, то производная Ла-гранжа может быть заменена производной скорости частицы по времени, что означает, что конвективный член уУу не нужен для моделей с частицами.

На правой стороне уравнения (9) имеются три силовых поля, моделирующие давление -Ур, внешние силы р и вязкость /1У2у. Сумма этих трёх силовых полей

/ = -Ур + pg + (11)

определяет изменение импульса рна левой стороне уравнения (9). Соответственно, для ускорения 1-ой частицы, получаем

а =-Т7 = — > (12)

Ш р

где /, - сумма силовых полей для данной частицы.

3. Реализация численной модели при помощи метода 8РИ

3.1. Моделирование сил, влияющих на ускорение частиц

Применение правила 8РИ, описанного в уравнении (1) к первому члену правой части уравнения (9) -Ур, описывающему давление, приводит к формуле, позволяющей вычислить силу давления для конкретной частицы

ГГШГе =-Ур (Т ) = -£ тур УЖ (п - Ту, к). (13)

у ру

Сила давления, вычисляемая таким образом - несимметрична, что влияет на качество моделирования, делая его менее точным, а модель - более неустойчивой. Наиболее простым способом симметризации уравнения (13) может служить следующий способ, который и был использован в данной работе

ГГШ" = -Е ту^^ УЖ (г - Ту, к), (14)

у 2ру

где р/ - значение давления для /-ой частицы.

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

Так как частицы имеют только три свойства, хранимых в памяти непосредственно: масса, позиция в пространстве и скорость, то давление в месте

нахождения частицы должно быть вычислено, прежде чем его можно будет использовать в уравнении (14). Давление может быть вычислено через уравнение состояния.

В данной работе использовалось уравнение состояния, предложенное Мо-наганом [3], как наиболее подходящее для моделирования потоков жидкости

где В - постоянная давления, параметр моделирования, Па; у- показатель адиабаты.

Применение правила SPH (1) к члену правой части уравнения (9) /иУ2у, описывающему вязкость, приводит к формуле, применимой для вычисления асимметричной силы вязкости

где Vу - скоростьу-ой частицы.

Данная сила асимметрична, так как поле скоростей различно для разных частиц.

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

где vi - скорость /-ой частицы.

Уравнение (17) можно интерпретировать следующим образом: частица ускоряется в направлении движения окружающей её среды (других частиц).

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

Молекулы жидкости подвержены притяжению со стороны соседних молекул. Внутри жидкости эти межмолекулярные силы одинаковы во всех направлениях и балансируют друг друга. Силы же, воздействующие на молекулы на поверхности жидкости - не сбалансированы. Сила поверхностного натяжения действует по направлению нормали к поверхности жидкости. Также эта сила способствует минимизации искривления поверхности. Чем

(15)

(16)

(17)

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

Поверхность жидкости находится с использованием дополнительного поля, имеющего значения 1 в местах нахождения частиц и 0 в других позициях. Это поле называется «цветовым полем». При применении (1) к данному полю, получаем

( Г ) = Е ту—(г - Г'к )'

(18)

т

/ 'Р.

где с8 - значение сглаженного цветового поля для частицы /. Градиент сглаженного цветового поля

п = Ус3, (19)

даёт поле нормалей, направленных к поверхности жидкости, а дивергенция п измеряет искривление поверхности

-У2сч

к = . (20)

Iп I

Минус в формуле (20) необходим для того, чтобы получить положительную кривизну для выпуклых объемов жидкости.

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

Сила поверхностного натяжения формулируется следующим образом

ГФсе= акп (21)

I п |

Для того, чтобы распределить поверхностное натяжение среди частиц, находящихся на поверхности, умножаем (21) на нормализованное скалярное поле = |п|, которое не равно нулю только рядом с поверхностью. Получаем силу поверхностного натяжения, распределенную среди частиц на поверхности

¡шфсе= <жп. (22)

Вычисление п / |п| в тех позициях, где |п| мало, может вызывать проблемы с вычислениями. Сила (22) вычисляется только если |п| превышает некоторое заданное минимальное значение.

Внешние силы в уравнении (9) представлены гравитацией pg. Сила гравитации применяется к частицам непосредственно, без использования 8РИ. Аналогичным образом к частицам могут применяться и другие внешние силы. В частности, в разработанной модели существуют твёрдые стенки,

которые, при прохождении частицы через них, отражают зеркально её скорость и выталкивают частицу обратно в моделируемое пространство. Значение ускорения свободного падения берётся равным 9,8 м/с2.

3.2. Ядра сглаживания, используемые в численной модели

Устойчивость, точность и требовательность к ресурсам метода SPH сильно зависит от выбора сглаживающих функций (ядер сглаживания). Используемые в данной работе ядра сглаживания имеют второй порядок точности, так как они удовлетворяют условиям (2) и (3) и (4). В дополнение к этому, ядра такого типа способствуют устойчивости системы [1]. В данной работе используется три различных ядра сглаживания. Первое из них используется во всех случаях, кроме двух, указанных далее и формулируется следующим образом

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

Важная черта ядра сглаживания (23) состоит в том, что г в нём появляется только в возведённом в квадрат виде, что означает, что отсутствует необходимость вычислять квадратный корень для вычисления скалярного расстояния, что значительно уменьшает сложность вычислений и, соответственно, требования к машинным ресурсам. Тем не менее, при применении данного ядра для подсчёта силового поля давления, частицы часто собираются в отдельные кластеры под высоким давлением. Как только частицы

(h - r j , если 0 < r < h; 0, в другом случае.

(23)

Рис. 1. Графики трёх ядер сглаживания (poly6, spiky, viscosity - слева направо)

приближаются достаточно близко друг к другу - отталкивающие силы исчезают из-за того, что градиент данного ядра стремится к нулю в центре (рисунок 1). Решить эту проблему можно, используя для подсчета сил давления другую сглаживающую функцию, градиент которой не стремится к нулю у центра осей координат. Для подсчета сил давления, используется ядро, предложенное БеБЬгип [5]

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

Вязкость - это явление, вызываемое трением, и следовательно, вязкость уменьшает кинетическую энергию, преобразовывая её в тепловую. Таким образом, вязкость должна иметь лишь только сглаживающий эффект на поле скоростей и не должна ускорять частицы. Если использовать в качестве ядра сглаживания для вязкости (23) или (24), то они не дадут необходимых качеств полученной в результате вычислений силе. Как видно на рисунке 1, для двух частиц, находящихся рядом друг с другом лапласиан сглаженного поля скоростей (от которого зависит вязкость) может становиться отрицательным, что приводит к вычислению таких сил, которые будут ускорять относительную скорость частицы, вместо того, чтобы уменьшать её. При вычислениях в реальном времени и сравнительно небольшом числе частиц данный артефакт может вызывать проблемы с устойчивостью модели. Таким образом, в данной работе для сил вязкости используется следующее ядро сглаживания

Лапласиан данной функции принимает положительные значения на всём промежутке действия ядра. Также данная функция имеет следующие дополнительные свойства

(25)

0, в другом случае.

VWU ( Гh (h - r ),

Wpy (| Г |= h, h) = 0, VWp&y (| r |= h,h) = 0.

45

spiky

(26)

(27)

Использования ядра сглаживания (25) для вычисления вязкости значительно увеличивает устойчивость модели и убирает необходимость добавлять дополнительное затухание для сохранения устойчивости.

3.4. Отслеживание и визуализация поверхности жидкости

Цветовое поле (18) и его градиент (19) могут быть использованы для того, чтобы идентифицировать частицы, находящиеся на поверхности жидкости (или газа) и для того, чтобы вычислять нормали к поверхности.

Частица под номером / считается частицей, находящейся на поверхности, если

где I - параметр моделирования, обозначающий некоторую границу между частицами на поверхности жидкости и частицами внутри жидкости.

Направление нормали к поверхности в позиции ьой частицы можно определяется выражением

4. Результаты тестирования программного приложения

Тестовый случай прорыва плотины позволяет проследить воздействие различных силовых полей на частицы и наглядно оценить соответствие модели экспериментальным данным. Данный тестовый случай был взят с сайта организации SPHERIC (SPH European Research Interest Community), где он был описан со ссылкой на статью Имре Яноши [10].

Исходная ситуация описана на схеме, изображенной на рис. 2. Параметр do задаёт глубину воды по левую сторону от плотины и в данном эксперименте равен 15 сантиметрам. Параметр d устанавливает глубину воды по правую сторону от плотины и равен 38 миллиметрам. На расстоянии 38 сантиметров вправо от левой стенки находится барьер (плотина), разделяющий экспериментальную установку на левую часть с глубиной 15 сантиметров и правую с глубиной воды 38 миллиметров. Общая длина экспериментальной установки - 1 метр 4 сантиметра.

I n ( rt )!> I,

(29)

Nsurface (Г, ) = ~П (Г )•

(30)

do

0.38

Рис. 2. Начальное состояние экспериментальной установки

Эксперимент записывался на две камеры одновременно, запись была проведена на участке оси X от 0,38 м до 1,04 м. На рис. 3 изображены результаты эксперимента, полученные Яноши [10].

Рис. 3. Кадры с двух камер, демонстрирующие результаты эксперимента

Результаты проведения эксперимента по прорыву плотины на реализованной численной модели приведены на рисунке 4.

Снимки экрана были сделаны в приблизительно то же время, что и снимки камерами в эксперименте Яноши. В заголовке окон программы указано время каждого снимка (внутреннее время модели). В проводимом эксперименте не был учтён барьер, который в эксперименте Яноши поднимается со скоростью 1,5 метра в секунду, так как для создания подобного движущегося барьера необходима реализация движущегося твёрдого тела, что выходит за рамки данной работы. В целом, можно предположить, что влияние барьера на качественные результаты эксперимента незначительно.

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

Рис. 4. Результаты эксперимента на численной модели

Список литературы:

1. Muller M. Particle-Based Fluid Simulation for Interactive Applications / M. Muller, D. Charypar, M. Gross // Eurographics/SIGGGRAPH Symposium on Computer Animation / Edited by D. Breen and M. Lin. - Zurich: Federal Institute of Technology Zurich (ETHZ), 2003. - p. 7.

2. Schechter H. Ghost SPH for Animating Water / H. Schechter, R. Bridson // Eurographics/SIGGGRAPH Symposium on Computer Animation / Edited by N. Thuerey. - Vancouver: University of British Columbia (UBC), 2012. - p. 8.

3. Monaghan J.J. Simulating Free Surface Flows with SPH / J.J. Monaghan // Journal of Computational Physics. - 1994. - № 110 (2). - p. 399-406.

4. Lucy L.B. A numerical approach to the testing of the fission hypothesis / L.B. Lucy // The Astronomical Journal. - 1977. - № 82. - p. 1013-1024.

5. Desbrun M. Smoothed particles: A new paradigm for animating highly de-formable bodies / M. Desbrun, M.P. Cani // Computer Animation and Simulation

'96 (Proceedings of EG Workshop on Animation and Simulation) / Edited by Edited by D. Thalman and M. van de Panne. - Wien: Springer-Verlag, 1996. - p. 61-76.

6. Braune, L. An initiation to SPH / L. Braune, T. Lewiner - Rio de Janeiro: PUC-Rio, 2013. - p. 1-7.

7. Sun F. Investigations of Boundary Treatments in Incompressible Smoothed Particle Hydrodynamics for Fluid-Structural Interactions / F. Sun, M. Tan, J. Xing // Recent Researches in Mechanics / Edited by N. Mastorakis - Corfu Island: WSEAS Press, 2011. - p. 92-97.

8. Muller M. Particle-Based Fluid Interaction / M. Muller, B. Solenthaler, R. Keiser, M. Gross // Eurographics/SIGGGRAPH Symposium on Computer Animation / Edited by D. Breen and M. Lin. - Zurich: Federal Institute of Technology Zurich (ETHZ), 2005. - p. 1-7.

9. Randles P.W. Smoothed Particle Hydrodynamics: Somer recent improvements and applications / P.W. Randles, L.D. Libersky // Computer Methods in Appliedn Mechanics and Engineering - 1996 - № 139 - p. 375-408.

10. Janosi I.M. Turbulent drag reduction in dam-break flows / I.M. Janosi, D. Jan, K.G. Szabo, T. Tel // Experiments in Fluids - 2004 - № 37 - p. 219-229.

РАЗРАБОТКА POINT-OF-INTEREST РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ ПРИ ИСПОЛЬЗОВАНИИ LBSN СОЦИАЛЬНЫХ СЕТЕЙ

© Пахомова К.И.1

Сибирский федеральный университет, г. Красноярск

В статье рассматривается проблема изучения жизненного цикла человека по средствам извлечения данных POI (Point-of-Interest) из LBSN (Location Based Social Network). На основе алгоритмов классификации и прогнозирования строится рекомендательная система, которая в свою очередь предугадывает поведение пользователя при смене локации в соответствии с его собственными привычками и традициями. На основе алгоритмов кластеризации строится модель рекомендательной системы, включающая временные, хронологические, географические и личные особенности пользователя.

Ключевые слова: POI (Point-of-Interest), LBSN (Location Based Social Network), рекомендательные системы, кластеризация, жизненный цикл человека, численный вероятностный анализ.

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

1 Аспирант кафедры Искусственного интеллекта.

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