You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SIRK45格式实现问题:Lotka-Volterra测试隐式部分信息丢失

半隐式四阶龙格-库塔格式(SIRK45)实现问题排查求助

背景与问题

我正在开发二维可压缩欧拉方程数值模型,需要实现**半隐式四阶龙格-库塔格式(SIRK45)**来求解 $\frac{du}{dt} = f(u) + g(u)$ 形式的方程——其中$g$是刚性项,$f$是非刚性项。

参考指定文献完成实现后,我用Lotka-Volterra系统做测试案例,将自己实现的SIRK45与scipy.integrate.solve_ivp提供的RK45、Radau格式做对比测试(测试时会将其中一个函数设为零函数,单独验证显式/隐式部分)。

测试结果显示:当时间步长足够小时,显式部分的表现符合预期,但相同步长下,隐式部分会随着时间推进逐渐丢失信息,结果偏离正确值。

实现细节

我在处理时将$f(y + h*sum)$视为常数,通过scipy.optimize.root迭代求解如下形式的方程:

x - cst1 - g(y + dt*sum + dt*cst2*x) = 0

目前怀疑是隐式部分的处理逻辑存在问题,但无法准确定位错误点。

代码附件

SIRK45实现代码

# 请在此处粘贴你的SIRK45实现代码

测试代码

# 请在此处粘贴你的测试代码

内容的提问来源于stack exchange,提问作者Slyphlamen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:24:30