Дисклеймер: Все сведения в этой статье не являются засекреченными, взяты из открытых источников [14] и не представляют собой государственной и военной тайны. Автор не имеет доступа к каким-либо секретным документам или разработкам. Любой желающий может самостоятельно сделать аналогичную симуляцию. Математическая модель намеренно упрощена и не учитывает некоторые факторы (перенос излучения, ионизацию, неоднородность атмосферы и т.п.). Автор не является профессиональным физиком-ядерщиком. Ничего опасного для жизни или здоровья человека, либо запрещённого российским законодательством в данной статье нет. Подобные симуляции можно найти в интернете в открытом доступе. Все исторические и политические факты, приведённые в данной статье, общеизвестны и открыты. Мы не добавляем интерпретаций и не делаем политических выводов.
Автор придерживается нейтральной позиции, ни на что не намекает и ни к чему не призывает!
Моделировать ядерный взрыв на компьютере звучит как задача из фантастического фильма, но на деле это классический пример автомодельного решения в газовой динамике. Модель Седова-Тейлора даёт простую формулу для радиуса ударной волны, а дальше всё упирается в правильную сетку и численную устойчивость. Это классическая задача из области атомной физики и механики сплошной среды.

Симуляцию мы будем писать для воздушного взрыва (для подземного математическая модель будет слишком сложной).
Аккуратно выпишем основные уравнения нашей математической модели (они не являются засекреченными, есть в открытых источниках [14] и не представляют государственной тайны):
Сначала мы будем определять энергию взрыва в тротиловом эквиваленте.
Стоит добавить, что при взрыве она распределяется примерно так:
~50% — ударная волна
~35% — тепловое излучение
~15% — проникающая радиация и радиоактивные осадки
Они вычисляются по формулам:
То есть при взрыве 1 килотонны тротила выделится порядка 4,2 триллиона джоулей энергии. Это поистине колоссальное количество. Конечно, сейчас человечество научилось использовать эту энергию в мирных целях (атомные электростанции снабжают наши города электричеством и теплом), но изначально все сверхдержавы (СССР и США) в первую очередь руководствовались милитаристскими (то есть военными) целями.
Историческая справка:
Первая ядерная бомба была разработана в США в 1945 году (под самый конец Второй мировой войны) в рамках Манхэттенского проекта под кодовым названием «Штучка» (Gadget). Уже 16 июля 1945 года на полигоне Аламогордо в штате Нью-Мексико (США) произошло первое в истории испытание ядерного оружия. Мощность взрыва составила около 19–21 килотонны тротила. Источник:[11]
Общеизвестным фактом является то, что американцы впервые в истории и применили атомное оружие в военных целях (и больше в мировой истории случаев прямого применения боевого ЯО не было и, надеюсь, не будет никогда). В результате бомбардировок США в августе 1945 года пострадали японские города:
6 августа бомбардировщик B-29 «Enola Gay» (под командованием полковника Пола Тиббетса) сбросил на Хиросиму атомную бомбу «Little Boy» («Малыш»). Мощность взрыва оценивают примерно в 13–18 килотонн тротила.
9 августа бомбардировщик B-29 «Bockscar» (пилот Чарльз Суини) сбросил на Нагасаки плутониевую бомбу «Fat Man» («Толстяк»). Её мощность составляла около 19–21 килотонны тротила.
Источник:[12]
Эти бомбардировки, по мнению ряда историков, были абсолютно избыточными (часть из них считала, что с учётом неизбежности начала Маньчжурской операции СССР Япония и так стояла на грани поражения). Любой грамотный юрист скажет, что по современным нормам международного гуманитарного права такие действия квалифицировались бы как грубое правонарушение и военное преступление (оружие массового уничтожения было применено не против военных объектов, а против обычных и мирных городов), однако в 1945 году соответствующие правовые нормы ещё не были кодифицированы (Женевская конвенция о защите гражданского населения принята в 1949 году). Среди основных причин применения ядерного оружия рядом историков называется и стремление США продемонстрировать свой военный потенциал всему миру, и особенно СССР — будущему противнику в Холодной войне.
Последствия бомбардировок печальны:
В результате двух взрывов мгновенно погибли более 80 тысяч человек, к концу 1945 года общее число погибших, включая также онкологические заболевания и лучевую болезнь, составило от 90 до 166 тысяч человек в Хиросиме и от 60 до 80 тысяч человек — в Нагасаки.
Источник:[12]
СССР не сидел сложа руки: проигрыш ядерной гонки мог привести к новой мировой войне. Поэтому создание собственного ЯО для СССР стало вопросом стратегической безопасности.
Усилиями советских инженеров и учёных в 1949 году была создана и испытана первая советская ядерная бомба РДС-1. Советская разведка через Клауса Фукса (впоследствии он был за это осуждён в Великобритании) и других агентов получила существенную информацию о конструкции американской атомной бомбы «Толстяк», что ускорило работу. Её испытали на Семипалатинском полигоне.
Мощность бомбы составила более 20 кт. Металлическая 37-метровая башня (по другим источникам 30-метровая), на которой была установлена бомба, была уничтожена полностью, на её месте образовалась воронка диаметром 3 м и глубиной 1,5 м, покрытая оплавленным стеклоподобным веществом.
Испытание ядерной бомбы удивило западные страны. Американская разведка предполагала, что Советский Союз сможет создать бомбу не раньше 1953 года, в то время как британская разведка давала срок до 1954 года. Заявление Трумэна о наличии у СССР ядерного оружия стало поворотной точкой в Холодной войне, которая только-только началась, и дало начало ядерной гонке.
Источник:[13]
Параллельно развивался и мирный атом: в 1942 году Энрико Ферми запустил первый ядерный реактор (Chicago Pile‑1), а в 1954 году в Обнинске (СССР) заработала первая в мире атомная электростанция.
После длинной исторической справки продолжим писать уравнения, описывающие взрыв:
Согласно модели Седова-Тейлора (источник: [14]) радиус фронта ударной волны определяется по формуле:
где E — энергия взрыва, t — время, плотность воздуха ρ0= 1,225 кг/м³.
Эту формулу независимо вывели три учёных: Леонид Седов (СССР, опубликовал в 1946 году), Джон фон Нейман (США, 1947) и Джеффри Тейлор (Великобритания). Тейлор выполнил свою работу ещё в 1941 году, но она была засекречена и вышла в свет только в 1950-м.
Условиями применимости этой модели являются:
Сильная ударная волна (Давление за фронтом должно быть много больше атмосферного).
Точечный взрыв (Размер заряда должен быть много меньше текущего радиуса волны).
Идеальный газ (Среда — идеальный газ с постоянным показателем адиабаты γ=1,4 для воздуха).
Однородная среда (Плотность ρ0 постоянна. Реальная атмосфера имеет градиент плотности по высоте).
-
Сферическая симметрия (Идеальная модель — точечный взрыв в неограниченной однородной среде).
Для удобства занесём их в таблицу:
Условие |
Когда выполняется |
Когда ломается |
Сильная волна |
R≪(E/P0)^1/3 |
Для 20 кт: после ~1 км |
Точечный источник |
R≫ rзаряда |
Первые ~10 мс |
Идеальный газ |
Температура ниже порога ионизации |
Огненный шар >10 000 K |
Однородная среда |
Радиус меньше масштаба высоты атмосферы (~8 км) |
Для мегатонн и выше |
Сферическая симметрия |
Воздушный взрыв |
Наземный — нужен множитель ~1,15 |
Таблица 1. Условия корректности модели.
Скорость фронта вычисляется при помощи дифференцирования по времени предыдущей формулы:
Запишем условия Ренкина — Гюгонио (бесконечно сильная ударная волна). Для воздуха γ=1,4:
Газодинамику можно описать уравнениями Эйлера для сферической симметрии.
Уравнение неразрывности:
Уравнение движения:
Условие адиабатичности:
Для этой модели есть автомодельное решение:
Введём безразмерную переменную:
И будем искать профили в виде:
Закон сохранения энергии:
Однако для визуализации использовалась упрощённая аппроксимация (нормировка давления):
Модель подъёма огненного шара (для «ножки» и шляпки гриба):
Радиус огненного шара вычислялся как:
Таким образом, ключевые уравнения нашей математической модели записаны и можно приступать к реализации её средствами языка Python (код написан посредством вайбкодинга, то есть с помощью искусственного интеллекта):
import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation from matplotlib.patches import Circle, FancyBboxPatch from scipy.ndimage import gaussian_filter # ── Параметры взрыва ── E = 4.184e13 # 10 кт ТНТ rho0 = 1.225 gamma = 1.4 beta = 1.033 g = 9.81 def R_front(t): return beta * (E / rho0)**0.2 * t**0.4 # ── Параметры визуализации ── fig, (ax_main, ax_side) = plt.subplots( 1, 2, figsize=(14, 8), gridspec_kw={'width_ratios': [3, 1]}, facecolor='#0a0a12' ) fig.subplots_adjust(wspace=0.05) # ── Класс облака частиц ── class MushroomCloud: def __init__(self, num_particles=600): self.n = num_particles self.x = np.zeros(num_particles) self.y = np.zeros(num_particles) self.vx = np.zeros(num_particles) self.vy = np.zeros(num_particles) self.r = np.zeros(num_particles) # размер частицы self.temp = np.zeros(num_particles) # 0..1 — «температура» (цвет) self.life = np.zeros(num_particles) self.alive = np.zeros(num_particles, dtype=bool) self.idx = 0 self.t = 0.0 def emit_initial(self, t): """Выброс частиц из эпицентра в начальный момент""" R = R_front(t) for _ in range(self.n // 2): i = self.idx % self.n angle = np.random.uniform(0, 2 * np.pi) speed = np.random.uniform(20, 200) self.x[i] = np.random.uniform(-R*0.1, R*0.1) self.y[i] = np.random.uniform(-R*0.1, R*0.1) self.vx[i] = np.cos(angle) * speed * np.random.uniform(0.3, 1.0) self.vy[i] = np.cos(angle) * speed * np.random.uniform(0.3, 1.0) \ + np.random.uniform(50, 300) # вверх self.r[i] = np.random.uniform(5, 20) self.temp[i] = np.random.uniform(0.7, 1.0) self.life[i] = np.random.uniform(3.0, 8.0) self.alive[i] = True self.idx += 1 def emit_stem(self, t, dt): """Постоянный выброс частиц в ножку гриба (втягивание воздуха)""" R = R_front(t) fireball_y = self.get_fireball_y(t) n_emit = 12 for _ in range(n_emit): i = self.idx % self.n # Частицы поднимаются вдоль ножки self.x[i] = np.random.normal(0, R * 0.08) self.y[i] = np.random.uniform(0, fireball_y * 0.3) self.vx[i] = np.random.normal(0, 15) self.vy[i] = np.random.uniform(40, 120) * (1 + fireball_y / 500) self.r[i] = np.random.uniform(8, 25) self.temp[i] = np.random.uniform(0.3, 0.6) self.life[i] = np.random.uniform(4.0, 10.0) self.alive[i] = True self.idx += 1 def get_fireball_y(self, t): """Высота огненного шара — подъём за счёт плавучести""" # Огненный шар поднимается ~ v ~ t^(1/3) в первом приближении if t < 0.05: return R_front(t) * 0.3 # Линейный подъём с замедлением v_rise = 100 * (1 + 1.0 / (1 + t)) return min(v_rise * t * (1 - 0.03 * t), 800) def get_fireball_r(self, t): """Радиус огненного шара""" return R_front(t) * 0.3 + 20 def update(self, dt, t): self.t = t alive = self.alive # Гравитация-сопротивление для тяжёлых частиц drag = 0.5 * dt buoyancy = 15 * dt # подъём тёплого воздуха # Разлёт в стороны от центра (вихревое движение) r_horiz = np.abs(self.x[alive]) side_push = np.where(r_horiz > 10, 3.0 / (r_horiz + 1), 0) self.vx[alive] += np.sign(self.x[alive]) * side_push * dt self.vx[alive] *= (1 - drag) self.vy[alive] += buoyancy * self.temp[alive] self.vy[alive] *= (1 - drag * 0.3) self.vy[alive] -= g * dt * (1 - self.temp[alive] * 0.8) # остывшие частицы падают # Вихрь: частицы в шляпке закручиваются fireball_y = self.get_fireball_y(t) fireball_r = self.get_fireball_r(t) in_cap = (self.y[alive] > fireball_y - fireball_r) & \ (self.y[alive] < fireball_y + fireball_r * 1.5) if np.any(in_cap): idx_alive = np.where(alive)[0] cap_indices = idx_alive[in_cap] dx = self.x[cap_indices] dy = self.y[cap_indices] - fireball_y r_cap = np.sqrt(dx**2 + dy**2) + 1 # Вращательное движение (вихрь) tangential = 30 * fireball_r / r_cap self.vx[cap_indices] += (-dy / r_cap) * tangential * dt self.vy[cap_indices] += (dx / r_cap) * tangential * dt * 0.3 # Расширение шляпки self.vx[cap_indices] += (dx / r_cap) * 20 * dt self.x[alive] += self.vx[alive] * dt self.y[alive] += self.vy[alive] * dt self.temp[alive] -= dt * 0.08 # остывание self.temp[alive] = np.clip(self.temp[alive], 0, 1) self.life[alive] -= dt self.alive[self.alive & (self.life <= 0)] = False self.alive[self.alive & (self.temp < 0.01)] = False # ── Земля ── ground_y = 0 ground_height = 40 # ── Временная шкала ── dt = 0.05 t_total = 1.0 frames = int(t_total / dt) times = np.arange(0, t_total, dt) cloud = MushroomCloud(num_particles=800) cloud.emit_initial(0.001) # ── Фоновое излучение (огненный шар) ── def draw_fireball_glow(ax, t): fy = cloud.get_fireball_y(t) fr = cloud.get_fireball_r(t) if fr < 1: return for i in range(12): alpha = max(0.3 - i * 0.025, 0) r_i = fr * (1 + i * 0.25) color = (1.0, 0.4 + i * 0.03, 0.05 + i * 0.02, alpha) circle = Circle((0, fy), r_i, color=color, zorder=3) ax.add_patch(circle) # Ядро core_r = max(fr * 0.4, 1) core = Circle((0, fy), core_r, color=(1.0, 0.9, 0.7, 0.95), zorder=4) ax.add_patch(core) # ── Рендер частиц ── def render_particles(ax, cloud, t): alive = cloud.alive if not np.any(alive): return x = cloud.x[alive] y = cloud.y[alive] r = cloud.r[alive] temp = cloud.temp[alive] for i in range(len(x)): if temp[i] > 0.7: color = (1.0, 0.7 + 0.2 * temp[i], 0.2 + 0.3 * temp[i], 0.4 + 0.3 * temp[i]) elif temp[i] > 0.4: color = (0.6 + 0.4 * temp[i], 0.5 + 0.2 * temp[i], 0.3 + 0.1 * temp[i], 0.3 + 0.2 * temp[i]) else: gray = 0.3 + 0.3 * temp[i] color = (gray, gray * 0.95, gray * 0.9, 0.2 + 0.2 * temp[i]) circle = Circle((x[i], y[i]), r[i], color=color, zorder=2) ax.add_patch(circle) # ── Профиль давления (боковой график) ── def draw_pressure_profile(ax, t): ax.clear() ax.set_facecolor('#0a0a12') ax.set_xlim(0, 1) ax.set_ylim(0, 1) ax.set_xticks([]) ax.set_yticks([]) ax.set_title('Профиль давления', color='white', fontsize=10, pad=8) R = R_front(t) if R < 1: return r_norm = np.linspace(0, 1.5, 200) xi = r_norm # Аппроксимация профиля давления Седова p = np.where(xi <= 1, np.clip(0.7 * (1 - xi**3) + 0.3 * xi, 0, 1), 0) p_smooth = gaussian_filter(p, sigma=3) # Цветовая заливка for i in range(len(r_norm) - 1): val = p_smooth[i] if val > 0.01: red = 0.9 + 0.1 * val green = 0.3 * val blue = 0.1 * val ax.fill_between([r_norm[i], r_norm[i+1]], [0, 0], [1, 1], color=(red, green, blue, val * 0.8)) ax.plot(r_norm, p_smooth, color='#ff6600', linewidth=2) ax.axvline(x=1.0, color='#ffeeaa', linewidth=1.5, linestyle='--', alpha=0.7) ax.text(1.02, 0.85, 'Фронт', color='#ffeeaa', fontsize=8) ax.text(0.05, 0.05, f't = {t:.2f} c\n' f'R = {R:.1f} м\n' f'v = {0.4 * R / t:.0f} м/с' if t > 0.001 else 't = 0', transform=ax.transAxes, color='white', fontsize=9, family='monospace', verticalalignment='bottom') for spine in ax.spines.values(): spine.set_color('#333344') # ── Главный кадр ── def animate(frame): t = times[frame] # Обновление физики if frame > 0: cloud.emit_stem(t, dt) cloud.update(dt, t) # ── Главная панель ── ax_main.clear() ax_main.set_facecolor('#0a0a12') ax_main.set_aspect('equal') # Видимая область (камера следует за грибом) fireball_y = cloud.get_fireball_y(t) view_top = max(fireball_y + 250, 400) view_bottom = -ground_height view_span = view_top - view_bottom view_half = view_span / 2 ax_main.set_xlim(-view_half, view_half) ax_main.set_ylim(view_bottom, view_top) ax_main.set_xticks([]) ax_main.set_yticks([]) # Небо (градиент) for i in range(50): y_frac = i / 50 y_pos = view_bottom + y_frac * view_span shade = 0.02 + y_frac * 0.03 ax_main.axhspan(y_pos, y_pos + view_span / 50, color=(shade, shade * 0.8, shade * 1.2), zorder=0) # Земля ax_main.axhspan(view_bottom, 0, color='#1a1410', zorder=1) # Текстура земли for x_ground in np.linspace(-view_half, view_half, 40): h = np.random.uniform(2, 8) ax_main.plot([x_ground, x_ground], [0, h], color='#2a2018', linewidth=1, zorder=1) # Кратер (тёмное пятно) crater_r = R_front(t) * 0.15 + 10 crater = Circle((0, 0), crater_r, color='#0a0805', alpha=0.8, zorder=1) ax_main.add_patch(crater) # Огненный шар (свечение) if t < 3.0: draw_fireball_glow(ax_main, t) # Частицы гриба render_particles(ax_main, cloud, t) # Подпись ax_main.text(0.02, 0.02, f'E = {E/4.184e12:.0f} кт | t = {t:.1f} c | ' f'H огн. шара = {fireball_y:.0f} м', transform=ax_main.transAxes, color='#aaaabb', fontsize=9, family='monospace', verticalalignment='bottom') ax_main.text(0.5, 0.97, 'Модель ядерного взрыва', transform=ax_main.transAxes, color='white', fontsize=14, ha='center', va='top', alpha=0.8) for spine in ax_main.spines.values(): spine.set_color('#333344') # ── Боковая панель: профиль давления ── draw_pressure_profile(ax_side, t) return [] ani = animation.FuncAnimation(fig, animate, frames=frames, interval=30, blit=False, repeat=True) plt.tight_layout() plt.show() # ── Сохранение ── ani.save('mushroom_cloud.gif', writer='pillow', fps=25, dpi=80)
Мощность взрыва задана пока относительно небольшой — всего 10 кт тротила. Результат работы программы — красивая анимация:

На картинке видно, как появляется и растёт жёлтый огненный шар, от эпицентра расходятся вокруг ударные волны, а также поднимаются огромные клубы оранжевого дыма (огненный вихрь).
Увеличим мощность бомбы в 2 раза (примерно такая по мощности в 1945 году была сброшена американцами на японский город Нагасаки):

Видно, что ударная волна стала мощнее, а огненный шар стал расти быстрее.
Чтобы убедиться, что наша упрощённая модель не «рисует красивые картинки», а действительно отражает физику, сравним её с реальными данными первого ядерного взрыва — испытанием «Тринити» (1945). Дж. Тейлор восстановил энергию взрыва именно по результатам 20 измерений роста огненного шара от времени. Ссылка на его оригинальную публикацию (она была рассекречена в 1950 году и на данный момент открыта для всех желающих) здесь.

Реальные данные взяты из оригинальной статьи Тейлора.
Построив логарифмический график зависимости радиуса от времени, Тейлор вывел формулу для огненного шара и показал, что вначале радиус растёт по степенному закону.
Делаем мощность 100 килотонн ТНТ. Результат —

Ударные волны стали распространяться почти мгновенно.
Теперь сделаем мощность 1 мегатонну. Это уже гигантская мощность — несколько таких бомб способны полностью разрушить город-миллионник.

Видно, как стремительно растёт огненный шар, уже в первую секунду достигая радиуса более одного километра. На фоне этого огненные вихри быстро рассеиваются в пространстве.
Небольшой исторический и культурный контекст — общеизвестный факт более чем 60-летней давности:
Самым мощным когда-либо испытанным человечеством ядерным оружием стала Царь-бомба (она получила прозвище «Кузькина мать», так её назвал, по распространённой версии, известный советский политик Никита Хрущёв в 1959 году, в эмоциональном разговоре с вице-президентом США Ричардом Никсоном).
«В нашем распоряжении имеются средства, которые будут иметь для вас тяжёлые последствия. Мы вам покажем кузькину мать!» — Никита Хрущёв (формулировка восстановлена по свидетельствам очевидцев; аудиозапись отсутствует).
Также широкое распространение получил эпизод, в котором якобы Никита Хрущёв во время выступления (оригинальное видео из архива) в ООН снял ботинок и стучал им по трибуне. Историки и политологи до сих пор спорят из-за деталей этого эпизода, а очевидцы противоречат друг другу. Поэтому мы при описании эпизода будем опираться на официальные и проверенные данные. Достоверно известно только, что легендарный ботинок лежал на столе перед советским лидером.

Данная фотография сгенерирована нейросетью (оригинальное фото низкого качества, поскольку снималось на плёнку 60-х годов и сохранилось в виде газетных сканов) и не претендует на историческую достоверность. Она не является историческим документом и служит исключительно для визуализации контекста. Но есть и подлинное фото (на котором ботинок (или туфля) лежит на столе перед Хрущёвым — именно оно и публиковалось в прессе), обнародованное в The New York Times после инцидента. Следует добавить, что ни одного подлинного кадра, где Хрущёв им стучит или размахивает, не существует. На видео выступления, взятого с официального сайта архива ООН, этого не запечатлено. Все видео или фотографии, на которых видно, что он якобы это делает, не имеют официально подтверждённого происхождения (актёрские постановки, фотомонтаж, реконструкции и т. д.). Громкий заголовок в газете NYT в вышеупомянутой статье — это стандартный медийный журналистский приём (сегодня это назвали бы кликбейтом), чтобы привлечь внимание массовой аудитории и общественности к инциденту.
Сама бомба была испытана в 1961 году. Её мощность составила 58,6 мегатонн тротила. Выставим в нашей симуляции именно такую мощность, чтобы проверить, как наша модель ведёт себя в экстремальных условиях. Результат:

Видно, как огненный шар уже в первую секунду раздулся до почти 6 километров (в реальности по данным SonicBomb до 6,5 км) в поперечнике и занял всё пространство, продолжая стремительно расти.
Вывод: в этой статье мы превратили классическую задачу газовой динамики в готовую анимацию на обычном ноутбуке. Решение Седова–Тейлора [14] дало нам радиус и скорость ударной волны, а простая эмпирическая модель — ножку и шляпку гриба.
Важно помнить про ограничения модели: мы не учитываем перенос излучения, ионизацию, химические реакции и неоднородность атмосферы — только газодинамику в приближении идеального газа. Это сознательный компромисс: он позволяет получить наглядную анимацию без суперкомпьютера и без тысяч строк кода. В целом, на малых масштабах модель точна, а на экстремальных (вроде Царь-бомбы) даёт некоторую погрешность.
Если вы хотите усложнить модель, логичные следующие шаги — добавить зависимость плотности от высоты, лучистый перенос и ионизацию. Код открыт для доработок и доступен любому желающему, заинтересованному тематикой ядерной физики.
Автор не имеет специального физико‑математического или исторического образования и не является профессиональным физиком-ядерщиком или историком.
Если такое дадут на ЕГЭ, это будет крах всей системы, я реально занервничал!
Литература и научные статьи по теме:
1.Седов Л.И. Методы подобия и размерности в механике. — М.: Наука, 1977 (8-е изд.). — 440 с.
2.Зельдович Я.Б., Райзер Ю.П. Физика ударных волн и высокотемпературных гидродинамических явлений. — М.: Физматлит, 2008 (3-е изд.).
3.Зельдович Я.Б., Компанеец А.С. Теория детонации. — М.: Гостехиздат, 1955. — 268 с. (переиздана URSS, 2024)
4.Забабахин Е.И. Некоторые вопросы газодинамики взрыва. — Снежинск: РФЯЦ-ВНИИТФ, 1997. — 203 с.
5.Самарский А.А. Теория разностных схем. — М.: Наука, 1989 (3-е изд.). — 616 с.
6.Самарский А.А. «Прямой расчет мощности взрыва» // История советского атомного проекта (40–50-е годы). — Дубна, 1997. Т. 1.
7.Адушкин В.В., Спивак А.А. «Особенности формирования воздушной ударной волны при ядерном взрыве» // Динамические процессы в геосферах. — 2024.
8.Чернов И.А. «Трактовка решения Седова как серии промежуточных асимптотик в течении от сильного взрыва» // Изв. вузов «ПНД». 2010. Т. 18, № 4.
9.Мордовец И.П. Физика ядерного взрыва (конспект лекций). — МГУ, НИИЯФ.
10.Физика ядерного взрыва. В 5 томах / под ред. В.М. Лоборева. — М.: Физматкнига, 2009.
11.https://ru.wikipedia.org/wiki/Манхэттенский_проект
12.https://ru.wikipedia.org/wiki/Атомные_бомбардировки_Хиросимы_и_Нагасаки
13.https://ru.wikipedia.org/wiki/РДС-1
14.https://en.wikipedia.org/wiki/Taylor–von_Neumann–Sedov_blast_wave
15.https://nukeblastsimulator.com/
16.Taylor, G. I. The Formation of a Blast Wave by a Very Intense Explosion. II. The Atomic Explosion of 1945. Proc. R. Soc. Lond. A, 201(1065), 175–186, 1950. DOI: 10.1098/rspa.1950.0050.