说到自学能力,要感谢一下我的师兄。
研一刚刚进入实验室的时候,什么都不懂。在实验室待了一个月后,了解了实验室的内容,于是找导师说我想学点实验室的计算化学。之后导师安排了一个师兄教导我这个方向——计算化学。从这个时候开始锻炼自学能力。
下面是关于曾经研一上学期师兄和我交流的过程
第一次交流,下载Ubuntu并安装
第一次找师兄,问师兄我该学习什么?
师兄告诉我:“要学习计算化学,程序都在linux上跑,你先给你的电脑上安Linux系统。这个简单,你去下载一个系统,Ubuntu是用的最多的,你下载后安装到电脑上就行了,我就不教了!”
立刻产生了两个问题:
- linux大概知道,Ubuntu是啥?
- 怎么装系统,这个不知道呀?(大学还真没折腾过这玩意)
这个还是一个一个解决呀。
Linux不知道怎么下载,上网查。结果发现在学校的服务器上,竟然有Linux不同开发板不同版本的完善镜像。于是下载了师兄推荐的Ubuntu 16.04.7 LTS。
安装系统不会,那就找会的。找了我的大学同学,教会了我如何安装系统。当然也顺便教导我如何一些关于Linux的简单概念。
第二次交流,学习Linux基本用法
这个系统安装成功之后,看了看界面,不会使用呀。又去找师兄。
师兄说:“这里有本书,叫做[鸟哥的Linux 私房菜:基础学习篇第四版],你去学吧”。
回到座位上打开图书一看,好家伙。都是新概念,看不懂。怎么办?
读书读不懂,去找视频教程去了。找淘宝买了一套Linux基础使用教程。学完了之后,有了一些简单的概念。这才重新打开这本书,花费了一个星期学完并且操作完。
这大概明白了Linux是怎么回事,怎么进行简答的操作了都。
第三次交流,学习Python
Linux基本操作学完了之后,再去找师兄:“师兄,这本书看完了,例子也都操作了一遍,大概会了简单的操作。下面应该学啥?”
师兄从他的书桌上再次拿出了一本书——Python基础教程(具体的书名忘记了),说:“计算化学呀,需要产生原始数据。之前都是使用的C++或者Fortran,Python出来后,因为简单,大家都是用这个来产生原始数据。你去先学习这个”。
大学学过C语言,当时学到了指针。
打开这本基础教程的目录,发问:
- “Class”是什么东西?
- 库”是什么东西?
- 这还能够操作本地文件?
- ……
好难呀,再次超出了能力范围之外。不过相对于上一个问题,这个简答一点,因为脑中有这个的相关概念。接下来一周,除了上课,就是学习这个东西。
终于经过了一周时间,把这本书的所有代码都敲了一遍。重新复读一遍,大概入门了。
第四次交流,阅读Lammps说明书
拿着书去找师兄的时候,信心满满呀,问师兄:接下来应该学习什么了?
师兄看着我,给我打开了一个网站,说:“计算化学分为量子化学、分子动力学、粗粒化动力学和流体力学,咱们组目前专注于分子动力学和粗粒化动力学。现在常用的软件是Lammps。不过Lammps没有可视化界面,需要阅读说明书,撰写伪代码才能够让Lammps跑起来。我把网址发给你,你看看呀”。
等我回去一打开网站,好家伙,这怎么读呀?
- 全英文,
- 太长了,下载成PDF后有六千多页呢?
- 看不懂,说明书中有非常多的物理定理和公式,看不懂
(大家也可以去试试呀,这就是网址:https://docs.lammps.org/Manual.html)
硬着头皮读呗,有代码的就写一下,看看运行结果。不懂的就上网查。
物理定理看不懂,查百度百科。百度百科解释不清的,上Wikipedia。最后还明白不了的,那就过吧。两个星期没日没夜的学习,成功囫囵吞枣看完了这个说明书。
第五次交流,学习一个具体的例子
当我读完了之后,询问实行接下来可以干啥的时候。
师兄给我发了一个压缩包,并且告诉我:“这里是一个具体的例子,你去学习一下,明白整体的流程。当然,也下载一下看图软件VMD及其脚本知识。还有这里linux有一个上古神器——Vim,也去学习一下。”
回去之后,打开压缩包,这文件太多了吧。
首先认清内容,每个文件是啥,先看看,然后在去找师兄确认。
对待python代码,lammps伪代码,都先理解之后,重新撰写,如果错误,那就修改呗。
生成的数据,使用vmd查看(这个东西,也要学习)。并且和师兄的结果进行对比。不懂的地方上网查询,再不对问师兄。
最后,终于对了都。
第六次交流,学习C++
当我理解整个流程之后,问师兄,接下来应该干啥?
师兄还是拿出了一本书——C++(书名又忘了),说:“lammps是用C++写的,如果后面要修改参数的话,你需要知道怎么修改。所以先看看这本C++”
打开这本书的目录,前面还能够理解,后面完全看不懂呀。行吧,那就一个例子一个例子地操作吧。
这个东西太难理解了都,学了两个月,元旦了。期末考试结束后,研一上学期结束了。
结语
这就是我曾经研一上学期的生活,研一下学期碰到了疫情,大家都在家里面待着,都没有去学校。也就没有和师兄进行后面的交流。
六月份返回学校之后,关于计算化学的学习截止,因为后面导师安排我开始做实验了都。
不过这些东西都没有白学,至少知道了代码是怎么回事。当然最重要的就是自学能力锻炼出来了都。