Сверка документации с кодом: исправлены расхождения

Сплошная проверка документов против дерева. Код не менялся.

README.md решателя:
- компенсированное суммирование Кэхена–Ноймайера заявлено «в редукциях
  и в сумме сил», но ядро k_force копит в обычном f32 и сворачивает
  наивным деревом; kadd применяется только в редукциях статистики;
- «каждый прогон кладёт гифку» — гифку пишут 59 прогонов из 115,
  остальным --gif не передаётся; перечислено, что пишется всегда;
- «≈90 часов GPU» — это ≈90 машинных часов: 108 прогонов на GPU (≈87 ч)
  и 7 на CPU (≈3 ч, сходимость группы A).

bench/README.md — те же две поправки про часы и гифки.

docs/theory/solver_2x_sdf/README.md:
- предлагался несуществующий переключатель cfg.collision="bgk" и реестр
  операторов get; тот же файл двумя разделами ниже говорит, что оператор
  зафиксирован. Правка перенесена из ветки rust, файл общий для всех
  веток.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-16 14:12:25 +03:00
co-authored by Claude Opus 5
parent 251293cd05
commit 3e81ed130c
3 changed files with 20 additions and 11 deletions
+12 -7
View File
@@ -364,8 +364,11 @@ CPU (f64) и GPU (f32) на одной постановке совпадают
статистики: на 240×120 счёт упирался в 863 шаг/с при том, что сам счёт занимал 0.27 мс из
1.16. Теперь итоги копятся в кольце на 128 слотов, синхронизация — раз в батч: **6715 шаг/с**,
в 7.8 раза быстрее, при неизменном пошаговом интерфейсе снаружи.
2. **Компенсированное суммирование** (Кэхена–Ноймайера) в редукциях и в сумме сил. Наивная сумма
по 10⁵–10⁷ узлам съедает ~log₂N бит мантиссы — именно там f32 терял основную точность.
2. **Компенсированное суммирование** (Кэхена–Ноймайера) в редукциях статистики — ⟨ρ⟩, ⟨γ⟩,
счётчики узлов и вырожденных узлов. Наивная сумма по 10⁵–10⁷ узлам съедает ~log₂N бит
мантиссы — именно там f32 терял основную точность. **Ядро сил компенсации не использует:**
`k_force` копит в обычном f32 и сворачивает наивным деревом. Ранние редакции этого README
утверждали обратное; если точность Cd когда-нибудь упрётся в потолок, начинать надо отсюда.
### Обтекание цилиндра против литературы
@@ -469,11 +472,13 @@ rms Cl 0.81 вместо 0.40 — то есть 75-процентная прод
## Валидационная кампания
`bench/` — 115 прогонов на ≈90 часов GPU, разложенных по девяти группам: эталоны первоисточников,
цилиндр против литературы, модели стенки, профили крыла, сложная и множественная геометрия,
границы домена, старт и время жизни, внутренние инварианты, сверхмелкие сетки до 4096×2048.
Каждый прогон кладёт логи, ряды, машиночитаемую сводку и гифку на всю свою длительность в
собственную папку.
`bench/` — 115 прогонов на ≈90 машинных часов, разложенных по девяти группам: эталоны
первоисточников, цилиндр против литературы, модели стенки, профили крыла, сложная и
множественная геометрия, границы домена, старт и время жизни, внутренние инварианты,
сверхмелкие сетки до 4096×2048. Из них 108 идут на GPU (≈87 часов) и 7 — на CPU (≈3 часа,
исследования сходимости группы A). Каждый прогон кладёт в собственную папку `cmd.txt`,
`log.txt`, `report.txt`, `series.csv` и `summary.json`; гифку на всю свою длительность
пишут **59 прогонов из 115**, остальным `--gif` не передаётся вовсе.
```sh
cd bench