|
对于科学计算,或更一般地讲科学研究,我总结了一下我的一些具体的体会和经验,给大家来分享,希望大家能够有效地体现在自己平常的科学研究中去,或有更好地发挥和总结:
(1)要将物理模型想清楚,计算研究之前,尽量将问题简化,找出核心、关键问题,然后在设计相应的模型,进行数值计算
(2)要充分地根据相关的物理、化学理论、知识进行尽可能多的分析、讨论。DFT
理论计算是我们的重要研究手段,但绝不是唯一的研究手段。往往算得太多,想得
太少,会导致只见树木,不见森林,局限于细节,或容易专牛角尖而不自觉,让问
题限于困境,或完全忘了自己到底在干什么。反过来,又不能过于依赖定性分析和
讨论,没有定量的研究也就不成为科学,也就不会有DFT理论及其应用蓬勃发展的
今天。
(3)在保持批判眼光看已经发表的文献结果的同时,要充分吸收、理解已发表文献的研究结果,并用其来帮助解决我们的问题。我们不可能、也完全没有必要所有的东西都从头自己做一遍。所以要充分地阅读大量的文献,进行很好地总结。一般来讲,大的课题组、有名的研究中心研究结果相对来说可靠一些,但也不能说他们做的所有的东西都是对的。也有很多计算被证明是完全错误的。和自己研究问题相关的关键的数据一定要进行重复计算。
(4)为提高效率,在大规模、批量计算之前,要做好充分的测算、试算,调整到最优的参数和算法后,再统筹安排计算。
(5)Benchmark计算/研究,特别是针对新的体系是绝对不可少的。大多数的科学研究都是基于定量研究的基础之上,所以拿出可以信赖的、有说服力的数据,是一切科学研究可以被称之为科学研究的必要条件。
(6)要充分认识到DFT理论计算适用范围,相关的系统误差、数值误差的大小,以
及所研究问题的特性和需要的精度有多大。要对相关的物理量、物理过程在量纲和
数量级上有一定的概念,据此要求,来选择的相应的计算方法、模型和参数。不做
盲目的、不必要的高精度计算,也不要让数值噪声太大,以致完全影响准确的数值
分析和物理结论的导出。
(7)要将定性、粗略的计算和定量、高精度的计算有机地结合起来。定性、粗略的计算适合于快速的排除、以及验证一些初步的猜想,有助于迅速地缩小研究的范围,得到初步的、定性的认识,并验证一些来源于直觉上的、不能完全确定的初步推断。定量的计算则是可以最后放到文章里去的计算,或定性计算不足以区分相关物理过程、或需要定量、准确描述的问题。
(8)提高计算效率方法之一是,设计好计算方案和相应的对比计算,不做漫无目的的计算。要力图将问题、相关变量给孤立出来,单独进行测试分析,不要眉毛胡子一把抓。这可以极大地便利问题的分析和排除,加快研究进度。
(9)提高程序使用技巧和效率,努力学习相关理论知识。一个从事理论计算的人,如果程序在你手里只是一个黑盒子,那你就不能说是一个从事理论研究的人,也就不能真正发挥理论研究的力量。在研究工作进展到一定水平,技巧就是非常重要了。同样的认识和理解,同样碰到很有趣的问题,你技术水平不够好,不够快,逾越不过去,也就还是解决不了问题。或受限于你的技术和方法,同样也不能有效地解决相应的问题。简言之,不能眼高手低,或不切实际。
(10)人是所有因素中最大的速控步。大多数人所面临的最主要的问题,不是技
巧、方法和设备水平的局限,更多的是对科学问题的理解和简化所到达的深度。不
勤于、善于思考,简单的问题也会变得复杂了;勤于思考,善于思考,看似复杂的
问题,也变得容易解决了。小的科学问题,做的深了,能够变通了,也可以变成大
的科学发现了。所以我平常也总在提醒大家,科学问题无所谓好坏,无所谓难易,
关键是看做问题的人和怎样去做。我在前几天也提到:最好的程序是你真正理解的
程序。其初衷也是在某种程度上是弱化对外在仪器、硬件的依赖性,而更加强调从
事研究工作的个人的内在因素的重要性,而事实上也是如此。再好的仪器、设备也
要看具体使用的人怎么去使用它了,在好的仪器、设备也是人造出来的。
希望大家在日常工作中勤于思考,不断总结、提高自己,做出漂亮的工作来,为自
己将来的顺利发展打下坚实的基础。也希望大家能够对此进行更深入地思考、总结
和探讨。
|