首先,计算凝聚态物理的核心还是物理,计算只是一种手段,我们不是为了去计算而计算,计算是为了达到我们的目的。这一点需要注意。
但同时,对于学生来说,计算又是很重要的,因为没有计算,就没有结果。有了计算,即使结果不好,也可以试图编出故事,或者寻求帮助。
一般来说,计算主要分为两种,一种是基于DFT理论的真实体系的第一性原理计算,另外一种是模型计算,模型计算一般有强关联和其他类型。
对于第一性原理计算来说,由于计算具有一定普遍性,所以各种计算框架非常多,同时由于其涉及到很多很detail的东西,一般没有必要重复造这个轮子。因此一般来说,这一块本身并不需要花太多经历,除非你从事相关工作。主流的第一性原理框架有Vasp和QE,其中前者收费,后者开源。
一般来说,目前的DFT计算主要还是集群MPI+OpenMP多核的CPU计算,也有一些GPU计算,但还没普及开来。
目前来说,学生和一般开发人员主要工作是编写一些pipeline,能够自动化的完成计算,然后结合云计算,晶体数据库等手段,完成工作。
对于模型计算,由于相对简单,特点多,会自己写一些计算程序。
一般来说,在服务器上的计算,需要掌握Linux基础知识,服务器上软件包的常用安装方法,Python建议直接用Conda加虚拟环境,对于Fortran和C/C++程序,需要掌握make,cmake等工具。可以采用开源工具,开源包编译并调试,修改源码。