Нода «Адвекция сетки» (advect grid node)

Нода ":abbr:`Адвекция сетки (Advect Grid)`".

Нода „Advect Grid“ перемещает значения вокселей по полю скоростей с течением времени, используя численное интегрирование. Эта операция называется адвекцией и обычно используется в системах симуляции жидкости, дыма и движения для изменения таких величин, как плотность, температура или цвет, в соответствии с полем потока.

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

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

Входы (inputs)

Сетка (grid)

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

Cкорость (velocity)

Векторная сетка определяет направление и величину потока в каждом вокселе. Поле „скорости“ определяет, как значения сетки будут переноситься в пространстве.

Временной шаг (time step)

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

Метод интеграции (integration scheme)

Метод численного интегрирования, используемый для отслеживания положений вокселей в поле скоростей:

Полулагранжевый (semi-lagrangian):

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

Средняя точка (midpoint):

Интегрирование по средней точке второго порядка. В большинстве случаев обеспечивает хороший баланс между скоростью и точностью.

Рунге-Кутта 3 (Runge-Kutta 3):

Интеграция Рунге-Кутты третьего порядка. Обеспечивает более высокую точность при умеренных вычислительных затратах.

Рунге-Кутта 4 (Runge-Kutta 4):

Интеграция Рунге-Кутты четвёртого порядка. Одношаговый метод с наивысшей точностью, идеально подходит для детальных симуляций, но вычисления выполняются медленнее.

МакКормак (MacCormack):

Метод МакКормака с неявным контролем диффузии. Уменьшает численное рассе́яние, сохраняя при этом устойчивость.

BFECC:

Метод компенсации и исправления ошибок в прямом и обратном направлении. Усовершенствованный метод, минимизирующий рассе́яние и диффузию, сохраняя более чёткие контуры.

Ограничитель (limiter)

Методика ограничения, используемая для уменьшения артефактов пере- или недорегулирования, возникающих в схемах адвекции высокого порядка:

Нет* (none):

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

Ограничение (clamp):

Ограничивает значения в пределах исходного диапазона, предотвращая выход значений за пределы или их занижение, сохраняя при этом стабильность.

Сбросить изменения* (revert):

В случаях, когда требуется ограничение, возвращается к интегрированию 1-го порядка. Более консервативно и стабильно, чем применение только ограничения.

Свойства (properties)

Тип данных (data type)

Тип данных, хранящихся в сетке (например, Float, Integer, Vector). Определяет тип переносимого поля.

Выходы (outputs)

Сетка (grid)

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