# Фаза 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. Ограничения текущего шага (не скрывать) 1. Полярно-ареальная калибровка: горизонт можно только *приблизить* (max 2m/r → 1, лапс → 0). Исход `BH_approach` — не найденный apparent horizon в смысле θ₊ = 0 на замкнутой поверхности. Нужен horizon-penetrating шаг (максимальное слоение или ингоинг-координаты) — это следующий пункт Stage A. 2. Космологическая граница (расширяющийся радиационный фон) не реализована; все прогоны изолированные. 3. Дочернее излучение только бесстолкновительное; tightly-coupled fluid не реализован. 4. 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. Следующие шаги на новой машине 1. Компилированный particle pusher (C, OpenMP по частицам) — ×10 к скорости. 2. Horizon-penetrating калибровка для продолжения через 2m/r = 1 и настоящий поиск θ₊ = 0. 3. Космологические начальные данные и граница (расширяющийся X + radiation фон). 4. Бенчмарк Andréasson–Rein (критический коллапс типа I) и статические решения Rein–Rendall. 5. Tightly-coupled radiation closure (сферическая релятивистская гидродинамика). 6. Полный скан с конвергенцией и карта исходов → вход для Stage C (surrogate + importance sampling).