找回密码
 注册
查看: 2404|回复: 3

请教:关于隐式算法的迭代初值问题

[复制链接]
发表于 2013-1-12 19:37:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
问题描述:我用隐式间断有限元方法求解Euler方程,用Newton迭代法。发现如果时间步长取得稍微大点,就会出现负压力的情况,程序中断。小时间步长时可以计算。

用隐式算法就是为了增大时间步长,可是现在出现这么个情况。。。

Newton迭代对初值要求较严格,不是全局收敛的。是不是因为我的迭代初值给得不好?
我的迭代初值是给的上一个时间步的值,也用简单Euler单步法给过初值,都出现上面说的那个情况。

何解?请各位指点,感激不尽!
 楼主| 发表于 2013-1-12 19:39:21 | 显示全部楼层
补充说明:为了不计算Jacobi矩阵,用了Matrix-free方法,用GMRES方法求线性方程组。
发表于 2013-1-13 02:30:58 | 显示全部楼层

回复 2# glandetian 的帖子

说明两点:
1.目前间断有限元方法多采用RK显示方法,隐式方法尚不成熟。这从JCP近年来的文章就可以看出来;隐式方法对间断有限元方法的精度和稳定性的影响方面的研究正在逐步展开;不同的基函数对收敛性行为也是大不一样的。你的问题还可能和你使用的基函数有关;
2.对于你所采用的Matrix-free+GMRES方法是目前对于高阶方法形成的方程组的一种比较流行的迭代方法,属于牛顿类迭代方法,收敛较快。但是有几个前提:较好的初值,以及方程组的系数矩阵具有较良好的特性。对于前一点,一般通过先采用收敛速度较低但是稳定性好的隐式方法(如Jacobi迭代,LU-SGS等)迭代一定阶段在转换为GMRES等收敛较快的方法;对于第二点,一般通过对矩阵进行预处理来改善矩阵的性能,然后再采用GMRES等方法。其中预处理就可以采用Jacobi迭代,LU-SGS等。
    对于高阶方法形成的矩阵一般特性比低阶的矩阵的特性要差,这也是为什么高阶格式通常稳定性比低阶格式差的原因。对于高阶方法形成的矩阵更加需要通过预处理来改善其特性。以上不知道回答了你的疑问没?
 楼主| 发表于 2013-1-13 10:50:04 | 显示全部楼层

回复 3# lwd1981 的帖子

非常感谢啊!

写得非常详细,受教了!

希望论坛有更多的象您这样的热心人。

好人一生平安!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表