Дивергенция ∇·F: источники и стоки

Дивергенция отвечает на вопрос: рождается поле в этой точке или утекает в неё?

Дивергенция $\nabla \cdot \vec F = \dfrac{\partial P}{\partial x} + \dfrac{\partial Q}{\partial y} + \dfrac{\partial R}{\partial z}$ — скаляр, измеряющий «расширение» поля в точке.

Источник, сток, ничего

Представьте поле как течение жидкости. Дивергенция в точке — это разница между тем, сколько вытекает и втекает в крошечный объём вокруг неё:

  • $\nabla \cdot \vec F \gt 0$ — источник: поле «бьёт ключом» (вытекает больше).
  • $\nabla \cdot \vec F \lt 0$ — сток: поле «всасывается».
  • $\nabla \cdot \vec F = 0$ — поле несжимаемо (сколько втекло, столько вытекло).

Дивергенция — это формальное скалярное произведение оператора $\nabla$ на поле $\vec F$, отсюда запись $\nabla \cdot \vec F$. Результат — скаляр.

Считаем дивергенцию численно

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

# Радиальное поле F = (x, y) — источник
radial = lambda x, y: (x, y)
print("div радиального =", round(divergence(radial, (1, 1)), 4))

# Поле вращения F = (-y, x) — без источника
rotor = lambda x, y: (-y, x)
print("div вращения    =", round(divergence(rotor, (1, 1)), 4))

Вывод:

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

Радиальное поле $(x,y)$ «разбегается» из начала — дивергенция положительна. Поле вращения $(-y,x)$ только крутится, ничего не рождает — дивергенция ноль.

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

Дивергенция — это плотность потока: позже мы увидим (теорема Гаусса-Остроградского), что интеграл дивергенции по объёму равен полному потоку через границу. То есть локальная мера «расширения» суммируется в глобальный «сколько вытекло наружу». Радиальное поле имеет дивергенцию $2$ всюду в 2D, потому что $\partial x/\partial x + \partial y/\partial y = 1 + 1 = 2$.

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

  • Думать, что дивергенция — вектор. Это скаляр (в отличие от ротора).
  • Считать поле вращения имеющим источник — у него дивергенция ноль.
  • Путать знак: положительная дивергенция — источник, отрицательная — сток.

Итог

  • $\nabla \cdot \vec F$ — скаляр, мера источника/стока в точке.
  • $\gt 0$ источник, $\lt 0$ сток, $= 0$ несжимаемо.
  • Радиальное поле — источник, поле вращения — нулевая дивергенция.
Проверьте себя
1. Дивергенция векторного поля — это…
Aвектор
Bскаляр (число)
Cматрица
Dдругое векторное поле
2. Положительная дивергенция в точке означает, что там…
Aсток
Bисточник
Cвихрь
Dполе равно нулю
3. Чему равна дивергенция поля вращения F=(−y, x)?
A2
B0
C−2
Dx+y