计算化学公社

标题: optDFTw 的安装和使用问题 [打印本页]

作者
Author:
万卷书万里路    时间: 2017-2-15 22:30
标题: optDFTw 的安装和使用问题
各位老师好!
因为要算一些分子的激发态性质,我读了sob老师的博文(http://sobereva.com/346),下载了optDFTw,也设置了环境变量,照着博文里那个模板也写了template.gjf,然后双击optDFTw 运行,一下子产生了三个文件,N.gjf   ,   N+1.gjf  ,   N-1.gjf.   只有这三个gjf文件,我打开看了下,命令行都是# LC-wPBE/6-311+G(d,p) IOp(3/107=0325000000,3/108=0325000000)
,请问我是需要把这个命令行的方法、基组、IOP(···)分别带入到新的计算基态、激发态的输入文件中去得到需要的计算结果(比如激发态能量)吗?

请问这样理解对吗?第一次用,还没很明白使用这个程序的具体步骤,如果不对的话希望老师能指正,略微详细说明一下怎么使用这个工具。
谢谢啦!


作者
Author:
sobereva    时间: 2017-2-15 22:53
optDFTw会根据模板gjf和当前的w值自动生成.gjf文件,并调用高斯去计算之,然后从中提取结果并按照brent算法更新当前的w,然后进行下一轮计算又产生新的gjf。你需要设的只有模板gjf文件,不用也不要对自动产生的这些.gjf文件进行任何修改。
最终w优化好之后,你就根据博文里说的,在你实际做各种计算时,去写与w值对应的IOp就行了。

作者
Author:
万卷书万里路    时间: 2017-2-15 23:13
sobereva 发表于 2017-2-15 22:53
optDFTw会根据模板gjf和当前的w值自动生成.gjf文件,并调用高斯去计算之,然后从中提取结果并按照brent算法 ...

好的,谢谢Sob老师,我试试。
作者
Author:
万卷书万里路    时间: 2017-2-16 14:27
sobereva 发表于 2017-2-15 22:53
optDFTw会根据模板gjf和当前的w值自动生成.gjf文件,并调用高斯去计算之,然后从中提取结果并按照brent算法 ...

老师您好!
我试了好几个不一样的体系,有最简单的甲烷到要计算的80多个原子pi共轭的体系,发现不管哪个分子,产生的三个.gjf文件里的IOP(···)都是一样的,都是IOp(3/107=0325000000,3/108=0325000000),
之后又换了不同的方法,B3LYP、wB97XD、M062X、LC-wPBE,结果还是一样的,仍然是 IOp(3/107=0325000000,3/108=0325000000),
我看您的博文里写的例子里的这段话:
下面是实际运行的输出,可见每一轮对N、N+1、N-1体系分别算一次单点。经过14轮,最终优化的w是0.373547 Bohr^-1,之后在Gaussian中使用此范围分离泛函时就应当写IOp(3/107=0373500000,3/108=0373500000)了。·······

1. 运行完optDFTw之后类似这个的输出文件的是保存在哪里?没找到

2. 看这段话感觉初始的w值就是0.325000,对吗?
所以我运行完之后得到的.gjf文件里的IOp(3/107=0325000000,3/108=0325000000)一直都是这个,这是说明这个过程中w并没有优化吗?

3.之后我运行了scanDFTw,也是得到了三个.gjf文件,打开后发现命令行变了,并且不同的体系都是IOp(3/107=0050000000,3/108=0050000000),疑惑和上面一样,也是想知道从哪里看博文里写的这种输出文件:
“下面是输出例子,可见最优的w在w=0.35附近。

w:    0.050000   J:      0.20647538   J^2:      0.02246148
w:    0.100000   J:      0.15601700   J^2:      0.01319407
w:    0.150000   J:      0.11338736   J^2:      0.00721878
w:    0.200000   J:      0.07836289   J^2:      0.00359102
w:    0.250000   J:      0.04967293   J^2:      0.00151705
w:    0.300000   J:      0.02609101   J^2:      0.00045375
w:    0.350000   J:      0.00661196   J^2:      0.00004245
w:    0.400000   J:      0.00958336   J^2:      0.00004770
w:    0.450000   J:      0.02312111   J^2:      0.00031436
w:    0.500000   J:      0.03450162   J^2:      0.00073904
w:    0.550000   J:      0.04413207   J^2:      0.00125304
w:    0.600000   J:      0.05233264   J^2:      0.00181038
w:    0.650000   J:      0.05936051   J^2:      0.00238061
w:    0.700000   J:      0.06541519   J^2:      0.00294496
w:    0.750000   J:      0.07066110   J^2:      0.00349063
w:    0.800000   J:      0.07522949   J^2:      0.00400930
w:    0.850000   J:      0.07921135   J^2:      0.00449682
w:    0.900000   J:      0.08271471   J^2:      0.00495013
w:    0.950000   J:      0.08577732   J^2:      0.00536856  ”

感觉还是我这边安的和使用有问题,但是不知道问题在哪,希望老师指点~



作者
Author:
ggdh    时间: 2017-2-16 15:16
万卷书万里路 发表于 2017-2-16 14:27
老师您好!
我试了好几个不一样的体系,有最简单的甲烷到要计算的80多个原子pi共轭的体系,发现不管哪个 ...

当然是3个gjf文件了,因为一个对应中性分子,一个对应阴离子,一个对应阳离子。这3个gjf里面的iop必然是一样的。算完这三个gjf就叫算完一轮,然后会改变w,产生新的3个gjf文件
作者
Author:
万卷书万里路    时间: 2017-2-16 15:40
ggdh 发表于 2017-2-16 15:16
当然是3个gjf文件了,因为一个对应中性分子,一个对应阴离子,一个对应阳离子。这3个gjf里面的iop必然是 ...

谢谢!
我的意思不是3个的问题,不明白的是这个IOP(······)不管算什么体系都是这个数,不是应该不一样的体系w值不一样吗,不一样的泛函也会优化出不一样的w值吧?
作者
Author:
冰释之川    时间: 2017-2-16 17:35
万卷书万里路 发表于 2017-2-16 15:40
谢谢!
我的意思不是3个的问题,不明白的是这个IOP(······)不管算什么体系都是这个数,不是应该不 ...

你用optDFTw之后,整个一套走完如果正常结束,会在同目录下生成job.log,其内容如下(举例):

optDFTw: A program for tuning w parameter of long range corrected functional
Programmed by Tian Lu (sobereva@sina.com)
Version 1.0, release date: 2016-Sep-20
Please cite: Tian Lu, optDFTw program v1.0, webpage: http://sobereva.com/346

Lower limit: 0.050  Upper limit: 0.600  Init w: 0.325  Tol: 0.00010

The initial point:
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.325000   J:        0.0382564600   J^2:        0.0007347727

Iteration:     1
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.430041   J:        0.0552151700   J^2:        0.0015261609

Iteration:     2
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.219959   J:        0.0121477300   J^2:        0.0000772795

Iteration:     3
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.155041   J:        0.0112461500   J^2:        0.0000640485

Iteration:     4
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.184640   J:        0.0021430100   J^2:        0.0000023399

Iteration:     5
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.185927   J:        0.0021694000   J^2:        0.0000026497

Iteration:     6
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.183686   J:        0.0021229000   J^2:        0.0000022539

Iteration:     7
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.183492   J:        0.0021137100   J^2:        0.0000022401

Iteration:     8
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.172625   J:        0.0041797900   J^2:        0.0000104329

Iteration:     9
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.181346   J:        0.0020618700   J^2:        0.0000025429

Iteration:    10
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.183474   J:        0.0021137100   J^2:        0.0000022401

Iteration:    11
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.183456   J:        0.0021137100   J^2:        0.0000022401

Iteration:    12
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.182650   J:        0.0020973100   J^2:        0.0000022799

Iteration:    13
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.183148   J:        0.0021055600   J^2:        0.0000022496

Iteration:    14
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.183338   J:        0.0021146400   J^2:        0.0000022518

Iteration:    15
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.183411   J:        0.0021091800   J^2:        0.0000022356

Iteration:    16
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.183383   J:        0.0021091800   J^2:        0.0000022356

Iteration:    17
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
w:    0.183365   J:        0.0021091800   J^2:        0.0000022356

Iteration:    18
Converged!

The final w:    0.183365 Bohr^-1    J^2:        0.0000022356  【这一行就是我们优化后的w值】

作者
Author:
万卷书万里路    时间: 2017-2-16 17:43
冰释之川 发表于 2017-2-16 17:35
你用optDFTw之后,整个一套走完如果正常结束,会在同目录下生成job.log,其内容如下(举例):

optDFT ...

谢谢老师!
1. 请问,整个一套走完,是什么意思?
是我写了template.gjf——>运行optDFTw——>得到了三个.gjf文件   吗?

2. 我把这个optDFTw安装在电脑上了,但是我计算激发态那些要在服务器上算,这样这个optDFTw还能利用它给出w值写到IOP···那里吗?
作者
Author:
冰释之川    时间: 2017-2-16 17:57
本帖最后由 冰释之川 于 2017-2-16 18:05 编辑
万卷书万里路 发表于 2017-2-16 17:43
谢谢老师!
1. 请问,整个一套走完,是什么意思?
是我写了template.gjf——>运行optDFTw——>得到了三 ...

1.你所看到的得到了3个gjf文件只不过是在算某个w迭代过程所需的文件,也就是程序还在跑,等程序完全跑完了,你会看到 job.log ,而三个gjf文件都会自动删除的。

2.可以,你把linux版的optDFTw丢到高斯安装目录下,并且设置好权限,就能调用了 (, 下载次数 Times of downloads: 103)

作者
Author:
sobereva    时间: 2017-2-16 18:02
随着w优化的进行,屏幕上的w在不断改变,你打开每一步重新产生的.gjf文件的时候会看到里面的IOp内容也变了。0325000000那是对应默认的初值0.325。

没有什么“输出文件”,优化w过程的信息都显示在屏幕上了

默认初值是0.325,显然最后的w不是0.325。屏幕上w会不断地改变。显然最后自动产生的gjf里的IOp也不可能是0325000000


无论optDFTw还是scanDFTw,你说的IOp始终都是对应初值的
作者
Author:
万卷书万里路    时间: 2017-2-17 17:34
谢谢两位老师!
作者
Author:
万卷书万里路    时间: 2017-2-28 11:56
现在把程序安到了服务器上,运行了,还是有错,这是输出文件,还请老师帮忙分析下具体原因:
******************************************
%chk=tem.chk
%mem=1000MW
%nproc=20
Will use up to   20 processors via shared memory.
----------------------------------------------------------
# LC-wPBE/6-311+G** IOp(3/107=0325000000,3/108=0325000000)
----------------------------------------------------------
1/38=1/1;
2/12=2,17=6,18=5,40=1/2;
3/5=4,6=6,7=111,11=2,16=1,25=1,30=1,74=-41,107=325000000,108=325000000/1,2,3;
4//1;
5/5=2,38=5/2;
6/7=2,8=2,9=2,10=2,28=1/1;
99/5=1,9=1/99;
---
tem
---
Symbolic Z-matrix:
Charge =  0 Multiplicity = 1
C                     0.        0.       -0.52711
H                     0.        0.93886  -1.11414
H                     0.       -0.93886  -1.11414
O                     0.        0.        0.67387
End of file in ZSymb.
Error termination via Lnk1e in /udata/zhuyn/g09-new/g09/l101.exe at Tue Feb 28 11:08:15 2017.
Job cpu time:  0 days  0 hours  0 minutes  8.5 seconds.
File lengths (MBytes):  RWF=      5 Int=      0 D2E=      0 Chk=      1 Scr=      1

ssh上的信息:
./optDFTw
optDFTw: A program for tuning w parameter of long range corrected functional
Programmed by Tian Lu (sobereva@sina.com)
Version 1.0, release date: 2016-Sep-20
Please cite: Tian Lu, optDFTw program v1.0, webpage: http://sobereva.com/346

Lower limit: 0.050  Upper limit: 0.600  Init w: 0.325  Tol: 0.00010

The initial point:
Running: g09 < N.gjf > N.out
Running: g09 < N-1.gjf > N-1.out
Running: g09 < N+1.gjf > N+1.out
Error in finding Alpha virt. eigenvalues

At line 93 of file optDFTw.f90 (unit = 11, file = 'N.out')
Fortran runtime error: End of file
然后就没了。
谢谢!

作者
Author:
sobereva    时间: 2017-2-28 11:59
万卷书万里路 发表于 2017-2-28 11:56
现在把程序安到了服务器上,运行了,还是有错,这是输出文件,还请老师帮忙分析下具体原因:
*********** ...

模板文件末尾多空几行
作者
Author:
万卷书万里路    时间: 2017-2-28 13:16
sobereva 发表于 2017-2-28 11:59
模板文件末尾多空几行

好的,可以了呢!谢谢老师!
作者
Author:
LL5312    时间: 2017-3-3 10:35
冰释之川 发表于 2017-2-16 17:57
1.你所看到的得到了3个gjf文件只不过是在算某个w迭代过程所需的文件,也就是程序还在跑,等程序完全跑完 ...

您好 我想问一下 就是怎么计算得到job.log文件 我在window下计算只得到了N、N-1、N+1三个文件 没有继续算出结果 还有就是optDFTw放在高斯安装目录下后 如何使用 是需要什么命令
作者
Author:
冰释之川    时间: 2017-3-3 10:50
LL5312 发表于 2017-3-3 10:35
您好 我想问一下 就是怎么计算得到job.log文件 我在window下计算只得到了N、N-1、N+1三个文件 没有继续算 ...

(1) N、N-1、N+1三个文件是计算过程的临时文件,整套计算完以后只有job.log文件的汇总信息。

(2) 我是使用Linux环境算的,命令为“optDFTw 0.05 0.6 0.0001”,这后面几个数字参数设置的是w值的扫描范围和最终的计算精度。如果在Windows下计算,要设置好环境变量,调取命令应该还是"optDFTw"。
作者
Author:
LL5312    时间: 2017-3-3 11:23
冰释之川 发表于 2017-3-3 10:50
(1) N、N-1、N+1三个文件是计算过程的临时文件,整套计算完以后只有job.log文件的汇总信息。

(2) 我是 ...

谢谢 我也想在linux下使用 我出现了Permission denied 没有权限的错误提示 这个我应该怎么修改

作者
Author:
冰释之川    时间: 2017-3-3 11:27
LL5312 发表于 2017-3-3 11:23
谢谢 我也想在linux下使用 我出现了Permission denied 没有权限的错误提示 这个我应该怎么修改

先用ls -lh 查看 该文件所属的用户和组,然后用  chown -R user:group 修改成和同目录下高斯文件同样的用户和组信息,最后用chmod -R + {三位数字}(1:execute;2:write;4:read)来修改文件的读取权限。
作者
Author:
阳光总在风雨后    时间: 2017-11-4 09:21
万卷书万里路 发表于 2017-2-16 17:43
谢谢老师!
1. 请问,整个一套走完,是什么意思?
是我写了template.gjf——>运行optDFTw——>得到了三 ...

你好,我看到你说调试w时算的不同分子的w值都是一样的,我算的也是这种情况,就是算了好多不同分子得到的w值一样。这样是有问题的吗,请问你是怎样解决的
作者
Author:
万卷书万里路    时间: 2017-11-4 15:27
阳光总在风雨后 发表于 2017-11-4 09:21
你好,我看到你说调试w时算的不同分子的w值都是一样的,我算的也是这种情况,就是算了好多不同分子得到的 ...

对的,我刚开始安在windows下是那样的,但是一直没能成功,也没找到原因,我后来就安在linux下了,按照帖子里几个老师的指导,就可以正常运行了,所以win下出现的那个问题也没解决。但是出现那样子就说明还没程序还没跑完就结束了,应该是没安装好
作者
Author:
阳光总在风雨后    时间: 2017-11-4 16:19
万卷书万里路 发表于 2017-11-4 15:27
对的,我刚开始安在windows下是那样的,但是一直没能成功,也没找到原因,我后来就安在linux下了,按照帖 ...

服务器计算是在Linux下,把程序安在linux下,是不是把optDFTw程序拖进服务器,接下来的计算就是在linux下计算的了。不是太清楚Linux和windows区别在那
作者
Author:
万卷书万里路    时间: 2017-11-4 23:06
阳光总在风雨后 发表于 2017-11-4 16:19
服务器计算是在Linux下,把程序安在linux下,是不是把optDFTw程序拖进服务器,接下来的计算就是在linux下 ...

sob老师给的optDFTw有两个版本,你把linux版的放进去就行了,然后就是在linux下计算的了。我这边是管理员帮忙安的,程序一开始运行不了也是找他帮忙解决的。linux和Windows的区别你查一下就知道了。
作者
Author:
阳光总在风雨后    时间: 2017-11-6 10:28
万卷书万里路 发表于 2017-11-4 23:06
sob老师给的optDFTw有两个版本,你把linux版的放进去就行了,然后就是在linux下计算的了。我这边是管理员 ...

恩恩 好的!谢谢了!
作者
Author:
wanlichuan    时间: 2019-12-20 21:02
本帖最后由 wanlichuan 于 2019-12-21 19:40 编辑

我看16楼冰释之川老师用的命令是“optDFTw 0.05 0.6 0.0001”,为什么同样是linux系统,我用这个命令就提示“command not found”,非要运行“./optDFTw 0.05 0.6 0.0001”才可以正常使用optDFTw呢?我之前也用过”chmod 750 -R *"了。

PS:我用的是Ubuntu。

作者
Author:
sobereva    时间: 2019-12-22 00:40
wanlichuan 发表于 2019-12-20 21:02
我看16楼冰释之川老师用的命令是“optDFTw 0.05 0.6 0.0001”,为什么同样是linux系统,我用这个命令就提示 ...

google点linux资料补充最基本常识
你若不把optDFTw所在目录加入$PATH里,显然不能直接输入命令,否则系统哪知道这个文件在哪

作者
Author:
wanlichuan    时间: 2019-12-22 09:15
明白了,谢谢卢老师。
作者
Author:
哎呀妈呀    时间: 2020-7-23 17:09
您好,我刚刚下载了optDFTw,但是双击程序运行的时候闪了一下就没了,请问这个是什么原因导致的呢?
作者
Author:
万卷书万里路    时间: 2020-7-25 11:06
哎呀妈呀 发表于 2020-7-23 17:09
您好,我刚刚下载了optDFTw,但是双击程序运行的时候闪了一下就没了,请问这个是什么原因导致的呢?

可能没安好吧,具体问题我也不太清楚。可以看看报错是啥,你在空白处单击右键,打开powershell窗口,在这里运行(./optDFTw 回车就行)可以看到为啥闪退了,屏幕上会有提示的,然后看看能不能解决
作者
Author:
哎呀妈呀    时间: 2020-7-25 11:10
万卷书万里路 发表于 2020-7-25 11:06
可能没安好吧,具体问题我也不太清楚。可以看看报错是啥,你在空白处单击右键,打开powershell窗口,在这 ...

好的,我尝试一下,谢谢您




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3