错误分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*** ERROR \"ALG_SINGULAR_JACOBIAN\" *** Singular Jacobian matrix.
Some possible causes for a singular Jacobian matrix:
- Model operating outside of its intended region of operation.
- Node/subsystem with no connection to the reference (floating).
- Current loops (voltage sources/inductors in parallel).
- Missing equation and/or missing variable reference.
出现不收敛是不是由于接地、接口的问题产生的?还是其它原因?能否具体讲解一下吗?谢谢!
其实错误信息里面就含有可能引起不收敛的原因,下面来逐条看看.
- Model operating outside of its intended region of operation
模型运行越界,即运算出的结果使得模型超出了它正常的运行范围,对于仿真器来说就是某个或者某一些节点、变量的运算结果在某一个时刻(通常也就是仿真中断的时刻)出现了奇异点,这些点和原来的计算结果出现了非常大的变化(通常是10的n次方的数量级),导致仿真器无法得到一个在误差允许范围内的系统解,所以就不收敛了.
- Node/subsystem with no connection to the reference (floating).
节点或者子系统缺少参考点. 这条意思非常明显,在目标系统中的某个节点处于悬空状态,仿真器无法得到该节点的正确解.这种情况下要仔细查找系统,看看有没有这种情况出现.如果有,需要为该节点添加一个上拉或者下拉偏置.
- Current loops (voltage sources/inductors in parallel).
系统中出现了电流环路.电流源只能并联不能串联,如果一个环路中出现了两个以上的电流源,仿真器也无法得到正常的解,将会出现不收敛.有意思的是上面还括弧中还列举了另外一种情况,就是电压源和电感直接并联.这种情况下,DC分析是没法收敛的,因为电感的阻抗在DC分析时被视为0,而电压源与它直接并联,此时就会造成电感电流无穷大,引起DC分析不收敛.
- Missing equation and/or missing variable reference.
确实系统方程或者缺少系统变量参考.这种情况在自己写MAST语言建模的时候容易出现(Saber自带的模型都是经过验证的,不会出现这种情况),主要是指在自建的模型中,定义的系统变量没有相关的系统方程,造成仿真器无法计算该系统变量,导致仿真不收敛.
在提示的这四种情况中,第四种主要和自建模型有关,如果没有自己写的MAST程序,就不必考虑.第二和第三种容易在DC分析或者TR分析一开始就出现不收敛的情况,诊断起来也相对容易.第一种可能出现在TR分析的任何时刻,这种情况在仿真结果中会有所体现,打开仿真结果文件,仔细查看各个节点的变量波形,能找到波形仿真突变的节点变量.此时就需要研究与该变量相关的模型,通过调整系统结构或者模型参数来避免这种收敛性问题.
由于saber仿真要求较高,所以给新人造成了一些困扰,一些常见错误的解决方法:
1)设置元件属性时加了单位,这就要抽脸了,初犯可以宽恕。
2)元件名文件名路径名有重复,saber也会报错。
3)***error "Alg_no_solution" *** Cannot find nonlinear system solution.
***error "Alg_iterations" *** Too many iterations.
常用的方法是增大target iterations和max newton iterations,有时减小trunction error,一般都能解决。
4)*** ERROR \"ALG_SINGULAR_JACOBIAN\" *** Singular Jacobian matrix
先看你是否有自建的模型,可能模型错了,如果确定无误或没有,接着看。
是否接地,saber中不能有独立的系统的,即使隔离也需要共地,不然仿不了。
出现了电压环路电流环路,解决方法:给电容电感加初始值(或者并联一个很大的电阻串联很小的电阻仿过后去掉再仿它就搞定了,有些人就纳闷了怎么会这样,saber就这样这跟初始状态有关,有时第一天不行,第二天又能仿了)。
还有一个就是模型越界了,那就需要仔细检查电路了。saber用户指南dc一章也对调试方法进行了讲解,不过比较烦人。
大家慢慢用吧,发现问题解决问题才能进步,当然saber对电源仿真得精确度那是没的说的,这也是saber如此火的缘故吧。
当出现如下问题,可以按照一下步骤设置,一般可以解决问题:
***error "Alg_no_solution" *** Cannot find nonlinear system solution.
***error "Alg_iterations" *** Too many iterations.