|
|
Строка 11: |
Строка 11: |
| | | |
| == Описание метода == | | == Описание метода == |
− |
| |
− | SPH (Smoothed Particle Hydrodynamics, Гидродинамика сглаженных частиц) - вычислительный лагранжев метод для симуляции жидкостей и газа, который используется в биологии, астрофизике, баллистике, вулканографии, океанографии.
| |
− |
| |
− | Сутью метода SPH является разбиение жидкости на дискретные элементы-частицы. Любая физическая величина любой частицы может быть получена путём суммирования соответствующих величин всех частиц которые находятся в пределах двух сглаженных с помощью функции ядра длин.
| |
− |
| |
− | Значение любой величины ''A'' на любом расстоянии '''r''' задается формулой:
| |
− |
| |
− | <big><math>A(\pmb{r})= \sum_{j}m_{j}\frac{A_{j}}{ρ_{j}}W(|\pmb r -\pmb r_{j}|,h) \qquad \qquad \qquad \qquad \qquad j = 1...N,</math></big>
| |
− |
| |
− | где <math>m_{j}</math> - масса частицы j, <math>A_{j}</math> - значение величины A для частицы j, <math>ρ_{j}</math> - плотность частицы j, W - функция ядра, ''h'' - радиус обрезания.
| |
− |
| |
− | В нашем случае роль функции ядра исполняет функция Люси:
| |
− |
| |
− | <big><math> W(r < h) = \frac{5}{π{b}^{2}}(1+3\frac{r}{h}){(1-\frac{r}{h})}^{3}, </math></big>
| |
− |
| |
− | где <math>r = |\pmb r - \pmb r_{j}|</math>
| |
− |
| |
− | Таким образом, плотность любой частицы высчитывается по формуле:
| |
− |
| |
− | <big><math>ρ(\pmb{r})= \sum_{j}m_{j}W(|\pmb r -\pmb r_{j}|,h) \qquad \qquad \qquad \qquad \qquad i,j = 1...N,</math></big>
| |
− |
| |
− | Используя уравнение Эйлера, уравнения изменения плотности и положения
| |
− |
| |
− | <big><math>
| |
− | \begin{cases}
| |
− | \frac{d\pmb v}{dt} = -\frac{1}{ρ}∇P + \pmb g \\
| |
− | \frac{dρ}{dt} = -ρ∇\cdot\pmb v \\
| |
− | \frac{d\pmb r}{dt} = \pmb v \\
| |
− | \end{cases}
| |
− | </math></big>
| |
− |
| |
− | получаем уравнение движения каждой частицы:
| |
− |
| |
− | <big><math>\frac{d\pmb v_{a}}{dt} = - \sum_{b}m_{b}(\frac{P_{b}}{{ρ_{b}}^{2}} + \frac{P_{a}}{{ρ_{a}}^{2}})∇_{a}W_{ab} \qquad \qquad \qquad \qquad \qquad a,b = 1...N </math></big>
| |