请教gaussian脚本网页自动提交 脚本计算后显示c状态

小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
脚本提交Gamess 作业
我在mac os x 10.8.4上运行gamess, VERNO=May12013R1。
如果在命令行输入gms 文件名,没有任何问题。现在我想把它写到脚本文件中,如下:
#!/bin/csh
set base=`pwd`
set suffix=_1
set ibase=`echo $1 | sed 's/\.*$//'`
set kbase=`echo $ibase | sed 's/\_/ /' | sed 's/\-/ /' | sed 's/\+/ ,/'`
if ( -w $ibase.out && $?suffix ) then
&&if ( -w $ibase.out$suffix ) then
& & cat $ibase.out && $ibase.out$suffix
& & rm -f $ibase.out
& & mv $ibase.out $ibase.out$suffix
set title=j$kbase
set input=$1
set cpuct=1
if ( $#argv == 2 ) then
set cpuct = `echo $argv`
cat & pbs.$$ &&EOF
### I want 1 node(s) with $cpuct cpu(s) each
#PBS -l nodes=1:ppn=$cpuct
#PBS -N $title
#PBS -S /bin/csh
#PBS -q default
set np=\`cat \$PBS_NODEFILE | wc -l\`
cat \$PBS_NODEFILE
/Users/qinglu/Documents/gamess/gms $input&&
qsub pbs.$$
## clean-up
可以正常提交,但是无法正确生成/scratch/$PBS_JOBID文件夹。得到以下错误信息:
df: /scratch/3265: No such file or directory
GAMESS temporary binary files will be written to /scratch/3265.
GAMESS supplementary output files will be written to ./
Copying input file exam01.inp to your run's scratch directory...
cp exam01.inp /scratch/3265
请问哪里出问题了?
脚本就在一楼啊。
严重赞同啊!
仔细看 gamess 的 rungms 脚本,就知道那个就是给他们自己组里写的,那些似乎都是他们自己组里的机器……
其实你也不必删,只要设一下最基本的几次变量就好了……
诚然!打开一看发现那么多的if,本以为是来自作者的贴心的小棉袄,谁知道竟然都是黑心棉。
话说我的并行设置还是有点问题,虽说用gamessq可以解决并行问题,但是如果用pbs提交,还是会发现这样的错误:
ddikick error: inconsistent hostlist arguments. hostname:cpus=X was detected with X & 1
不知道该怎么解决。
不赞成你那个评论……
我没有用过 pbs,所以不清楚你的问题是什么。我也没有用过 gamessq,不知道它是个啥
我知道给 rungms 一个合适的参数,它可以并行的。只是 gamess 的并行不适用于所有的计算……
研究生必备与500万研究生在线互动!
扫描下载送金币[转载]Gaussian计算出错和对应的解决方法
“G98的出错讯息都在用户手册中的‘Gaussian
98的链接’一节中就给出了,常见错误有:
1。输入有误,这没话说了。一般都是L1,L101出错
2。基组有误。特别是刚开始用自定义基组的,或者不知道基组适合范围的,这是L301出错
3。无法收敛、优化和频率计算出错,这就很多了,比如L502,L716,L9999。这就只好具体问题具体分析了。
也就是说,当计算非正常退出时,首先查看文件结束处的说明,比如类似的句子:
Error termination via Lnk1e in /para/soft/g03/l502.exe at Mon Mar
29 16:31:18 2004.
这说明是L502错误,可以在g98
help中的Links,具体看看L502是干吗的,对错误有个初步了解,再查找相应的关键字
我在用OPT的一个参数STEPSIZE的时候,从来没有成功过,不知道是为什么?
# UHF/6-31 OPT(Stepsize=30)
---------------------------
QPERR --- A SYNTAX ERROR WAS DETECTED IN THE INPUT LINE.
# UHF/6-31 OPT(STEPSIZE=30) & &
Last state="OPT2"
TCursr= 9023 LCursr= &15
Error termination via Lnk1e in D:G98Wl1.exe.
Job cpu time: &0 days &0 hours
&0 minutes &0.0 seconds.
File lengths (MBytes): &RWF= &
&6 Int= & &0
D2E= & &0 Chk= &
STEPSIZE=30 是g98的一个bug。可以用
iop(1/8=30)来实现。
出错信息:
输入: B3LYP/gen( SDD for U and 6-311+G(3df) for O )
&opt 输出:
The electronic state of the initial guess is 3-SGG.
of initial guess= 2.0000
Requested convergence on RMS density matrix=1.00D-04 within 200
Requested convergence on MAX density matrix=1.00D-02.
Requested convergence on & &
& energy=1.00D-02.
No special actions if energy rises.
Defaulting to unpruned grid for atomic number
Spurious integrated density or basis function:
NE= & 48 NElCor= &
&0 El error=2.25D-04 rel=4.68D-06
Tolerance=1.00D-03
Shell & &25 &
& absolute error=1.91D-02 &
&Tolerance=1.20D-02
Shell & &12 &
& & signed error=9.34D-05
&Tolerance=1.00D-01
Inaccurate quadrature in CalDSu.
Error termination via Lnk1e in /para/soft/g03/l502.exe at Mon Mar
29 16:31:18 2004.
Job cpu time: &0 days &0 hours
&1 minutes &6.2 seconds.
File lengths (MBytes): &RWF= &
& 24 Int= & &
&0 D2E= & &
&0 Chk= & &
&1 Scr= & &
猜想是增加积分网格。
Problem detected with inexpensive integrals.
Switching to full accuracy and repeating last cycle.
Cycle & 2 &Pass 1
Warning! &Spurious integrated density:
NE= &188 NElCor= &
&0 Integral= &-76.06821
Tolerance=1.00D-03
Consistency failure #2 in CalDSu.
Error termination via Lnk1e in /home/gaussian/g98/l502.exe.
Job cpu time: &1 days &3 hours 21
minutes 30.2 seconds.
File lengths (MBytes): &RWF= &118
Int= & &0 D2E= &
&0 Chk= & 17 Scr=
& &1 解决:(from ccl)
As far as I know it's a dft-related error. Gaussian checks the
resulting from the integration of the density to the number of
electrons,
and in case of a large difference prints this eror message. Try a
grid with the "integral" keyword.
L9999错误,实际上是在规定的步数内没有完成优化,即还没有找到极小值点。(或者对于过渡态优化,还没有找到过渡态)
这有几种可能性:
1。看一下能量的收敛的情况,可能正在单调减小,眼看有收敛的趋势,这样的情况下,只要加大循环的步数(opt(maxcycle=200)),可能就可以解决问题了。
2。加大循环步数还不能解决的(循环步数有人说超过200再不收敛,再加也不会有用了,这虽然不一定绝对正确,但200步应该也差不多了),有两种可能。一是查看能量,发现能量在振荡了,且变化已经很小了,这时可能重新算一下,或者构型稍微变一下,继续优化,就可以得到收敛的结果(当然也有麻烦的,看运气和经验了);二是构型变化太大,和你预计的差别过大,这很可能是你的初始构型太差了,优化不知道到哪里去了,这时最好检查一下初始构型,再从头优化。
一个建议是,对于大体系,难收敛体系,先用小基组,低精度算法优化一下,以得到较高的初始构型,再用高精度的计算接着算。如果前面的方法保留了chk文件,重新计算时需要使用
geom=allcheck 读入构型(就不必麻烦地写构型了),
guess=read(读入初始波函数,可以加快第一步SCF收敛)。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。从Gaussian 09的Hartree-Fock计算的fchk文件转换到Columbus的mocoef文件的脚本
从Gaussian 09的Hartree-Fock计算的fchk文件转换到Columbus的mocoef文件的脚本
[摘要:那个剧本用于将Gaussian 09的Hartree-Fock盘算的.fchk文件转换到Columbus硬件应用的mocoef文件。 须要解释的是,测试事情借没有美满,没有包管此剧本的精确性。 注重:两个硬件所应用的基组和]
这个脚本用于将Gaussian 09的Hartree-Fock计算的.fchk文件转换到Columbus软件使用的mocoef文件。
需要说明的是,测试工作还不完善,不保证此脚本的正确性。
注意:两个软件所使用的基组以及对称性等等必须完全一致!
#! /usr/bin/perl
# code by luozhen
# ATTENTION: MAKE SURE that the SAME BASIS SET has been used in the two softwares.
# results saved in the file &mocoef& # you MUST have the access to write in the work directory. open (Columbus, &&mocoef&) or die &Can not create file &mocoef&!&;
# read input data # use command as &./hfg09tocol.pl inputfile& in bash shell. while (&&) {
push @lines, $_; }
# check necessary info while ($id & @lines) {
if ($lines[$id] =~ m/Number of electrons.*([0-9][0-9]+)/) {
$count_electrons = $1;
} elsif ($lines[$id] =~ m/basis functions.*([0-9][0-9]+)/) {
$count_basis_func = $1;
} elsif ($lines[$id] =~ m/independent functions.*([0-9][0-9]+)/) {
$count_indp_func = $1;
} elsif ($lines[$id] =~ m/Alpha Orbital Energies/) {
$id_start_energy = $id + 1;
} elsif ($lines[$id] =~ m/Alpha MO coefficients/) {
$id_start_mocoef = $id + 1;
$id_end_energy = $id - 1;
} elsif ($lines[$id] =~ m/Total SCF Density/) {
$id_end_mocoef = $id - 1;
# read orbital energies $lines_count_orbeng = $id_end_energy - $id_start_energy + 1; @data_orbeng = splice @lines, $id_start_energy, $lines_count_
# read MO coefficients $lines_count_mocoef = $id_end_mocoef - $id_start_mocoef + 1; $id_start_mocoef -= $lines_count_ @data_mocoef = splice @lines, $id_start_mocoef, $lines_count_
# necessary lines in the file &mocoef& print Columbus & 2mocoefnheadern& . &t& x 5 . & 2nHermit Integral Program : Gaussian 09 nmo coefficients generated by Gaussian 09n& . &t& x 5 . & 1n& . &t& x 5 . &$count_basis_func& . &t& x 5 . &$count_indp_funcn An&;
# MO coefficients, print print Columbus &mocoefn(1p4e16.8)n&; {
foreach (@data_mocoef) {
my @temp =
push @numbers, @
my $count = 0;
my $counts = @
while ($count & $counts) {
printf Columbus &%16s&, $numbers[$count];
if (($count + 1) % 4 == 0) {# 4 numbers per line
print Columbus &n&;
$count ++;
} elsif (($count + 1) % $count_basis_func == 0) {
print Columbus &n&;
splice @numbers, 0, $count_basis_
$counts = @
$count = 0;
$count ++;
# orbocc, calculate and print # there's no data about orbitals occupation in Gaussian's *.fchk file. # so I have to do some calculations myself, # and I can not ensure that the result of the following block is perfectly correct. print Columbus &orboccn(1p4e16.8)n&; {
my $count = 0;
my $count_double_occ = $count_electrons / 2;
if ($count_electrons % 2 == 0) {
while ($count & $count_basis_func) {
if ($count & $count_double_occ) {
push @numbers, &2.&;
push @numbers, &0.&;
$count ++;
while ($count & $count_basis_func) {
if ($count & $count_double_occ) {
push @numbers, &2.&;
} elsif ($count & $count_double_occ) {
push @numbers, &1.&;
push @numbers, &0.&;
$count ++;
my $count = 0;
my $counts = @
while ($count & $counts) {
printf Columbus &%16s&, $numbers[$count];
if (($count + 1) % 4 == 0) {# 4 numbers per line
print Columbus &n&;
$count ++;
print Columbus &n&; }
# energy, print print Columbus &energyn(1p4e16.8)n&; {
foreach (@data_orbeng) {
my @temp =
push @numbers, @
my $count = 0;
my $counts = @
while ($count & $counts) {
printf Columbus &%16s&, $numbers[$count];
if (($count + 1) % 4 == 0) {# 4 numbers per line
print Columbus &n&;
$count ++;
print Columbus &n&; }
感谢关注 Ithao123Perl频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊查看: 763|回复: 2
loadrunner录制c语言脚本,计算时间精确到毫秒,用time.h总是报错:__time64_t错误
该用户从未签到
loadrunner录制c语言脚本:
要求得到当前时间距离1970年一月一日,00:00:00时间的准确时间(精确到毫秒)
用到这几个头文件:
#include &_mingw.h&
#include &types.h&
#include &stddef.h&
#include &time.h&
#include &timeb.h&
包含这两个结构体:
struct timeb *struct1;(struct1-&millitm)
运行脚本总是报错: found `__time64_t' expecting `;'
& && && && && && && && && && & found `clock' expecting `;'
& && && && && && && && && && & 其他一堆错。。。
该用户从未签到
求助求助~~
该用户从未签到
已经解决了,直接用LR里的时间变量,设置变量的格式,0.000即可精确到毫秒。兜了一个大圈,用c语言的头文件,各种报错。原来有更简单的方法。
站长推荐 /3
小伙伴们踊跃闯关,赢取测试积点,换取豪礼,还等什么,赶快行动吧~
赏金公告:悬赏任务已,小伙伴们赶紧行动起来,赚取,去积点商城获取奖励吧!
从事多年互联网测试,涉及功能测试、性能测试、自动化测试。主攻性能测试、服务端测试。擅长LoadRunner脚本编写、性能测试场景构造、性能调优。
Powered by小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
PBS下同一用户同时使用不同版本的Gaussian的方便做法
针对集群上有多种不同版本的Gaussian软件,同一用户想同时使用多种版本做计算的做法,前段时间一直没有解决。当时的做法是让用户在自己的环境变量文件中只设置一种版本,如果想用另外一种版本,那么需要修改一下环境变量文件,然后重新开启shell。这种做法无疑比较繁琐,给用户带来了不便。另外的一个办法就是将不同版本的Gaussian环境变量写到不同的文件中去,想用哪个版本,需要重新开启新shell后,然后执行对应版本的环境文件。这个方法相对第一种方案较方便。
上面的环境设置,咱们不妨称为【针对用户】的。
自从使用PBS作为任务管理之后,感觉可以将Gaussian的环境设置变为【针对任务】的,而不是【针对用户】的。这样就可以用户不用对Gaussian设置环境变量,而是将环境变量的设置放到脚本中,之前也见过有人这么做过。举例如下:
Gaussian98的任务脚本:
############################
#PBS -N Gaussian
#PBS -l nodes=1:ppn=4
#PBS -l walltime=200:00:00
#PBS -q GAUSSIAN
#PBS -j oe
# Envrionment setting for Gaussian98
export g98root=/usr/local/software
PATH=$g98root/g98:$PATH
export PATH
source $g98root/g98/bsd/g98.profile
# End of envrionment setting for Gaussian98
mkdir -p /tmp/$PBS_JOBID
cp -r $PBS_O_WORKDIR/* /tmp/$PBS_JOBID
cd /tmp/$PBS_JOBID
g98 mdbh-CN_SH.gjf
cp -r /tmp/$PBS_JOBID/*&&$PBS_O_WORKDIR
rm -rf /tmp/$PBS_JOBID
############################
Gaussian03的任务脚本:
############################
#PBS -N Gaussian
#PBS -l nodes=1:ppn=4
#PBS -l walltime=200:00:00
#PBS -q GAUSSIAN
#PBS -j oe
#Environment setting for Gaussian03
export g03root=/usr/local/software
PATH=$g03root/g03:$PATH
export PATH
source $g03root/g03/bsd/g03.profile
# End of environment setting for Gaussian03
mkdir -p /tmp/$PBS_JOBID
cp -r $PBS_O_WORKDIR/* /tmp/$PBS_JOBID
cd /tmp/$PBS_JOBID
g03 mdbh-CN_SH.gjf
cp -r /tmp/$PBS_JOBID/*&&$PBS_O_WORKDIR
rm -rf /tmp/$PBS_JOBID
############################
Gaussian09的任务脚本:
############################
#PBS -N Gaussian
#PBS -l nodes=1:ppn=4
#PBS -l walltime=200:00:00
#PBS -q GAUSSIAN
#PBS -j oe
# Envrionment setting for Gaussian09
export g09root=/usr/local/software
PATH=$g09root/g09:$PATH
export PATH
source $g09root/g09/bsd/g09.profile
# End of envrionment setting for Gaussian09
mkdir -p /tmp/$PBS_JOBID
cp -r $PBS_O_WORKDIR/* /tmp/$PBS_JOBID
cd /tmp/$PBS_JOBID
g09 mdbh-CN_SH.gjf
cp -r /tmp/$PBS_JOBID/*&&$PBS_O_WORKDIR
rm -rf /tmp/$PBS_JOBID
############################
也就是说脚本中包含了对应版本的Gaussian的环境设置,这个环境设置只对该任务有效。所以用户登录之后,可以在一个shell里面可以同时采用不通版本的Gaussian提交任务。任务之间互不干扰。
上述也许有经验的管理员熟知的方案,但是对于新手管理原来说应该会有帮助。
如果你的这个formchk或者unfchk也是在脚本中用的话,没问题的。如果你想在管理节点不通过脚本直接运行的话,写全命令的路径用就可以了。
试了一下,不错。
不过我按照上面写的脚本在我们学校的集群服务器上调试了下,发现03的总是莫名出错,没任何提示,而g09没问题。
有可能你的03的路径是不是和g09的不一样呢?对应着修改一下。我们这的都没有问题的。还有一个问题,出的错误是什么呢?
系统没有产生.e的错误文件,产生的.o的文件内容是空白的。
不过出错的log文件中,有这句
One-electron integrals computed using PRISM.
查下,可能是版本的问题
研究生必备与500万研究生在线互动!
扫描下载送金币}

我要回帖

更多关于 php 显示脚本状态 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信