コンテンツにスキップ
開発版ドキュメント — このサイトはmainブランチ向けで、インストール済みリリースと異なる場合があります。変更履歴を確認してください。

物理リリースの検証

新しいperiodic2 modelを定量的な議論に使う前に、portable CIとHPC用のリリース検証を 両方実行します。

Terminal window
make test-l2
make test-physics-release

HPC側では、収束データを生成する3本のL1 testに続けて、L3 heavy test、far correctionの正しさ、 MPI電荷収支、MPIによるperiodic cacheの同時生成を検証します。portable CIで実行済みのL2全体は重ねて実行しません。

manifest.txtには、各検証工程の経過時間とGNU timeが報告した最大RSSを記録します。最大RSSが既定の8 GiBを超えると、 リリース検証は失敗します。上限はBEACH_RELEASE_MAX_RSS_KBで変更できます。

convergence.csvは、test logのBEACH_CONVERGENCE行から毎回生成します。必要な収束軸が1つでも欠けると、 リリース検証は失敗します。Fortran targetごとの実行時間は、test_l3-target-timings.csvfar_correction-target-timings.csvに記録します。

次の表は、2026-07-11にIntel 2023.2とSystem Bのcompute nodeで取得した、正しさを確認する小規模fixtureの値です。 実運用caseでは、この表とは別にcase固有の収束確認を行います。

設定metric 1metric 2判定
same-time Boris dt0.25 / 0.125 / 0.06255.1600e-3 / 1.2990e-33.2533e-4予測中点場 + 台形位置の二次収束
panel FMM order2 / 3 / 4 / 5field: 2.3566e-2 / 2.0761e-3 / 2.3681e-4 / 2.8845e-5potential(order 5): 4.7828e-6order 5で2e-3未満
rough panel meshn=4 / 8 / 16、n=32基準field: 1.0645e-2 / 3.0336e-3 / 6.3047e-4potential: 1.0805e-2 / 2.9001e-3 / 5.9489e-4refinementで減少
rough outer grid65 → 129field差 3.2521e-6potential差 4.3034e-75e-5未満
rough accessibility8x8 → 16x163.1250e-2tolerance 1.0e-1tolerance以下
outer orbit dt0.1 → 0.05energy error 1.2000e-33.8835e-4dt半減で減少

periodic far correctionの数値検証はmake test-fortran-far-correctionで実行します。 無限周期operatorはtest_periodic2_infinite_operator、cold/warm cacheはtest_periodic2_operator_cache、 MPIによる同時生成はtest_periodic2_operator_cache_mpiで検証します。速度比較はdebug buildで行う正しさの検証とは分け、 release profileのmake test-fortran-benchmarkで実行します。

実運用caseでは、少なくともmesh、sim.dt、FMM order/tolerance、outer grid、height samplingを変えてください。 そのうえで、表面電位、吸収/escape flux、電荷収支、主要な結論が収束することを確認します。