Ex02_V3 服务器和程序语言

服务器相关

VASP的计算就跟开车一样,设计到很多的内容,比如大街上的路怎么铺的?桥怎么建的?发动机怎么工作的?方向盘怎么工作的,刹车片什么材料做的?车身颜色怎么喷的? 没有人会懂所有相关的知识。但是怎么打开车门,坐车里,启动发动机,踩油门,打方向盘,这是本教程所关心的,也就是类似驾校教练指导你学会如何开车,而不是关系如何去造车,去铺路。这里的车就是VASP。要开车,必须手头上有车,没车我瞎BB再多也是白搭。

1) 知道怎么连接自己组内或者租赁的服务器

后面大师兄会介绍一些挂载服务器的方法,但这些基本的连接服务器操作是基础。一般来说通过终端(terminal)来实现,Windows下有很多软件可以参考,比如:

  • Winscp + Putty
  • MobaXterm

当然还有其他的软件,大师兄平时很少用Windows,推荐的就这两个。尤其是MobaXterm。 对于Ubuntu和Mac,则可以直接打开Terminal进行连接。

2) 初步学习使用基本的linux命令:

  • 进入目录 : cd

  • 移动文件(夹): mv

  • 复制文件: cp
  • 复制文件夹用: cp -r ; 注意 cp 和 -r 之间有个或者N个空格
  • 创建文件夹:mkdir
  • 删除文件: rm ;
  • 删除文件夹: rm -r
  • 强制删除文件夹: rm -fr 或者 rm -rf (f 和 r 的顺序可以颠倒 )
  • 显示目录下文件: ls 等命令;
  • 这里大师兄就不再啰嗦了,后面教程里会介绍一些命令的使用,老司机们自动略过,新手自行百度:linux 命令,你会得到铺天盖地的信息。

3) 手上有可以正常运行的VASP程序

  • 组里面已经安装好vasp程序,或者使用超算中心的VASP程序,只要手上有可以正常运行的VASP即可。因为我们在本书里,不讨论

    • 去哪里下载VASP? 怎么安装VASP? 去哪里下载VASP的pseudo potentials?
    • 前面的问题可以在QQ群里面讨论,也可以付费求助别人解决。
    • 对于VASP的pseudo potentials,也就是POTCAR。
      • 你老板买了VASP的版权,就直接问他要。
      • 用的盗版VASP,找其他人要一份,但是发文章的时候会很麻烦。国内很多人都是找有版权的老师挂名,其实这是非常学术不道德的事情。一方面涉及到版权,一方面涉及到瞎几把挂名。
      • 免费的可以用QE,CP2K,GPAW等开源的软件,没必要非得在VASP上面死磕。
  • 知道怎么提交VASP任务?

    • 自己组里都有提交任务的脚本,如果没有的话只能自行动手解决咯,可以
      • 找组里的师兄师姐帮忙;
      • 第一个啃螃蟹的人,找老师解决,求助服务器商,求助超算管理员;

程序语言学习

建议大家学习两个语言: bash 和 python。主要是为了辅助计算,节省时间,并拓展自己的思维方式。现在机器学习,人工智能越来越热,学会使用Python或者其他语言,或许可以上升到以后能否生存的高度了。

  • bash语言:日常terminal里面常用的基本命令,比如cd,ls这些,以及结合基本的逻辑语法,可以让你写出一些简单的小脚本。极大提高自己的工作效率;极大的意思就是别人一天或者N天的活,你可能几秒就完事。
  • Python 语言:python是一款语法简单,很容易上手的程序,有着丰富的数据库支持,目前深受科研人员的喜爱。注意,这里我们不讨论类似:python是一门高级语言,运行的时候跟机器交互性差,需要时间比C++长这样的问题。因为这是专业程序员的事。不出意外,看这本书的大部分人,能够用python写个小脚本,方便地处理自己的任务和数据,就已经非常棒了,快和慢,对于我们来说,顶死了也就几秒的问题,完全可以接受。
  • 学习程序语言,一方面可以极大地提高自己的工作效率,另一方面也可以改变自己看待事物的思维方式。
  • 如果不喜欢Python,当然也可以学习其他的程序语言,C++,R,Java等。

总结

1)学习VASP前,先保证自己能顺利连接到服务器,然后运行VASP。这个大师兄没法帮忙,可以求助自己课题组中的师兄师姐,老板,或者群里咨询。

2)新手有大把的时间,建议系统性学习bash,python语言。Python可以换成其他你自己感兴趣的。