Ко всем документам · Отчёты
Фаза 1 (Stage A, шаг 1): отчёт и запрос ресурсов
Дата: 13 сентября 2026. Репозиторий: /root/PBH/pbhgr, commit см. git log.
1. Что сделано
Реализован и проверен сферический Einstein–Vlasov решатель с распадом X по собственному времени
(pbhgr/spherical_ev.py), см. README. Обязательные тесты спецификации, выполнимые в
изолированной (асимптотически плоской) постановке, проходят (pytest --runslow: 13 passed):
| Тест из спецификации | Реализация | Результат |
|---|---|---|
| Schwarzschild vacuum regression | внешняя метрика, круговая орбита, радиальное падение t(r), τ(r) | ошибки O(dr²), отношение ошибок 600→1200 ячеек ≈ 4 |
| homogeneous FLRW X + radiation + decay | background.py |
масштабирования, a ∝ t^{1/2}, интегральное сохранение < 1e−5 |
| homogeneous dust collapse до каустики | шар OS/LTB, 2·10⁴ частиц, 400 ячеек | медиана ошибки r(τ) оболочек < 5e−3, поверхность t(η) < 1e−2, сходимость по разрешению |
| Γ → 0 | Γ = 0 и 10⁻⁴/t_dyn | max 2m/r совпадает < 5e−3 |
| energy/momentum source conservation | ADM-масса при распаде и утечке дочерних | дрейф < 3e−3 (после исправления учёта pending-массы) |
| constraint convergence | импульсная связь: FD dλ/dt против −4πr e^{λ+μ} j | пишется в диагностику каждого прогона |
| Einstein–Vlasov collapse benchmarks (Andréasson–Rein) | не сделано | следующий шаг |
| weak-field limit v4 | частично (OS при 2M/R = 0.2) | нужно сравнение с самой v4 |
Найденная и исправленная ошибка: распавшаяся, но ещё не излучённая масса не входила в источники метрики → 15 % дрейф ADM-массы. Теперь энергия сохраняется по событиям.
2. Ограничения текущего шага (не скрывать)
- Полярно-ареальная калибровка: горизонт можно только приблизить (max 2m/r → 1, лапс → 0). Исход
BH_approach— не найденный apparent horizon в смысле θ₊ = 0 на замкнутой поверхности. Нужен horizon-penetrating шаг (максимальное слоение или ингоинг-координаты) — это следующий пункт Stage A. - Космологическая граница (расширяющийся радиационный фон) не реализована; все прогоны изолированные.
- Дочернее излучение только бесстолкновительное; tightly-coupled fluid не реализован.
- Pure-numpy pusher: 3.8 мкс/частица/шаг RK4 на одном ядре.
3. Измеренные ресурсы на текущем VPS
Хост: 2 vCPU (Xeon Skylake 2.0 GHz), 3.7 GB RAM, без swap, 23 GB свободно на диске.
| Частиц | Ячеек | с/шаг (RK4) | пик RSS |
|---|---|---|---|
| 2·10⁴ | 400 | 0.063 | 40 MB |
| 10⁵ | 4000 | 0.36 | 65 MB |
| 10⁶ | 4000 | 3.8 | 325 MB |
| 3·10⁶ | 4000 | 10.8 | 905 MB |
| 10⁷ | 10⁴ | 47.6 | 2.78 GB |
| 2·10⁷ | 10⁴ | — | OOM-killed при 3.03 GB |
Полный набор тестов: 10.5 мин на одном ядре. Пилотный скан 24 точек (10⁴ частиц, 300 ячеек) — см. runs/scan_pilot/scan_summary.json.
3a. Пилотный скан исходов (24 точки, 10⁴ частиц, 300 ячеек, 21 мин на 2 ядрах)
Полная таблица: runs/scan_pilot.log, runs/scan_pilot/*/summary.json (+ provenance.json на каждый прогон).
| Класс точек | Исход | Дрейф ADM | Вывод |
|---|---|---|---|
| ν = 0.3, flatness 3 (плоский компактный профиль), любые L_rms, Γ | BH_approach (max 2m/r ≈ 0.990, лапс → 0) |
8e−4 … 9e−3 | численно достоверное приближение к горизонту; нужна horizon-penetrating калибровка для подтверждения θ₊ = 0 |
| ν = 0.05–0.3, L_rms = 0.5, гауссов профиль | bounce (max 2m/r 0.03–0.44) |
1e−6 … 1e−4 | чистые, сходящиеся прогоны; распад Γ t_dyn = 0.3 снижает максимум компактности в 2–3 раза |
| L_rms = 0 (холодная пыль), ν = 0.05 | unresolved (max 2m/r ≈ 0.98) |
0.5 … 1.2 | численно недостоверно: каустика в центре (все оболочки проходят через r = 0 в пределах одной ячейки); за каустикой схема не валидна, как и предупреждает спецификация |
| L_rms = 0, ν = 0.15 | BH_approach / unresolved |
0.03 … 0.3 | пограничные; требуют ×10 разрешения по сетке и частицам |
Диагностика импульсной связи (mc в логе) при 10⁴ частицах даёт относительную невязку 0.2–1.5, то есть она пока доминируется дробовым шумом CIC-депозита j; количественный смысл она приобретёт только в исследовании сходимости по числу частиц (≥ 10⁶), что на этом VPS занимает часы на точку (раздел 4).
Практический критерий приёмки прогона на данном шаге: дрейф ADM-массы < 1e−2 и отсутствие каустики в центре до конца прогона. По нему из 24 точек достоверны 14.
4. Экстраполяция на рабочий скан Stage A
Один сходящийся прогон (≥ 20 ячеек на r_s, box 6R, K ≈ 4000, 10⁶ частиц, 5 t_dyn, dt = 0.4 dr): ≈ 3.7·10⁴ шагов × 3.8 с ≈ 39 ч на ядро в текущем коде; с компилированным pusher (×10) ≈ 4 ч.
Скан по осям (ν, flatness, L_rms, Γ/H, k_cutoff, closure) ≈ 200 точек × (3 сетки × 2 разрешения по частицам) ≈ 1200 прогонов:
| Платформа | Ядер | Время скана (компилированный pusher) |
|---|---|---|
| текущий VPS | 2 | ≈ 100 дней |
| CCX33 | 8 | ≈ 25 дней |
| CCX43 | 16 | ≈ 12 дней |
| AX102-1 | 16c/32t | ≈ 8–10 дней |
Память: ≈ 280 B/частица + рост числа дочерних частиц (до ×8 при полном распаде) → 10⁷ частиц ≈ 3–6 GB на прогон. При одном прогоне на ядро нужно ≥ 4 GB/ядро; текущий VPS не вмещает даже один такой прогон.
5. Что докупить на Hetzner
Цены Hetzner Cloud после корректировки 15.06.2026 (FSN/NBG/HEL, ex VAT, без IPv4):
| Тип | vCPU (dedicated, AMD EPYC) | RAM | NVMe | €/мес |
|---|---|---|---|---|
| CCX23 | 4 | 16 GB | 160 GB | 85.99 |
| CCX33 | 8 | 32 GB | 240 GB | 138.49 |
| CCX43 | 16 | 64 GB | 360 GB | 275.99 |
| CCX53 | 32 | 128 GB | 600 GB | 533.49 |
Рекомендация:
- Купить CCX43 (16 vCPU, 64 GB, 360 GB NVMe, Ubuntu 24.04, IPv6, snapshot перед обновлениями). Это «комфортный dev node» из спецификации; 4 GB на ядро позволяют 16 параллельных прогонов по 10⁷ частиц, скан укладывается в ~2 недели.
- Минимум, если бюджет жёсткий: CCX33 (8 vCPU, 32 GB) — скан ~1 месяц, прогоны по 10⁷ частиц только по 6–7 параллельно.
- Обратить внимание: AX102-1 (16 ядер / 32 потока Ryzen 7950X3D, 128 GB, 2×1.92 TB) стоит €257.30/мес + €129 setup — дешевле CCX43 в месяц при вдвое большей RAM. Если шаг 2 спецификации (AX102) планируется в ближайшие 1–2 месяца, разумно взять CCX33 сейчас для разработки и сразу AX102-1 для скана, пропустив CCX43. Минус AX102: нет почасовой оплаты и snapshot'ов, ожидание провижининга.
CX/CPX/CAX (shared) не брать: длинные прогоны с провенансом требуют dedicated vCPU.
6. Следующие шаги на новой машине
- Компилированный particle pusher (C, OpenMP по частицам) — ×10 к скорости.
- Horizon-penetrating калибровка для продолжения через 2m/r = 1 и настоящий поиск θ₊ = 0.
- Космологические начальные данные и граница (расширяющийся X + radiation фон).
- Бенчмарк Andréasson–Rein (критический коллапс типа I) и статические решения Rein–Rendall.
- Tightly-coupled radiation closure (сферическая релятивистская гидродинамика).
- Полный скан с конвергенцией и карта исходов → вход для Stage C (surrogate + importance sampling).