Формулы Гаусса–Остроградского и Стокса

⏱ 50 мин · 🧩 заданий: 11

Дивергенция

Для поля \vec F = (P, Q, R)

\operatorname{div}\vec F = \frac{\partial P}{\partial x} + \frac{\partial Q}{\partial y} + \frac{\partial R}{\partial z} = \nabla\cdot\vec F.

Смысл. Возьмём маленький кубик со стороной h около точки. Поток через две грани, перпендикулярные Ox: \big(P(x + h) - P(x)\big)h^2 \approx P_x h^3. Складывая три пары граней, получаем поток наружу \approx \operatorname{div}\vec F\cdot V. Значит, дивергенция — плотность источников: сколько «жидкости» рождается в единице объёма. \operatorname{div}\vec F > 0 — источник, < 0 — сток, = 0 — несжимаемое течение.

Формула Гаусса–Остроградского

Сложим кубики, заполняющие тело V. Потоки через общие грани соседних кубиков сокращаются (нормали противоположны), остаётся только поток через внешнюю границу:

\boxed{\oiint_{\partial V}\vec F\cdot\vec n\;dS = \iiint_V\operatorname{div}\vec F\;dV}

где \partial V — граница тела с внешней нормалью. Строгое доказательство повторяет доказательство формулы Грина: для слагаемого \iiint R_z\,dV интегрируем по z и получаем разность значений R на верхней и нижней частях границы.

Как применять.

  • Поток через замкнутую поверхность почти всегда проще считать как тройной интеграл.
  • Поток через незамкнутую поверхность: замкните её простыми кусками (кругом, плоскостью), посчитайте по Гауссу и вычтите потоки через добавленные куски.
  • Объём тела — поток поля с дивергенцией 1: V = \frac13\oiint(x, y, z)\cdot\vec n\,dS.
import sympy as sp

x, y, z = sp.symbols("x y z", real=True)
P, Q, R = x * y, y * z, z * x
div = sp.diff(P, x) + sp.diff(Q, y) + sp.diff(R, z)
volume = sp.integrate(div, (x, 0, 1), (y, 0, 1), (z, 0, 1))

# Поток по граням куба напрямую: на грани x = 1 нормаль +i, на грани x = 0 — −i, и т. д.
F = sp.Matrix([P, Q, R])
faces = 0
for var, (u, v) in [(x, (y, z)), (y, (x, z)), (z, (x, y))]:
    k = [x, y, z].index(var)
    faces += sp.integrate(F[k].subs(var, 1) - F[k].subs(var, 0), (u, 0, 1), (v, 0, 1))
print("div F =", div)
print("∭ div F dV =", volume, "   ∯ F·n dS =", faces)

Ротор

\operatorname{rot}\vec F = \nabla\times\vec F = \begin{vmatrix}\vec i & \vec j & \vec k\\ \partial_x & \partial_y & \partial_z\\ P & Q & R\end{vmatrix} = \big(R_y - Q_z,\;\; P_z - R_x,\;\; Q_x - P_y\big).

Смысл. Проекция ротора на направление \vec n — плотность циркуляции в плоскости, перпендикулярной \vec n: циркуляция по маленькому контуру площади S равна \approx(\operatorname{rot}\vec F\cdot\vec n)\,S. Если опустить в поток маленькую вертушку, она будет вращаться с угловой скоростью \frac12|\operatorname{rot}\vec F| вокруг оси \operatorname{rot}\vec F. Третья компонента Q_x - P_y — это ровно то, что стоит в формуле Грина.

Формула Стокса

Пусть S — ориентированная поверхность с краем L. Направление обхода L согласовано с нормалью правилом правого винта: если смотреть с конца нормали, обход идёт против часовой стрелки. Тогда

\boxed{\oint_L\vec F\cdot d\vec r = \iint_S\operatorname{rot}\vec F\cdot\vec n\;dS}

Циркуляция по контуру равна потоку ротора через любую поверхность, натянутую на этот контур. Доказательство — та же идея: разбиваем S на маленькие площадки, на каждой работает формула Грина, интегралы по внутренним сторонам сокращаются.

Формула Грина — частный случай Стокса для плоской области (\vec n = \vec k).

import sympy as sp

x, y, z, t, r, phi = sp.symbols("x y z t r phi", real=True)
P, Q, R = y, z, x
rot = sp.Matrix([sp.diff(R, y) - sp.diff(Q, z), sp.diff(P, z) - sp.diff(R, x), sp.diff(Q, x) - sp.diff(P, y)])
print("rot F =", list(rot))

# Контур: единичная окружность в плоскости z = 0
X, Y, Z = sp.cos(t), sp.sin(t), 0
sub = {x: X, y: Y, z: Z}
circ = sp.integrate(P.subs(sub) * sp.diff(X, t) + Q.subs(sub) * sp.diff(Y, t) + R.subs(sub) * 0, (t, 0, 2 * sp.pi))
# Поверхность 1: плоский круг, нормаль k
disk = sp.integrate(rot[2] * r, (r, 0, 1), (phi, 0, 2 * sp.pi))
# Поверхность 2: верхняя полусфера, внешняя нормаль (x, y, z), dS = sin θ dθ dφ
th = sp.symbols("theta")
n = sp.Matrix([sp.sin(th) * sp.cos(phi), sp.sin(th) * sp.sin(phi), sp.cos(th)])
hemi = sp.integrate(rot.dot(n) * sp.sin(th), (th, 0, sp.pi / 2), (phi, 0, 2 * sp.pi))
print("циркуляция:", circ, "  поток через круг:", disk, "  через полусферу:", sp.simplify(hemi))

Поток ротора через круг и через полусферу один и тот же — оба равны циркуляции по общему краю.

Тождества и потенциальность

  • \operatorname{rot}\nabla u = \vec 0: у потенциального поля нет вихрей.
  • \operatorname{div}\operatorname{rot}\vec F = 0: у поля вихрей нет источников.
  • \operatorname{div}\nabla u = \Delta u = u_{xx} + u_{yy} + u_{zz} — оператор Лапласа.

В односвязной области поле потенциально тогда и только тогда, когда \operatorname{rot}\vec F = \vec 0 (по формуле Стокса циркуляция по любому контуру равна нулю). Это пространственная версия признака Q_x = P_y из урока о потенциальных полях.

Общая картина

Формула Интеграл от «производной» по… = интеграл по границе
Ньютон–Лейбниц \int_a^b f'(x)\,dx f(b) - f(a)
Потенциал \int_L \nabla u\cdot d\vec r u(B) - u(A)
Грин \iint_D(Q_x - P_y)\,dx\,dy \oint_{\partial D}P\,dx + Q\,dy
Стокс \iint_S\operatorname{rot}\vec F\cdot\vec n\,dS \oint_{\partial S}\vec F\cdot d\vec r
Гаусс–Остроградский \iiint_V\operatorname{div}\vec F\,dV \oiint_{\partial V}\vec F\cdot\vec n\,dS

Все пять — одна теорема: интеграл от производной по области равен интегралу от самой функции по её границе. В современной математике её записывают одной строкой, \int_\Omega d\omega = \int_{\partial\Omega}\omega (общая формула Стокса для дифференциальных форм).

В физике эти формулы превращают законы в интегральной форме в дифференциальные: закон Гаусса для электрического поля (\oiint\vec E\cdot\vec n\,dS = q/\varepsilon_0) даёт \operatorname{div}\vec E = \rho/\varepsilon_0, закон Фарадея — \operatorname{rot}\vec E = -\partial\vec B/\partial t, закон сохранения массы — уравнение неразрывности \partial_t\rho + \operatorname{div}(\rho\vec v) = 0.

Итог

  • \operatorname{div}\vec F = P_x + Q_y + R_z — плотность источников; \oiint_{\partial V}\vec F\cdot\vec n\,dS = \iiint_V\operatorname{div}\vec F\,dV (нормаль внешняя).
  • \operatorname{rot}\vec F = \nabla\times\vec F — плотность вихрей; \oint_{\partial S}\vec F\cdot d\vec r = \iint_S\operatorname{rot}\vec F\cdot\vec n\,dS (правило правого винта).
  • Незамкнутую поверхность для Гаусса замыкают; для Стокса выбирают самую простую поверхность с тем же краем.
  • \operatorname{rot}\nabla = \vec 0, \operatorname{div}\operatorname{rot} = 0; Ньютон–Лейбниц, Грин, Стокс и Гаусс — частные случаи одной формулы.

Практика решено 0 из 11

Вы не вошли — ответы проверяются, но прогресс не сохранится. Войти или зарегистрироваться.
Задание 1 Ввод формулы

Найдите \operatorname{div}\vec F в точке (1, 2, 3) для \vec F = (x^2, y^2, z^2).

Как вводить формулы Степень — ^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)), дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x). Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e. Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C. Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α. Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
Задание 2 Ввод формулы

По формуле Гаусса–Остроградского: поток \vec F = (x, y, z) через поверхность куба [0;\,1]^3 наружу.

Как вводить формулы Степень — ^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)), дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x). Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e. Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C. Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α. Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
Задание 3 Ввод формулы

Поток \vec F = (x + y^2,\; y - z,\; z + x) через внешнюю сторону сферы x^2 + y^2 + z^2 = 4.

Как вводить формулы Степень — ^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)), дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x). Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e. Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C. Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α. Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
Задание 4 Ввод формулы

Поток \vec F = (x^3, y^3, z^3) через внешнюю сторону единичной сферы.

Как вводить формулы Степень — ^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)), дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x). Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e. Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C. Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α. Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
Задание 5 Ввод формулы

Поток \vec F = (xy,\, yz,\, zx) через поверхность куба [0;\,1]^3 наружу.

Как вводить формулы Степень — ^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)), дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x). Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e. Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C. Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α. Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
Задание 6 Ввод формулы

Поток \vec F = (x, y, z) через верхнюю полусферу z = \sqrt{1 - x^2 - y^2} (нормаль наружу). Используйте Гаусса, замкнув поверхность кругом z = 0.

Как вводить формулы Степень — ^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)), дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x). Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e. Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C. Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α. Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
Задание 7 Ввод формулы

По формуле Стокса: циркуляция \vec F = (-y, x, 0) по окружности x^2 + y^2 = 1, z = 0 против часовой стрелки (если смотреть сверху).

Как вводить формулы Степень — ^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)), дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x). Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e. Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C. Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α. Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
Задание 8 Ввод формулы

Циркуляция \vec F = (y, z, x) по окружности x^2 + y^2 = 1, z = 0 против часовой стрелки (если смотреть сверху).

Как вводить формулы Степень — ^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)), дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x). Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e. Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C. Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α. Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
Задание 9 Один вариант ответа

Чему равно \operatorname{div}(\operatorname{rot}\vec F) для гладкого поля?

Задание 10 Один вариант ответа

Поле \vec F = (yz, xz, xy). Чему равна циркуляция по любому замкнутому контуру?

Задание 11 Один вариант ответа

Положительная дивергенция в точке означает, что…

Войдите, чтобы отмечать пройденные уроки.