计算化学公社

标题: 请问有哪些教材教量子化学的手算呢? [打印本页]

作者
Author:
peter_mu    时间: 2020-7-30 22:58
标题: 请问有哪些教材教量子化学的手算呢?
本人已经搞了量子化学和分子动力学1年了,看了不少的这方面的英文书籍和文献。比如我看了卢老师推荐的那本 量子化学《quantum chemistry》,这本书里面有一些简单的HF计算和例题,然而仅仅局限于基态的氦原子的计算,其他的就没有涉及了,我到现在还是只会一个黑盒的软件去算东西,中间的过程完全不清楚。之后我看了《群论在化学中的应用》和VASP第一性原理入门的书,群论书里面举了不少例子来计算量子化学,但是全都是那种“点到为止”的,只讲群论在里面如何用的,几乎没有完整的分析。

我也看过一本分子动力学的书籍 《The Art of Molecular Dynamics Simulation》这本书就把分子动力学的推导过程和程序完全地写了上去,我一看就明白,而且做gromacs运算的时候,不在感觉是黑箱了。

还有一年多,我就要从学校毕业了,感觉量子化学没有学会,以后出去工作太丢人了,不但给导师抹黑,而且还打自己的脸。

所以,我想求各位帮我一把,有没有教“量子化学手算”的书籍给我推荐一下呢,最好书里面还有点例子的那种。谢谢各位老师和大神了!

作者
Author:
sobereva    时间: 2020-8-9 05:41
根本没必要追求什么“手算”。非要看点代码,把Szabo的Modern quantum chemistry书末的HeH+的代码看了
作者
Author:
hebrewsnabla    时间: 2020-8-9 10:53
本帖最后由 hebrewsnabla 于 2020-8-9 10:58 编辑

才搞一年,不会是正常的。

要追求比黑箱更高的层次,不一定是要手算,把程序看懂、会写程序不就行了?这方面可以阅读pyscf的代码,非常适合入门。可以配合szabo或徐光宪的书来理解。

一定要手算的话,可以看看Szabo那本书,里面有不少H2和HeH+的HF/后HF“手算”的例子(原子再多书上就写不下了)
作者
Author:
peter_mu    时间: 2020-8-9 15:46
sobereva 发表于 2020-8-9 05:41
根本没必要追求什么“手算”。非要看点代码,把Szabo的Modern quantum chemistry书末的HeH+的代码看了

谢谢老师,我指的手算就是自己能读得懂程序,稍微编编小程序。否则我感觉是机器会算,而不是我会量子化学。
作者
Author:
peter_mu    时间: 2020-8-9 15:46
hebrewsnabla 发表于 2020-8-9 10:53
才搞一年,不会是正常的。

要追求比黑箱更高的层次,不一定是要手算,把程序看懂、会写程序不就行了?这 ...

谢谢大神,我去看看你推荐的程序
作者
Author:
sobereva    时间: 2020-8-10 05:37
peter_mu 发表于 2020-8-9 15:46
谢谢老师,我指的手算就是自己能读得懂程序,稍微编编小程序。否则我感觉是机器会算,而不是我会量子化学 ...

一定要明确:会写程序,和懂量子化学是两码事。你当前的想法存在严重的误区!

懂量子化学计算的数值过程,比如需要对哪些矩阵对角化、需要算哪些积分、需要做哪些变换,把这些搞明白了就足够称得上对量子化学计算原理很懂了,这和写程序和读程序完全没有必然联系。不要走偏了。与其花大把时间研究程序代码、然后又很快忘光(而自己之后并不打算开发新的有实用性的程序),倒不如看更多理论方面的书来得有益,有一定深度的书对于必要的计算细节也都会有说明,对于理解理论方法是如何工作的已经足够了。

诸如算很不好算的双电子积分,就那么一个数学上的量而已,表达式也没什么复杂的,自己能不能写出来计算代码算出来和你对这个积分的概念上的理解完全没有相干性。

再比如Hartree-Fock计算,把Fock矩阵元的表达式和推导过程搞明白,知道什么叫正交化、基的变换,怎么求解广义本征方程解出来轨道能量和轨道展开系数,这还不够么?

一些新人以为非要把计算程序写出来、读懂某个计算程序才叫真正搞懂某个理论,这种想法是极其错误、不成熟的。不要在无关紧要的地方浪费大量时间。才接触计算一年,对于不是自己以后要写程序的人,有一大堆远远比现在鼓捣程序代码重要得多得多的事。

最后还要强调,你觉得目前对计算原理懂得太少,不知道程序是如何工作的,绝对不是因为没有自己写过程序、缺乏“手算”的经验,而纯粹是你目前看过的有深度的理论化学书籍太少,而这种书籍有的是。

以上是作为长期做量子化学研究、自己写过量子化学计算程序的人给出的忠告。


另外,量子化学编程的复杂度是分子动力学模拟远不能企及的(除了Ewald、PME那部分),因此完全不能拿分子动力学的编程作为类比。

手算这种提法也莫名其妙,诸如就10个基函数的微小体系,你也得徒手对角化10*10的矩阵,这有什么意思。而那些手算得动的诸如H2体系,由于体系太小,即便手算出来了,这也没什么普遍性,诸如>=d角动量基函数都没涉及,结果连笛卡尔-球谐型基函数之间的差异在手算这个过程中也体会不到,还有对耗时影响极大的积分屏蔽在这个过程中也接触不到。
想多学点东西,先把Introduction to Computational Chemistry (3ed,Frank Jensen,2017)和Modern quantum chemistry看了,还觉得不够之后再说。


PS:我从未只推荐levine那本
(, 下载次数 Times of downloads: 98)


作者
Author:
snljty    时间: 2020-8-10 09:45
如果你非要自己写练习,以前看过有人写的代码集和教程,有很多原理也写进去了。原始网址我记不清了,搜了一下找到了这个。供参考。http://www.zhjun-sci.com/theochem-h2model-ZH.php
作者
Author:
wxhwbh    时间: 2020-8-17 11:12
虽然题主想问的是学习原理,不过如果想练习编程的话,这有个很不错的量子化学编程网站:
https://github.com/CrawfordGroup/ProgrammingProjects
我最初学写代码时这个网站给了我很大的帮助




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3