用第一性原理研究磷原子在石墨烯表面的吸附

石墨烯的结构 首先,我们需要在openmx中模拟出石墨烯的结构。详见之前的博文 openmx仿真金刚石和石墨烯 用作气体吸附的模型,我们不仅仅需要原胞,更需要更加灵活的晶胞设置。引用上文中的一幅插图 我们在本文中使用上面图片中石墨烯的原胞,表面上有32个原子,实际上经过我的核算有20个原子的原胞。 原本的原胞有如下 原子位于原点两侧。 把原胞扩展到32个的Graphene_8.dat, 它所对应的 ... 阅读更多

哈密顿量在OpenMX中的构建

一、哈密顿量的声明 哈密顿量是密度泛函理论在算法实现中的核心。哈密顿量的构建在大多数教材中并没有详细描述。哈密顿量的构建过程与我最初的想法不同,更类似图论的意思。 看上面对H矩阵的声明,上面的这些声明都在文件openmx_common.h当中。H矩阵是一个五维的矩阵,从它各个指标的名称上,我们可以大致推断出这些维度指的具体内容。 第一层SpinP_switch与自旋轨道耦合有关。在OpenMX 3 ... 阅读更多

openmx源码分析:openmx主文件

在openmx/source里的最重要的文件openmx.c。 下面简要罗列源码的思路: 1.定义CPU计算核数、MD计算迭代次数、统计时间用的一些临时变量。接下来进行MPI初始化,为并行计算做准备,openmx3.8版本只有并行版本。接着统计时间准备,便于监视计算耗时。最后检查输入变量。 2.确定openmx并行化使用的线程数,使用MPI_Bcast函数将来源于序列号为Host_ID的进程的消息 ... 阅读更多