4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
新闻详情
量子化学程序Dalton的编译方法和运行方式简介 - 思想家公社的门口...
来自 : sobereva.com/463/ 发布时间:2021-03-24
一般情况需要一个.dal文件,内含计算任务的说明;还需要一个.mol文件,内含分子结构、基组定义。 一般运行的格式:dalton [选项] [.dal] [.mol]
例如,dalton DFT1 H2O代表用DFT1.dal里定义的设置和任务去算H2O.mol里的体系。 运行完毕后在当前目录下的出现的\"dal名_mol名.out\"是输出文件(dal和mol名相同时只包含一次名字)。同时还产生同名的.tar.gz文件,这个压缩包内含运行期间输出的各种零碎文件,其中molden.inp就是.molden输入文件,可以用笔者开发的Multiwfn程序(http://sobereva.com/multiwfn)直接载入此文件做各种波函数分析、观看结构和轨道(主功能0)。相关常识看《Multiwfn入门tips》(http://sobereva.com/167)、《使用Multiwfn观看分子轨道》(http://sobereva.com/269)。 运算期间不会在屏幕上显示运算过程细节信息。如果运算期间要监控运算过程,可以随时查看这个文件的内容:$DALTON_TMPDIR/DALTON_scratch_用户名/dal名_mol名_pid号/DALTON.OUT。也可以用tail -f [文件名]的做法来实时把此文件里最新写入的信息同步输出到屏幕上便于监控。 2.2 常用选项 直接输入dalton命令就可以查看能够接的选项,这里说几个常用的。 -N 36:代表用36个MPI进程进行并行运算,仅对于MPI并行版Dalton有意义。如果没用此选项,就会用DALTON_LAUNCHER环境变量里设的核数来并行计算
-omp 36:代表通过MKL以OpenMP方式并行时用36个线程并行运算,仅对于MKL并行版有意义。如果没用此选项,就会用OMP_NUM_THREADS环境变量指定的线程数
-mb 1200:设定当前计算用1200MB内存。默认用的最大内存量也可以用WRKMEM环境变量来设,单位与此相同。注意对于MPI版,这个设的是每个MPI进程的内存上限量,而非所有进程的总和
-noarch:不让当前任务产生.tar.gz文件
-nobackup:不备份以前的输出文件。默认情况下如果之前有同名的输出文件存在,会在后面加上数字作为后缀来备份
-ow:计算过程产生的输出文件\"dal名_mol名.out\"直接输出到当前目录。默认情况下在运算过程中输出文件被输出到前述DALTON_TMPDIR定义的目录里,算完之后才自动挪到当前目录
-o [文件名]:直接指定输出文件名字,而且运算过程中就直接产生 Dalton运行时用的命令\"dalton\"实际上是dalton目录下面的一个bash脚本,用来设定运行环境,并调用实际可执行文件dalton.x。这类似于GAMESS的rungms脚本。如果想把一些选项设为默认的,可以在dalton脚本中修改70行开始的位置(此位置是对于Dalton 2018.1的而言)的一些参数。比如想把nobackup、noarch、ow作为默认启用的选项,就把opt_nobackup、opt_noarch都设为1,把opto设为2。稍微读一下此脚本就知道为什么这么设了。 如果MPI并行版和MKL并行版在平时研究中都用得着,MKL并行版放在了/sob/dalton目录,MPI并行版放在了/sob/dalton_MPI目录,为了能方便地同时使用,建议在.bashrc里既不设DALTON_LAUNCHER也不设OMP_NUM_THREADS,但是加一句alias daltonmpi=\'/sob/dalton_MPI/dalton\'。此时就可以这样运行了:
36核跑MKL并行版:dalton -omp 36 love live
36核跑MPI并行版:daltonmpi -N 36 love live 2.3 输入文件简介与简单例子 首先注意几点:
Dalton对基组的大小写敏感,比如aug-cc-pVDZ不能写为aug-cc-pvdz。
Dalton主要用来计算闭壳层的基态,因此多数情况下并不需要给出自旋多重度,默认就是1。
Dalton默认对所有基组都用球谐函数。
Dalton默认是不冻核的。
.dal里可以用#或!进行注释。 下面是一个CCSD(T)单点计算的dal文件例子:
**DALTON INPUT //**是主选项
.RUN WAVE FUNCTIONS //.后面代表设定。RUN后面设的是要干什么、调用什么模块
**WAVE FUNCTIONS
.CC //耦合簇波函数
*CC INPUT //对CC计算进行进一步设定
.CC(T)
**END OF INPUT 下面是一个B3LYP下优化任务的dal文件例子。注意Dalton默认的B3LYP的定义与Gaussian不同,B3LYPg代表使用与Gaussian相同的定义:
**DALTON INPUT
.OPTIMIZE
**WAVE FUNCTIONS
.DFT
B3LYPg
**END OF INPUT 下面是一个甲酰胺的mol文件例子:
ATOMBASIS //代表每个原子分别设定基组。如果这里写BASIS,然后下面再加一行6-31G*,则说明所有原子都用这个基组,每类原子里的Basis=6-31G*就不要再写了
test molecule //标题行,内容任意,必须有
Generated by Multiwfn //同上
Atomtypes=4 Angstrom Nosymmetry charge=0 //关键词顺序随意,大小写敏感。可以只写前三个字符。当前设置说明体系里包含四类原子,坐标单位是埃,不用对称性,是电中性
Charge=1.0 Atoms=3 Basis=6-31G* //此类原子的实际核电荷数、原子数、基组
H1 -0.45438149 1.43099761 0.00000000 //原子名可随意定义,程序不检查
H2 -0.64184099 -1.52402451 0.00000000
H3 -1.92375124 -0.35013241 0.00000000
Charge=6.0 Atoms=1 Basis=6-31G*
C1 0.00000000 0.41905994 0.00000000
Charge=7.0 Atoms=1 Basis=6-31G*
N1 -0.94010085 -0.56081903 0.00000000
Charge=8.0 Atoms=1 Basis=6-31G*
O1 1.20008496 0.23181661 0.00000000 上面设的Atomtypes指的不是元素种类,而是原子类型。比如O3,是C2v点群,虽然只有一种元素,但是有两种非等价的氧,故Atomtypes=2。如果懒得考虑这个,直接用Nosymmetry,这样Atomtypes就直接对应元素数了。 基组库目录(dalton\\basis)下的基组都可以用basis或atombasis来使用,基组名就是基组文件名字。赝势都在basis/ecp_data里,可以通过ECP=xxx来使用。比如可以Basis=stuttgart_rlc_ecp ECP=stuttgart_rlc_ecp,因为无论是这个基组名还是这个赝势名都在basis和basis/ecp_data里有同名文件。 由于Dalton的.mol文件格式定义得很麻烦,得一类一类定义,因此不好从结构文件或其它量化程序的输入/输出文件里直接粘过去,因此最好的做法就是用Multiwfn产生Dalton的输入文件。启动Multiwfn后,载入任意一个含有结构信息的Multiwfn支持的格式,比如gjf、wfn、fch、molden、pdb、xyz、mol等,然后依次输入
100 //主功能100
2 //导出文件
19 //导出Dalton的输入文件
idol.dal //导出的.dal的文件名。不需要产生它的话这一步直接按回车
master.mol //导出的.mol文件名
此时当前下就有了idol.dal和master.mol。这个.dal文件对应B3LYP单点计算。.mol文件包含此体系结构,并且对应使用6-31G*基组、不利用对称性的情况。之后大家根据实际计算要求对这两个文件进行修改即可,比手动从头写它们方便多了。

本文链接: http://dalton.immuno-online.com/view-680533.html

发布于 : 2021-03-24 阅读(0)