Ротор ∇×F: вихри поля

Ротор измеряет, насколько поле закручивает крошечную вертушку, помещённую в точку.

Ротор $\nabla \times \vec F$ — вектор, характеризующий вращение (завихрённость) поля в точке.

Формула

Ротор — это формальное векторное произведение $\nabla$ на $\vec F$:

$$\nabla \times \vec F = \begin{vmatrix} \vec e_x & \vec e_y & \vec e_z \\ \partial_x & \partial_y & \partial_z \\ P & Q & R \end{vmatrix}$$

В плоском случае ($R=0$, всё зависит от $x,y$) у ротора важна только $z$-компонента:

$$(\nabla \times \vec F)_z = \frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y}$$

Физический смысл

Поместите в поток маленькое колесо с лопатками. Если оно начнёт вращаться — ротор не ноль, и он направлен вдоль оси вращения (по правилу правой руки). Поле без вращения ($\nabla \times \vec F = \vec 0$) называют безвихревым (потенциальным).

Сравним два поля

def curl_z(field, p, h=1e-6):
    x, y = p
    P = lambda x, y: field(x, y)[0]
    Q = lambda x, y: field(x, y)[1]
    dQdx = (Q(x+h, y) - Q(x-h, y)) / (2*h)
    dPdy = (P(x, y+h) - P(x, y-h)) / (2*h)
    return dQdx - dPdy

# Поле вращения F = (-y, x): сильный вихрь
rot = lambda x, y: (-y, x)
print("rot вращения    =", round(curl_z(rot, (1, 1)), 4))

# Радиальное поле F = (x, y): без вихря
radial = lambda x, y: (x, y)
print("rot радиального =", round(curl_z(radial, (1, 1)), 4))

Вывод:

rot вращения    = 2.0
rot радиального = 0.0

Поле вращения закручивает вертушку (ротор $2$), радиальное поле — нет (ротор ноль). Сравните с прошлым уроком: там было ровно наоборот для дивергенции. Эти два оператора «видят» разные стороны поля.

Как работает под капотом

Ротор и дивергенция дополняют друг друга. Любое достаточно гладкое поле раскладывается на безвихревую часть (градиент потенциала, ротор $=0$) и соленоидальную часть (дивергенция $=0$) — это теорема Гельмгольца. Радиальное поле — чистый «источник», поле вращения — чистый «вихрь», и они не пересекаются.

Частые ошибки

  • Считать ротор скаляром. В 3D это вектор; в 2D от него остаётся одно число — z-компонента.
  • Путать порядок в $\partial Q/\partial x - \partial P/\partial y$: перестановка меняет знак.
  • Думать, что большая скорость поля = большой ротор. Ротор про закрученность, а не про модуль.

Итог

  • $\nabla \times \vec F$ — вектор, мера завихрённости поля.
  • В 2D работает $z$-компонента: $\partial Q/\partial x - \partial P/\partial y$.
  • Поле вращения вихревое, радиальное безвихревое — зеркально дивергенции.
Проверьте себя
1. Ротор векторного поля в трёхмерном пространстве — это…
Aскаляр
Bвектор
Cматрица
Dфункция одной переменной
2. Чему равна z-компонента ротора плоского поля F=(P,Q)?
A∂P/∂x + ∂Q/∂y
B∂Q/∂x − ∂P/∂y
C∂P/∂y − ∂Q/∂x
D∂P/∂x · ∂Q/∂y
3. Поле, у которого ротор равен нулю всюду, называют…
Aнесжимаемым
Bбезвихревым (потенциальным)
Cсоленоидальным
Dисточником