我更改了模型中的参数,但有时会由于条件不佳的Jacobian而导致模拟停止,我不确定这个错误意味着什么。
我的问题是:
答案 0 :(得分:2)
Modelica模型或多或少映射到混合ODE系统(或索引为1的混合DAE系统)。为简单起见,假定它映射到一个显式的连续时间ODE系统
xdot = f(x,p,t),x(0)= x0
请注意,混合ODE系统由多个连续时间ODE系统组成。雅可比行列式是f w.r.t.的偏导数。 x是
df / dx(p,x0,t)
常见的现代数值求解器将此矩阵用于自适应步长数值积分,即在每个时间步长选择一个新的步长。对于慢速动态,选择大步长,反之亦然。在每个时间步上,都可能使用高斯-牛顿迭代方案来求解非线性方程组,该方案需要雅可比矩阵的逆(或其近似)。如果雅可比行列式在特定时间步长处病态或半奇异,则会导致数值不稳定,从而可能会妨碍数值解的计算。
我更喜欢的一本好书是Sundials套件的文档/用户指南,例如CVODE guide的Ch2。除了著名的书籍外,更高级的文献包括与此类现代数值求解器有关的期刊论文,例如Sundials,DASSL等。
可能是,例如通过计算雅可比行列的秩和核,并找出哪些方程组使雅可比行列为奇数。