2021-03-07

The General Utility Lattice Program(GULP)使用简单介绍  Part 1

一、简介

       GULP是Gale的工作小组在上世纪九十年代推出的计算软件,基于力场原理,它可以对0D-3D的材料进行各种类型的模拟。GULP中包含多种力场,包括离子材料的壳模型、有机系统的分子力学、金属的嵌入原子模型和碳氢化合物的反应REBO势等。

       最初的GULP代码是为了便于对能量表面和经验数据的原子间势进行拟合,现在已经拓展成为了一个通用代码,可以用于凝聚相问题的建模等。从3.4版本开始,程序迁移到Fortran 90(初代码由Fortran77编写),从4.0版本开始添加了ReaxxFF力场等几个重要添加,4.2版本中增加了基于Allen-Feldman方法的热导率计算等,然后5.0版本中主要的变化是二阶导数和分布式内存的并行,后续版本中也增加了新的内容。

       关于GULP的具体介绍可以通过科廷大学的‘Science and Engineering’板块查看(http://gulp.curtin.edu.au/gulp/),‘Home’是对GULP的基本介绍,‘Help’中给出了一些常见的问题、运行实例以及手册的pdf版本和online版本,目前手册的最新版本为5.2(软件最新版本为6.0)。

2021-03-07

       GULP手册的pdf版本内容更加系统,整体性较强,而online主要是对其中所使用到的关键词和选项的说明,在上手GULP时两者结合更好一些。

2021-03-07

另外在GULP的manual中第一章节中也可以看到GULP的基本介绍以及对各个版本中增加内容的说明。

二、下载、编译和运行

       (1)GULP的下载

在下载GULP前需要使用教育邮箱进行注册,注册过程中需要进行邮箱验证,注册完登录后才能进行下载。

2021-03-07

选择‘Download’后,输入已经注册号的教育邮箱地址,系统会给此地址发送下载邮件,在邮件中提供了下载链接,点击后会直接跳转至GULP的下载页面。在下载页面中可以根据需要选择版本,最新的版本为6.0。

2021-03-07

 

       (2)GULP的编译

1.直接编译。

       解压下载好的GULP包,进入到Src目录下,终端中输入‘./mkgulp’直接进行编译,编译完成后会生产可执行文件‘gulp’。

2.并行编译

       根据官网以及手册中(P168,chapter3.4.2)给出的说明,并行编译需要保证系统中已经安装了Scalapack、Blacs和pblas,并且要在Src文件夹下的mkgulp文件中指定三者库的位置。如果是Macs,建议使用Macports来安装Scalapack,然后这可以提供所需的其他库。(我所使用的为Ubuntu虚拟机,安装三个库以及修改mkgulp文件后,使用‘./mkgulp -m’进行并行编译,完成后生成可执行文件‘gulp’)

       其他的编译方式及说明也可以在在手册的3.4.2节查看到。

       (3)GULP的运行

        在进行计算时将生成的gulp和所要运行的文件(.gin)放在同一文件夹下,终端输入‘gulp < inputfile_name’即可运行,运行过程及结果显示在终端中;如果不想要将这些内容显示在终端,而是输出到某个文件中,运行时输入命令为‘gulp < inputfile_name > outputfile_name’就可以将其输出到指定名称的文件中。

        并行运行时,输入的命令为‘mpirun –np N gulp inputfile_name’N为运行时使用的核数,当然也可以为某次运行指定输出文件。

 

 

参考内容:

[1]. http://gulp.curtin.edu.au/gulp/

[2]. GULP - a computer program for the symmetry adapted simulation of solids, J.D. Gale, JCS Faraday Trans., 93, 629 (1997)

 

上一篇:带你从零学Node.js(一)


下一篇:gulp使用