用途:为时间相关 ODE/PDE 模拟选择与配置数值积分方法,覆盖显式/隐式方案选择、误差容限设定与自适应时间步管理。
主要能力:脚本 integrator_selector.py 推荐积分器(recommended、alternatives、notes);error_norm.py 计算缩放误差范数(error_norm、scale_min、scale_max)用于步长接受判定;adaptive_step_controller.py 输出 accept、dt_next、factor,支持 I/PI/PID 控制器;imex_split_planner.py 规划隐式/显式项与分裂策略;splitting_error_estimator.py 估计分裂误差与子步数。决策指引:刚性问题且有 Jacobian 用 Rosenbrock 或 BDF,无 Jacobian 用带数值 Jacobian 的 BDF;非刚性高精度用 RK45 或 DOP853,否则用 RK4 或 Adams-Bashforth。IMEX 耦合弱用简单算子分裂,中等用 Strang 分裂,强耦合用全耦合 IMEX-RK。
使用方式:需 Python 3.8+,部分脚本需 NumPy,核心功能无重依赖。示例命令:python3 scripts/integrator_selector.py --stiff --jacobian-available --accuracy high --json;python3 scripts/error_norm.py --error 0.01,0.02 --solution 1.0,2.0 --rtol 1e-3 --atol 1e-6 --json;python3 scripts/adaptive_step_controller.py --dt 1e-2 --error-norm 0.8 --order 4 --controller pi --json。误差范数小于 1 接受步长,约等于 1 处于容限边界,大于 1 拒绝并减小 dt。
适用场景:刚性与非刚性 ODE/PDE、相场方程(如 Allen-Cahn)、混合刚/非刚问题的 IMEX 与算子分裂。
限制:不含自动刚度检测,需使用 numerical-stability 的 stiffness_detector;分裂假设各项可清晰分离;部分方法需要解析或数值 Jacobian。价格与收费信息暂未提供。