GAMESS

简介

GAMESS(General Atomic and Molecular Electronic Structure System)是一款由Ames研究中心的Mark Gordon开发的开源量子化学软件。GAMESS的功能十分强大,能完成多种类型的计算任务。它支持使用RHF、UHF、ROHF或GVB波函数计算半经验MNDO、AM1或PM3模型;可以进行QM/MM计算,可以处理溶剂效应,很大程度上它可以成为Gaussian的替代品。 更多信息请访问https://www.msg.chem.iastate.edu/gamess

软件下载

软件源代码需在Mark Gordon课题组主页上申请,同意协议、填写邮箱等信息后一两天内会收到下载链接、账户名和下载密码。(https://www.msg.chem.iastate.edu/gamess/download.html

自行编译

1. 申请计算节点并加载模块

以选用gfortran为编译器,MKL为数学库,MPI并行编译为例

srun -p 64c512g -n 4 --pty /bin/bash
module purge
module load intel-oneapi-compilers/2022.1.0 intel-oneapi-mkl/2022.1.0 intel-oneapi-mpi/2021.6.0

2. 检查.bashrc 和 .bash_profile

检查bash shell配置(参考https://docs.hpc.sjtu.edu.cn/faq/index.html#bashrc)

3. 解压并进入文件

tar -xvf gamess-current.tar.gz
cd ./gamess

4. 生成编译文件

方式一 在当前路径运行“./config”命令,并根据屏幕提示逐条输出选项 方式二 直接生成Makefile文件和install.info文件

生成Makefile文件(其中默认当前路径为./gamess)

touch Makefile
cat >> Makefile <<EOF
GMS_PATH = ${PWD}
GMS_VERSION = 00
include ${PWD}/Makefile.in
EOF

生成install.info文件(其中默认当前路径为./gamess,如需更改gamess编译路径,请修改GMS_BUILD_DIR值

touch install.info
cat >> install.info <<EOF
#!/bin/csh -f

#                 GAMESS Paths                     #
setenv GMS_PATH              ${PWD}
setenv GMS_BUILD_DIR         ${PWD}

#                  Machine Type                    #
setenv GMS_TARGET            linux64
setenv GMS_HPC_SYSTEM_TARGET generic

#              FORTRAN Compiler Setup              #
setenv GMS_FORTRAN           ifort
setenv GMS_IFORT_VERNO       22

#         Mathematical Library Setup               #
setenv GMS_MATHLIB           mkl
setenv GMS_MATHLIB_PATH      ${MKLROOT}/lib/intel64
setenv GMS_MKL_VERNO         12
setenv GMS_LAPACK_LINK_LINE  ""
#         parallel message passing model setup
setenv GMS_DDI_COMM          sockets

#     Michigan State University Coupled Cluster    #
setenv GMS_MSUCC             false

#         LIBCCHEM CPU/GPU Code Interface          #
setenv GMS_LIBCCHEM          false

#      Intel Xeon Phi Build: none/knc/knl          #
setenv GMS_PHI               none

#         Shared Memory Type: sysv/posix           #
setenv GMS_SHMTYPE           sysv

#      GAMESS OpenMP support: true/false           #
setenv GMS_OPENMP            false

#      GAMESS LibXC library: true/false            #
setenv GMS_LIBXC             false

#      GAMESS MDI library: true/false              #
setenv GMS_MDI               false

#       VM2 library: true/false                    #
setenv  GMS_VM2              false

#       Tinker: true/false                         #
setenv  TINKER               false

#       VB2000: true/false                         #
setenv  VB2000               false

#       XMVB: true/false                           #
setenv  XMVB                 false

#       NEO: true/false                            #
setenv  NEO                  false

#       NBO: true/false                            #
setenv  NBO                  false

####################################################
# Added any additional environmental variables or  #
# module loads below if needed.                    #
####################################################
# Capture floating-point exceptions                #
setenv GMS_FPE_FLAGS        ''
EOF

5. 编译

编译成功后将在目录中生成gamess.00.x的可执行文件

make ddi
make modules
make -j gamess

6. 配置运行环境

Gamess程序需要依靠rungms文件来调用可执行文件gamess.00.x,在编译后需调整rungms中的参数 修改当前目录下的rungms文件,其中GMSPATH为rungms文件所在地址、SCR为临时文件所在目录

set SCR=~app/gamess/scr
set USERSCR=~/app/gamess/scr
set GMSPATH=~/app/gamess

7. 验证

使用软件自带的测试示例进行测试,在当前路径下运行runall文件,并执行检查命令checktst

./runall 00
./tests/standard/checktst

得到如下内容表明验证算例全部通过

Checking the results of your sample GAMESS calculations,
the output files (exam??.log) will be taken from .
Only 48 out of 49 examples terminated normally.
Please check carefully each of the following runs:
grep: ./exam49.log: No such file or directory
./exam49.log
which did not completely finish.
exam01: Eerr=0.0e+00 Gerr=0.0e+00.                                     Passed.
exam02: Eerr=0.0e+00 Gerr=0.0e+00 Serr=0.0e+00 Lerr=1.8e-03+6.6e-05.   Passed.
exam03: Eerr=0.0e+00 Gerr=0.0e+00 Derr=0.0e+00.                        Passed.
.
.
.
.
exam48: E0err=0.0e+00 E1err=0.0e+00 Gerr=0.0e+00.                      Passed.

最后更新: 2024 年 10 月 14 日