物理,计算机技术爱好者分享 http://blog.sciencenet.cn/u/guowei Guowei Zhao 等离子体,计算机,物理

博文

三纬等离子体与电磁场的数值模拟

已有 5871 次阅读 2008-1-15 02:46 |个人分类:学术教育

等到了三纬时,基本上能够满足实验的需要了,只要建立合理的方程,对程序来说,步骤相对更加简单一下.因为不要太大指望能仅仅从三纬模型上得到一些原理的突破.

三纬的优点是更加真实的反映现实,缺点是速度慢,耗内存.因此在三纬模拟上的方向一般是算法,针对性能所提出的.如为了减少内存,就必须采用新的数据存储方式,改进算法,使用更少的内存.或针对运行时间长,提出多线程,分布式处理,并行计算等不同手段.

因此三纬数值模拟一般不是一个人所能做的,它需要一个团队之间的配合,大家分工明确,谁负责做主体,谁负责算法,谁负责做并行等等.其实想想道理很简单,如果你一个人做个三纬模拟出来,意义肯定不大,因为有太多的东西需要多,你只能每样做一点,每样都没有深度,这也是必然的.

三纬中算法的提高,这个算国内研究最多的了,FDTD色散介质的算法不下数十种,但每种算法都有它的限制和优点.同时很多算法的改进在二纬模型中也可以实现,因此如果要再对算法进行研究,除非特殊需要,否则没有必要在三纬模型上进行试验,运行时间长,不容易调试.

还是说一下容易出结果的一些东西吧.

1)多线程这方面做的很少,因为多线程的库一般是Linux下面pthread用的最多,现在的Java和VS中都有了多线程函数库,科研人员基本搞物理的多些,搞计算机的少一些,因此做多线程技术在等离子体与电磁场数值模拟中的应用很少.其实做起来也很简单,只要合理的划分区域,设置临界区,信号量,程序的主体框架基本上不用动.

2)并行计算或分布式处理,这个有人在做,但也不多,其实可以做的内容也很多.但从效果而言,要比多线程好很多,因为它不用解锁或锁,但它需要网络传输数据,用datasocket也可以了.

   提醒一下,三纬数值模拟一般需要一个团队经过一段时间才能有所成就,或有所心得,如果一个人,除非有现成的代码,否则一般很难搞出有创新的东西。

  最后强调一下,任何数值模拟,数值计算一般都要在对物理模型,理论有很深的了解下做,才能做到心中有谱,万无一失.因为在做模拟的过程中,你会发现很多你没想到的现象,这到底是对,还是错?是什么原因引起的,程序收敛性有错,代码有错,还是的确存在,而你没想到.如果是没想到,就应该反省自己为什么开始没预测到.很难想象,照般一些公式,建立个物理模型,是如何调试程序的.只能一片茫然,向别人请教,这也失去了做数值模拟的意义.



https://blog.sciencenet.cn/blog-29036-14470.html

上一篇:二纬等离子体与电磁场的数值模拟
下一篇:数据库管理软件对科研的重要性

0

发表评论 评论 (6 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2022-5-26 06:11

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部