Рассмотрим, что из себя представляет уравнение скоростей. Скорость в каждый момент времени изменяется, также как и плотность, по 3 причинам: присутствие внешних сил, которые увеличивают скорости, диффузия и движение поля.
Первые 2 причины ничем не отличаются от случая для плотностей.
Третья причина для скоростей с первого взгляда может показаться непонятной и не рассмотренной еще, но, если ее интерпретировать как факт, что поле скоростей движется вдоль себя, то она точно так же, как и первые две, сводится к решению рассмотренным выше способом. Есть только одно небольшое добавление.
Поле скоростей должно удовлетворять следующему требованию: она должно сохранять массы переносимых им частиц (это требование берется из условия, что жидкость несжимаема).
Каждое поле скоростей можно разложить на сумму несжимаемого поля (поля, сохраняющего массу) и градиентного поля.
Таким образом, для того чтобы получить несжимаемое поле скоростей, нам достаточно вычесть из нашего текущего поля градиентное поле.
Не вдаваясь в детали, можно сказать, что решение этой проблемы связано с решением линейной системы уравнений, называемой уравнение Пуассона. Эта система разряжена, поэтому можно использовать метод Гаусса-Зейделя для ее решения.
В [12] описана реализация предложенного метода для современных ЦПУ и для процессоров, в которых отсутствует АЛУ для вычислений с плавающей точкой. Данный метод быстро доказал свою состоятельность, получив практическое распространение в таких программных продуктах как Maya и 3dMax, в компьютерных играх и других приложениях. Вслед за [12], активизировались исследования в этой области, многие из которых взяли за основу изложенный подход.