Вращающаяся черная дыра
Моделируем заряженные вращающиеся черные дыры
Данный расчет позволяет провести количественный анализ геометрии пространства-времени в окрестности релятивистских объектов с ненулевыми мультипольными моментами, что необходимо для верификации предсказаний ОТО в сильных гравитационных полях. Полученные тензорные инварианты используются для исследования сингулярной структуры пространства-времени и анализа устойчивости геодезических траекторий в экстремальных гравитационных условиях.
Описание работы
Расчет четырехвекторов и тензоров кривизны для заряженных вращающихся черных дыр (метрика Керра-Ньюмена) является критически важной задачей в современной астрофизике и теории гравитации.
Эти вычисления позволяют количественно описать искривление пространства-времени в окрестности массивных вращающихся объектов с электрическим зарядом.
Практическая значимость таких расчетов заключается в возможности моделирования траекторий движения частиц, предсказания форм аккреционных дисков и анализа устойчивости орбит вокруг релятивистских объектов.
Для реализации алгоритмов нам потребуется только библиотека функций линейной алгебры:
using LinearAlgebra
Теоретическая основа алгоритма
В инженерной интерпретации, метрика Керра-Ньюмена представляет собой математическую модель, описывающую "геометрию" пространства-времени в присутствии массивного вращающегося заряженного тела. Тензор кривизны Римана в этом контексте можно рассматривать как аналог тензора деформаций в механике сплошных сред, характеризующий степень и характер искривления пространственно-временного континуума. Четырехвекторы описывают физические величины (импульс, скорость) в искривленном пространстве-времени.
Метрика Керра-Ньюмена в координатах Бойера-Линдквиста:
Компоненты метрического тензора:
function kerr_newman_metric(M, a, Q, r, θ)
ρ² = r^2 + a^2*cos(θ)^2 # Функция горизонта и сингулярности
Δ = r^2 - 2M*r + a^2 + Q^2 # Дискриминант для горизонтов событий
g = zeros(4,4)
g[1,1] = -(Δ - a^2*sin(θ)^2)/ρ² # g_tt - временная компонента
g[1,4] = g[4,1] = -a*sin(θ)^2*(2M*r - Q^2)/ρ² # g_tϕ - компонента вращения
g[2,2] = ρ²/Δ # g_rr - радиальная компонента
g[3,3] = ρ² # g_θθ - угловая компонента
g[4,4] = ((r^2+a^2)^2 - Δ*a^2*sin(θ)^2)*sin(θ)^2/ρ² # g_ϕϕ - азимутальная компонента
return g
end
Тензор кривизны показывает, насколько сильно искривлено пространство-время в каждой точке. Скаляр кривизны дает простую численную меру искривленности пространства для визуализации.
Остальные операции мы объединили в одну функцию:
- Нормировка четырехвектора скорости:
где начальное условие ( u^t = 1 ), остальные компоненты нулевые.
- Упрощенный расчет кривизны (конечно-разностная аппроксимация второй производной):
Это дискретный аналог оператора Лапласа для компоненты ( g_{tt} ).
Наша финальная цель — четырехвектор скорости, он описывает движение наблюдателя в искривленном пространстве-времени.
function compute_everything(M, a, Q, r, θ)
# Всё в одной функции
g = kerr_newman_metric(M, a, Q, r, θ) # Метрический тензор
# Четырехвектор скорости для статического наблюдателя
u = zeros(4); u[4] = 1.0 # Начальное условие: dt/dτ = 1
# Нормировка: g_μν u^μ u^ν = -1 (для времениподобного вектора)
norm_squared = dot(u, g, u) # Это должно быть отрицательным для времениподобного вектора
if norm_squared >= 0
# Если вектор пространственноподобный, это проблема - используем безопасную нормировку
u ./= sqrt(abs(norm_squared))
else
u ./= sqrt(-norm_squared) # Корень из положительного числа
end
# Простой расчет кривизны через вторую производную
h = 1e-6 # Шаг для численного дифференцирования
g_rp = kerr_newman_metric(M, a, Q, r+h, θ) # Метрика в точке r+h
g_rm = kerr_newman_metric(M, a, Q, r-h, θ) # Метрика в точке r-h
R_simple = (g_rp[1,1] - 2g[1,1] + g_rm[1,1]) / h^2 # Конечная разность второй производной g_tt
return g, u, R_simple
end
Использование алгоритма
Используем этот код:
# Параметры черной дыры и координаты точки наблюдения
M = 1.0 # Масса черной дыры в натуральных единицах
a = 0.5 # Параметр вращения (a = J/M)
Q = 0.3 # Электрический заряд черной дыры
r = 2.0 # Радиальная координата (расстояние от центра)
θ = π/4 # Угловая координата (π/4 = 45°)
# Вычисление всех величин в заданной точке
g, u, R = compute_everything(M, a, Q, r, θ)
# Вывод результатов
println("Метрика Керра-Ньюмена в точке (r=$r, θ=$θ):")
display(g)
println("\nЧетырехвектор скорости статического наблюдателя:")
println("u = $u") # Компоненты: [u^r, u^θ, u^ϕ, u^t]
println("\nУпрощенная мера кривизны (вторая производная g_tt):")
println("R ≈ $R")
Построим тепловые карты метрики и кривизны:
using Plots.PlotMeasures
# Создаем сетку для визуализации
r_range = range(1.5, 5.0, length=50) # Радиус от 1.5 до 5 (избегаем сингулярность)
θ_range = range(0.1, π-0.1, length=50) # Угол от 0.1 до π-0.1 (избегаем полюса)
# Вычисляем компоненты метрики и кривизны на сетке
g_tt_values = [kerr_newman_metric(M, a, Q, r, θ)[1,1] for r in r_range, θ in θ_range]
g_rr_values = [kerr_newman_metric(M, a, Q, r, θ)[2,2] for r in r_range, θ in θ_range]
curvature_values = [compute_everything(M, a, Q, r, θ)[3] for r in r_range, θ in θ_range]
p1 = heatmap(r_range, θ_range, g_tt_values',
title="Временная компонента метрики g_tt",
ylabel="Угол θ",
color=:viridis, clim=(-2, 0), titlefont=font(12), topmargin=2mm, titlelocation=:left)
p2 = heatmap(r_range, θ_range, g_rr_values',
title="Радиальная компонента метрики g_rr",
ylabel="Угол θ",
color=:plasma, clim=(0, 10), titlefont=font(12), topmargin=2mm, titlelocation=:left)
p3 = heatmap(r_range, θ_range, curvature_values',
title="Упрощенная мера кривизны",
xlabel="Радиус r", ylabel="Угол θ",
color=:hot, clim=(-1, 1), titlefont=font(12), topmargin=2mm, titlelocation=:left)
# Отображаем все графики вместе
plot(p1, p2, p3, layout=(3,1), size=(800, 900))
Эта карта показывает, как искривление пространства-времени убывает по мере удаления от заряженной вращающейся черной дыры.
Заключение
Код, представленный здесь, позволяет проводить численные расчеты геометрических характеристик пространства-времени вокруг заряженных вращающихся черных дыр для различных значений массы, углового момента и электрического заряда. Полученные результаты могут быть использованы для дальнейшего анализа гравитационных эффектов в сильных полях и моделирования астрофизических процессов в окрестностях релятивистских объектов.