用途:对数值模拟做空间与时间收敛分析,验证解是否按预期阶数收敛,并估计离散误差。
主要能力:提供四个脚本。h_refinement.py 与 dt_refinement.py 分别做网格、时间步细化研究,输出 results.observed_orders、results.mean_order、results.richardson_extrapolated_value、results.convergence_assessment;richardson_extrapolation.py 输出 results.extrapolated_value、results.error_estimate、results.observed_order;gci_calculator.py 输出 results.observed_order、results.gci_fine、results.gci_coarse、results.asymptotic_ratio、results.in_asymptotic_range、results.extrapolated_value、results.notes。
使用方式:需 Python 3.10+,仅用标准库 math,无第三方依赖。输入包括网格间距或时间步序列、各细化层级的 QoI 值、预期阶数与安全因子(默认 1.25)。示例:python3 scripts/h_refinement.py --spacings 0.4,0.2,0.1,0.05 --values 1.16,1.04,1.01,1.0025 --expected-order 2.0 --json;python3 scripts/dt_refinement.py --timesteps 0.04,0.02,0.01 --values 2.12,2.03,2.0075 --expected-order 2.0 --json;python3 scripts/richardson_extrapolation.py --spacings 0.02,0.01 --values 1.0032,1.0008 --order 2.0 --json;python3 scripts/gci_calculator.py --spacings 0.04,0.02,0.01 --values 1.0128,1.0032,1.0008 --json。
适用场景:网格/时间步收敛研究、解验证、离散误差估计、GCI 报告。
限制:GCI 计算要求恰好 3 个细化层级,Richardson 外推至少 2 个;细化研究建议至少 3 层。观测阶与预期阶偏差超过 10% 时 convergence_assessment 为 FAIL。恒定细化比时 asymptotic_ratio 会退化为 f1/f2,不能单独作为渐近范围证据,需比较观测阶与预期阶。细化比应不小于 1.3,否则可能落入舍入噪声。观测阶非正表示解发散,此时不外推、不报 GCI。脚本不读写外部文件,仅输出到 stdout。