尽管使用comsol这么长时间,对其错误处理真的束手无策,大部分时间只能干瞪眼。
遇到最多的错误就是:The relative error is greater than the relative tolerance
,也就是不收敛问题。如果是使用 Abaqus我倒是有足够的耐心和方法来修改模型,要么模型设置有问题,要么更改求解器默认配置,可是对于Comsol真的是无能为力。奈何这模型简单到不能再简单,而且我有必须得用这个模型,所以必须把他解决掉。Google大法好~
一下子搜到了这一条,打开看看,里面还真有好东西啊,COMSOL 员工的回帖,而且是五个月之前的回帖,而这个帖子最初是5年前的。唉,真是有幸被我看到了,最近五个月之内确实没有搜索过,五个月之前倒是搜索过几次。
Henrik Sönnerlind
COMSOL Employee
Posted: 5 months ago, Updated: 5 months ago
Parts of the suggestions in the forum linked above are dubious. The explanation of what the tolerance measures is not fully correct either.
Using tolerances of the order of 0.1 is, in most cases, dangerous. It can be used temporarily for investigating a problematic model, but that implies that you accept 10% error. If you are interested in gradients of the dependent variable (as stresses in solid mechanics), this is not good enough. The errors in the gradients can be significantly larger.
Also, in a nonlinear analysis with several steps (time steps or an auxiliary sweep), a sloppy tolerance may lead to convergence problems later on, since you are too far from the true solution.
Using 0.01 is not that bad. Still, for any well-behaved problem, it should be possible to converge to almost any tolerance level just by allowing a large enough number of iterations.
You can try to increase the number of allowed iterations. Also, you should check the scaling of the dependent variables. Using manual scaling rather than automatic may help.
这次问题解决了,增加迭代次数 。默认为25,追加到100,直接在任务停止的地方开始计算,果然算过去了。皆大欢喜。
捕获.PNG
网友评论