set NCPU=1
set JOB=$var
set SCR=/home/zhanfei/tmp
set GMSPATH=/home/zhanfei/gamess
set USERSCR=/home/zhanfei/tmp
source /home/zhanfei/gamess/gms-files.csh
cp ./${JOB}.inp ${SCR}/${JOB}.F05
${GMSPATH}/ddikick.x ${GMSPATH}/gamess.00.x $JOB -ddi 1 ${NCPU} localhost.localdomain:cpus=$NCPU -scr $SCR > ${JOB}.log
rm $SCR/*.dat
rm $SCR/*.F*
rm $SCR/*.trj
rm $SCR/*.rst
end
简单建立basname的Octave脚本
clear;clc;
basis=[];
bsele={'Os','C','N','H'};
bstr={'Ossvp','Csvp','Nsvp','Hsvp'};
ecpMap=containers.Map(bsele,bstr);
folder=pwd;
fidxyz=fopen([folder,'/','Osgamess.inp']);
xyzcell={};
while ~(feof(fidxyz))
line=fgetl(fidxyz);
xyzcell{end+1}=line;
end
splitcell=regexp(xyzcell,'\s+','split');
for i=1:1:length(splitcell)
flag==0;
for j=1:1:length(bsele)
if splitcell{i}{1}==bsele{j}
flag=1;
end
end
if flag==0
error('no defined element');
end
if flag==1
basis=[basis,ecpMap(splitcell{i}{1}),','];
end
end%end for
建立自定义赝势一串字符串的脚本 不过只是Os-ecp 或者Os-ecp none这种字符串 第一个定义手动复制。。。
当然也推荐去看看firefly网页上的工具,虽然firefly自定义基组改方便了,但是赝势定义还是gamess样式的
clear;clc;
folder=pwd;
%用来整理中心原子坐标到中心位置
fgjf='Osgamess.inp';
% ecpf={'Os.txt','C.txt','N.txt'};
% ecpele={'Os','C','N'};
ecpf={'Os.txt'};
ecpele={'Os'};
ecpMap=containers.Map(ecpele,ecpf);
folder=pwd;
myfid=fopen([folder,'\',fgjf]);
linecell={};
while(~feof(myfid))
cline=fgetl(myfid);
cline=strtrim(cline);%去掉前后空格方便处理
linecell{end+1}=cline;
end
fclose(myfid);
splitcell=regexp(linecell,'\s+','split');
for i=1:1:length(linecell)
ecpflag=0;
for j=1:1:length(ecpele)
if splitcell{i}{1}==ecpele{j};
ecpflag=1;
end%end if
end
if ecpflag==1
fprintf('%s-ecp\n',splitcell{i}{1});
end
if ecpflag==0
fprintf('%s-ecp none\n',splitcell{i}{1});
end
end