怎样入门计算化学
1个回答
展开全部
原则上先做劝退。
计算毁一生,量化穷三代。
劝退一人,胜发nature。
如果还有兴趣那么剩下的坑等下填……
计算化学是一门永远要不停学习的科目。
量子力学,统计力学是最基本的科目
根据你研究的尺度不同,大致有用量子力学(Ab-initio or DFT)去算的,也有用力场(Force field)去算的。
从研究方向上分,有算化学反应的,有算性质的。计算化学反应的有算有机反应的,有solid state的表面反应的。
学习计算化学最好先从简单的计算化学软件学起,首先比较简单容易入门,要求理论知识不太多。
如果计算非周期性体系:Gaussian, Orca, ADF 都是新手比较好入门的软件,其中Gaussian和ADF是比较User Friendly的
计算周期性体系,尤其是固体:VASP, quantum espresso, SIESTA 都是比较优秀的软件
学习软件有很多种方式,网上有大量的实例训练,遇到不会的多读说明书。
随着你学习的深入,你会发现,软件看起来不难啊,但是基础知识是越来越不够了啊。总不能让DFT (B3LYP, PBE)这些无脑泛函坑一辈子吧,不能一味着调泛函,增大Basis set吧。这个时候你就需要重新学习两方面的知识: 1. 计算化学 2. 量子力学
光学习计算化学还是不够的,里面很多物理的知识不懂啊,这时候你该学习量子力学了,搞清楚你所需要的hamiltonian是怎么来的,干什么用的,怎么分析。至于量子力学的数目,中文的我推荐:曾谨言的,英文的Coen的略难,太过于物理,但是很详细,其他书目自己想想办法,很多推荐量子力学的。
当学会了这两门课程,你开始慢慢有了些心得。但是你发现你做计算实验的速度真是慢的不得了啊,每次都要手动修改数据。这时候你需要着手开始学习脚本编程,例如Bash,Python这些语言。
会写脚本了,你原来一下午弄完的东西,现在不到一个小时就搞完了,该干什么呢?
你又觉得,光做模拟还不行,得做方法。这时候你开始学习FORTRAN或者C,当然Python还是很有用。你开始搞不清楚矩阵怎么运作,你又要恶补线性代数。当你搞定了线性代数,又发现算法上搞不懂啊,很多方法没办法实现。
你又要开始学习numerical methods这些东西(numerical recipes 有很多书籍),然后你开始沉醉于各种算法的精妙之中,认真钻研不同算法的优劣。这时候你发现只是算法精妙不好使啊,并行计算也十分重要的,你开始学习MPI的相关只是,切换与C, FORTRAN, Python各个语言之中。当别人问起你哪个语言最好用的时候,你头头是道的讲了出来。
偶然间,你发现程序猿工资好高啊,当你投出了几个薪水诱人的position的时候,人家看你用FORTRAN写程序,笑掉了大牙,你开始学习了JAVA,C++等等economic language,然后你发现,不是科班出身真是不好使啊。
你quit了chemistry,重新申请了CS的项目,学完后,你获得了无数的高薪offer,然后直呼,计算毁一生,量化穷三代。
计算毁一生,量化穷三代。
劝退一人,胜发nature。
如果还有兴趣那么剩下的坑等下填……
计算化学是一门永远要不停学习的科目。
量子力学,统计力学是最基本的科目
根据你研究的尺度不同,大致有用量子力学(Ab-initio or DFT)去算的,也有用力场(Force field)去算的。
从研究方向上分,有算化学反应的,有算性质的。计算化学反应的有算有机反应的,有solid state的表面反应的。
学习计算化学最好先从简单的计算化学软件学起,首先比较简单容易入门,要求理论知识不太多。
如果计算非周期性体系:Gaussian, Orca, ADF 都是新手比较好入门的软件,其中Gaussian和ADF是比较User Friendly的
计算周期性体系,尤其是固体:VASP, quantum espresso, SIESTA 都是比较优秀的软件
学习软件有很多种方式,网上有大量的实例训练,遇到不会的多读说明书。
随着你学习的深入,你会发现,软件看起来不难啊,但是基础知识是越来越不够了啊。总不能让DFT (B3LYP, PBE)这些无脑泛函坑一辈子吧,不能一味着调泛函,增大Basis set吧。这个时候你就需要重新学习两方面的知识: 1. 计算化学 2. 量子力学
光学习计算化学还是不够的,里面很多物理的知识不懂啊,这时候你该学习量子力学了,搞清楚你所需要的hamiltonian是怎么来的,干什么用的,怎么分析。至于量子力学的数目,中文的我推荐:曾谨言的,英文的Coen的略难,太过于物理,但是很详细,其他书目自己想想办法,很多推荐量子力学的。
当学会了这两门课程,你开始慢慢有了些心得。但是你发现你做计算实验的速度真是慢的不得了啊,每次都要手动修改数据。这时候你需要着手开始学习脚本编程,例如Bash,Python这些语言。
会写脚本了,你原来一下午弄完的东西,现在不到一个小时就搞完了,该干什么呢?
你又觉得,光做模拟还不行,得做方法。这时候你开始学习FORTRAN或者C,当然Python还是很有用。你开始搞不清楚矩阵怎么运作,你又要恶补线性代数。当你搞定了线性代数,又发现算法上搞不懂啊,很多方法没办法实现。
你又要开始学习numerical methods这些东西(numerical recipes 有很多书籍),然后你开始沉醉于各种算法的精妙之中,认真钻研不同算法的优劣。这时候你发现只是算法精妙不好使啊,并行计算也十分重要的,你开始学习MPI的相关只是,切换与C, FORTRAN, Python各个语言之中。当别人问起你哪个语言最好用的时候,你头头是道的讲了出来。
偶然间,你发现程序猿工资好高啊,当你投出了几个薪水诱人的position的时候,人家看你用FORTRAN写程序,笑掉了大牙,你开始学习了JAVA,C++等等economic language,然后你发现,不是科班出身真是不好使啊。
你quit了chemistry,重新申请了CS的项目,学完后,你获得了无数的高薪offer,然后直呼,计算毁一生,量化穷三代。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询