|
原帖由 老虾 于 2007-3-26 19:02 发表 
也不知道是谁居高临下,而且还是虚无缥缈的高.在一个自己一无所知的领域里指点江山,对着计算机系的学生,相关产业,行业状况,未来的发展,技术细节说三道四.在数值模拟方面没兴趣和你排资论辈,因为你压根没入 ...
现在终于可以静下心的聊一聊了,多网格技术,实际上并非是耦合那么简单,之所以我说他能够提高计算速度,最根本的在于V循环和W循环的理念,举个例子,假设最简单的,我们知道一个四边形的边界条件和方程,要求每点的场分布,那么传统的有限元,将整个四边形分成多干个小网格,开始递推。这种方法当网格数目增多的情况下,速度是非常慢的,因此就有了多网格的技术,在多网格内分为粗细两种网格,粗网格的计算量小,速度快,细网格内计算量大,速度慢,这种多网格的技术,实际上将一个平面,分解成若干层,层与层之间用转移算子连接,然后从粗网格到细网格到转移算子再到细网格最后回到粗网格。这是一种单纯的算法,也就是说在同等的网格数目中,通过使用这种方法,可以大大的缩减计算时间。当然具体的细节还需要再回去看看书才能深入讨论。但是从基本上来说这种算法已经很成熟了,至少文献包括很多大学的数学系都已经写出很多W循环收敛的论文了。目前的大多数仿真软件还没有使用这种方法,所以碰到复杂的问题,我们只能通过人为的改变某个区域内网格的数目大小来节省计算时间,而使用多网格技术的话,可以保证在细网格精细度和原有传统网格一致的情况下,大大提高计算速度,这就好比将变成算法中的递归调用引入到网格分层上来。
其实你说的“光是建模和结果分析这两块就够喝一壶的”这句话,我很赞同,工程系的学生基本上能到精确的建模就已经很花时间,而剩下的数值计算部分,必须由计算机系的学生去完成,你也说到了商用软件,那么回到那个简单的问题上来,如果计算机系的学生不去学习数值和PDE以及多网格技术,那么到底是谁能写出这些商业软件?如果纯粹靠应用数学系的学生,人手够么,而且他们写的程序能保证最有效的利用内存么?没有这些商业软件,你回国怎么搞研究? |
|