| 5 | 1/1 | 返回列表 |
| 查看: 2744 | 回復(fù): 6 | ||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | ||
zuocuiping木蟲(chóng) (職業(yè)作家)
|
[求助]
USPEX使用錯(cuò)誤
|
|
|
請(qǐng)問(wèn)我使用uspex軟件,出現(xiàn)下面的錯(cuò)誤 {index exceeds array bounds. error in submitjob_local (line 27) jobnumber = b(1:end_marker(1)-1); error in submitjob (line 23) jobnumber = submitjob_local(); error in submitjobs_neb (line 26) pop_struc.population(do_now).jobid = submitjob(do_now); error in vcneb (line 14) submitjobs_neb(); error in neb_start (line 49) vcneb(); } 看了看說(shuō)的submitjob_local。m文件%step 3: to get the jobid from the screen message end_marker = findstr(b,'.'); jobnumber = b(1:end_marker(1)-1); 這也沒(méi)有什么錯(cuò)誤 看了看submitjob 文件, function jobnumber = submitjob(ind_no) global pop_struc global org_struc step = pop_struc.population(ind_no).step; code = org_struc.abinitiocode(step); dimension = org_struc.dimension; jobnumber = 0; if org_struc.abinitiocode(step) == 0 % no optimization at all! (used in order optimization) jobnumber = 0.02; elseif org_struc.platform == 0 %nonparallel jobnumber=100; [a,b]=unix(org_struc.commandexecutable{step}); if org_struc.numparallelcalcs > 1 disp([ 'individual ' num2str(ind_no) ' @ step ' num2str(step) ' is submitted']); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif org_struc.platform == 1 %from user local submission jobnumber = submitjob_local(); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif org_struc.platform == 2 %from user remote submission jobnumber = submitjob_remote(org_struc.remotefolder, pop_struc.population(ind_no).folder); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif org_struc.platform == 3 %cfn fp = fopen('myrun_cfn', 'w'); fprintf(fp, '#!/bin/sh\n'); fprintf(fp, '#pbs -l nodes=1:ppn=8,walltime=1:30:00\n'); fprintf(fp, '#pbs -n uspex\n'); fprintf(fp, '#pbs -j oe\n'); fprintf(fp, '#pbs -v \n'); fprintf(fp, 'cd ${pbs_o_workdir}\n'); fprintf(fp, '/home1/qzhu/source/mpi/bin/mpirun -np 8 /home1/qzhu/source/vasp.5.2/vasp > vasp.out\n'); fclose(fp); [a,b]=unix(['qsub myrun_cfn']) end_marker = findstr(b,'.'); jobnumber = b(1:end_marker(1)-1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif org_struc.platform==4 %qsh if code == 12 numproc = 1; minproc = 1; else numproc = org_struc.numprocessors(step); if numproc > 8 minproc = 8; numproc = 8; else minproc = numproc; end end totalnowpath = [org_struc.homepath '/calcfold' num2str(pop_struc.population(ind_no).folder)]; [a,b]=unix(['cat /dev/null > myrun_qsh']); [a,b]=unix(['echo "#!/bin/sh" >> myrun_qsh']); [a,b]=unix(['echo "#bsub -sp 60" >> myrun_qsh']); [a,b]=unix(['echo "#bsub -q intel" >> myrun_qsh']); [a,b]=unix(['echo "#bsub -a intelmpi" >> myrun_qsh']); [a,b]=unix(['echo "#bsub -o output" >> myrun_qsh']); [a,b]=unix(['echo "#bsub -r \"span[ptile=' num2str(numproc) ']\"" >> myrun_qsh']); [a,b]=unix(['echo "#bsub -j uspex-',num2str(ind_no),'s',num2str(pop_struc.population(ind_no).step),'" >> myrun_qsh']); [a,b]=unix(['echo "#bsub -w 06:00" >> myrun_qsh']); [a,b]=unix(['echo "#bsub -n ' num2str(minproc) ' " >> myrun_qsh']); if code == 1 [a,b]=unix(['echo "yhrun.lsf vasp-vdw" >> myrun_qsh']); elseif code == 3 [a,b]=unix(['echo "gulp < input > output" >> myrun_qsh']); elseif code == 4 [a,b]=unix(['echo "mpirun.lsf lammps < lammps.in " >> myrun_qsh']); elseif code == 9 [a,b]=unix(['echo "mpirun.lsf aims.x > fhi_output" >> myrun_qsh']); elseif code == 11 [a,b]=unix(['echo "runcastep.sh -np 8 cstp >> log" >> myrun_qsh']); elseif code == 12 if dimension ~= -4 [a,b]=unix(['echo "bash ./tinker.sh" >> myrun_qsh']); else [a,b]=unix(['echo "python \$uspexpath/functionfolder/uspex/m400/random_protein/random_protein.py input 1 pseudo memory > output" >> myrun_qsh']); end elseif code == 13 [a,b]=unix(['echo "mopac2012.exe input.mop" >> myrun_qsh']); elseif code == 14 [a,b]=unix(['echo "mpirun.lsf boltztrap boltztrap.def > boltztrap.output" >> myrun_qsh']); end [a,b]=unix(['bsub < myrun_qsh > job.info']); [a,b] =unix([' cat job.info | grep job']); disp(b); start_marker=findstr(b,'<'); end_marker = findstr(b,'>'); jobnumber = b(start_marker(1)+1:end_marker(1)-1); disp([ 'individual : ' num2str(ind_no) ' -- jobid :', num2str(jobnumber) ]); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif org_struc.platform==5 %qsh2 if code == 12 numproc = 1; minproc = 1; else numproc = org_struc.numprocessors(step); if numproc > 8 minproc = 8; numproc = 8; else minproc = numproc; end end totalnowpath = [org_struc.homepath '/calcfold' num2str(pop_struc.population(ind_no).folder)]; [nothing, nothing] = unix(['cat /dev/null > myrun_qsh']); [nothing, nothing] = unix(['echo "#!/bin/sh" >> myrun_qsh']); [nothing, nothing] = unix(['echo "#bsub -sp 60" >> myrun_qsh']); [nothing, nothing] = unix(['echo "#bsub -q amd" >> myrun_qsh']); [nothing, nothing] = unix(['echo "#bsub -a intelmpi" >> myrun_qsh']); [nothing, nothing] = unix(['echo "#bsub -o output" >> myrun_qsh']); [nothing, nothing] = unix(['echo "#bsub -r \"span[ptile=' num2str(numproc) ']\"" >> myrun_qsh']); [nothing, nothing] = unix(['echo "#bsub -j uspex-',num2str(ind_no),'s',num2str(pop_struc.population(ind_no).step),'" >> myrun_qsh']); [nothing, nothing] = unix(['echo "#bsub -w 06:00" >> myrun_qsh']); [nothing, nothing] = unix(['echo "#bsub -n ' num2str(minproc) ' " >> myrun_qsh']); if code == 1 [nothing, nothing] = unix(['echo "yhrun.lsf vasp-vdw" >> myrun_qsh']); elseif code == 3 [nothing, nothing] = unix(['echo "gulp < input > output" >> myrun_qsh']); elseif code == 4 [nothing, nothing] = unix(['echo "mpirun.lsf lammps < lammps.in > lammps.out " >> myrun_qsh']); elseif code == 9 [nothing, nothing] = unix(['echo "mpirun.lsf aims.x > fhi_output" >> myrun_qsh']); elseif code == 11 [a,b]=unix(['echo "runcastep.sh -np 8 cstp >> log" >> myrun_qsh']); elseif code == 12 if dimension ~= -4 [a,b]=unix(['echo "bash ./tinker.sh" >> myrun_qsh']); else [a,b]=unix(['echo "python \$uspexpath/functionfolder/uspex/m400/random_protein/random_protein.py input 1 pseudo memory > output" >> myrun_qsh']); end elseif code == 13 [a,b]=unix(['echo "mopac2012.exe input.mop" >> myrun_qsh']); elseif code == 14 [a,b]=unix(['echo "mpirun.lsf boltztrap boltztrap.def > boltztrap.output" >> myrun_qsh']); end [nothing, nothing] = unix(['bsub < myrun_qsh > job.info']); [a,b] =unix([' cat job.info | grep job']); disp(b); start_marker=findstr(b,'<'); end_marker = findstr(b,'>'); jobnumber = b(start_marker(1)+1:end_marker(1)-1); disp([ 'individual : ' num2str(ind_no) ' -- jobid :', num2str(jobnumber) ]); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif org_struc.platform ==6 %xservde [nothing, nothing] = unix('cat /dev/null > job'); [nothing, nothing] = unix('echo "#\$ -s /bin/bash" > job'); [nothing, nothing] = unix('echo "#\$ -n r30" >> job'); [nothing, nothing] = unix('echo "#\$ -cwd" >> job'); [nothing, nothing] = unix('echo "#\$ -l arch=darwin-x86" >> job'); [nothing, nothing] = unix(['echo "#\$ -pe openmpi ' num2str(numprocessors) '" >> job']); [nothing, nothing] = unix('echo ". ~/.bashrc" >> job'); [nothing, nothing] = unix('echo "hostname" >> job'); [nothing, nothing] = unix(['echo "' org_struc.commandexecutable{step} '" >> job']); % qsub script | awk '{print $3}' [a,v] = unix('qsub job'); start_marker = 1; % format: your job 248264 ("looki" has been submittedend_marker = findstr(v,')'); jobnumber = v(10:end_marker(1)-2) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif org_struc.platform ==7 %mipt-cluster totalnowpath = [org_struc.homepath '/calcfold' num2str(pop_struc.population(ind_no).folder)]; [nothing, nothing] = unix(['cat /dev/null > myrun_mipt']); [nothing, nothing] = unix(['echo "#!/bin/sh" >> myrun_mipt']); [nothing, nothing] = unix(['echo "#sbatch -o out" >> myrun_mipt']); [nothing, nothing] = unix(['echo "#sbatch -p work " >> myrun_mipt']); [nothing, nothing] = unix(['echo "#sbatch -j uspex-' num2str(pop_struc.generation),'i',num2str(ind_no),'s',num2str(pop_struc.population(ind_no).step),'" >> myrun_mipt']); [nothing, nothing] = unix(['echo "#sbatch -t 06:00:00" >> myrun_mipt']); [nothing, nothing] = unix(['echo "#sbatch -n 1" >> myrun_mipt']); [nothing, nothing] = unix(['echo cd ' totalnowpath ' >> myrun_mipt']); [nothing, nothing] = unix(['echo mpdboot >>myrun_mipt']); [nothing, nothing] = unix(['echo "mpirun -np 16 vasp-vdw> log" >> myrun_mipt']); [nothing, nothing] = unix(['echo mpdallexit >>myrun_mipt']); ind_no [a,b] = unix(['sbatch myrun_mipt '] ); start_marker=findstr(b,'job '); jobnumber = b(start_marker(1)+4:end-1); disp([ 'individual : ' num2str(ind_no) ' -- jobid :', num2str(jobnumber) ]); elseif org_struc.platform ==8 %npu totalnowpath = [org_struc.homepath '/calcfold' num2str(pop_struc.population(ind_no).folder)]; cd (totalnowpath) %step 1: to prepare the job script which is required by your supercomputer fp = fopen('jobrun', 'w'); fprintf(fp, '#!/bin/sh \n'); fprintf(fp, '#pbs -n uspex \n'); fprintf(fp, '#pbs -l nodes=1:ppn=8 \n'); fprintf(fp, '#pbs -l walltime=6:00:00 \n'); fprintf(fp, '#pbs -q batch \n'); fprintf(fp, '#pbs -v \n'); fprintf(fp, '#pbs -s /bin/bash \n'); fprintf(fp, 'source /export/opensource/vasp.5.2/vaspenvset.sh \n'); fprintf(fp, 'exec=~/bin/vasp53 \n'); fprintf(fp, 'mpi_home=/export/compiler/intel/impi/4.1.0.024 \n'); fprintf(fp, 'np=`wc -l < $pbs_nodefile` \n'); fprintf(fp, ['cd ' totalnowpath ' \n']); fprintf(fp, '$mpi_home/bin/mpirun -machinefile $pbs_nodefile -np $np $exec > out \n'); fclose(fp); [a,b]=unix(['qsub jobrun']); end_marker = findstr(b,'.'); jobnumber = b(1:end_marker(1)-1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif org_struc.platform == 9 % cfn workshop 2014 fp = fopen('myrun_cfn', 'w'); fprintf(fp, '#!/bin/sh\n'); fprintf(fp, '#pbs -l nodes=1:ppn=8,walltime=1:30:00 -q cfn_workshop\n'); fprintf(fp, ['#pbs -n uspex' num2str(ind_no), 's' ,num2str(pop_struc.population(ind_no).step) '\n']); fprintf(fp, '#pbs -j oe\n'); fprintf(fp, '#pbs -v \n'); fprintf(fp, 'ulimit -s unlimited\n'); fprintf(fp, 'source /opt/intel/2013/bin/compilervars.sh intel64\n'); fprintf(fp, 'cd ${pbs_o_workdir}\n'); fprintf(fp, '/software/mpi/openmpi/1.8.1-intel/bin/mpirun -np 8 /software/workshop14/bin/vaspp > vasp.out\n'); fclose(fp); [a,b]=unix(['qsub myrun_cfn']) end_marker = findstr(b,'.'); jobnumber = b(1:end_marker(1)-1); elseif org_struc.platform == 10 % unn supercomputer (supz) totalnowpath = [org_struc.homepath '/calcfold' num2str(pop_struc.population(ind_no).folder)]; jobname = [num2str(pop_struc.generation),'i',num2str(ind_no),'s',num2str(pop_struc.population(ind_no).step)]; unix(['cat /dev/null > myrun_unn']); unix(['echo "#!/bin/sh" >> myrun_unn']); unix(['echo "#sbatch -o out" >> myrun_unn']); unix(['echo "#sbatch -p all " >> myrun_unn']); unix(['echo "#sbatch -j ' jobname '-uspex" >> myrun_unn']); unix(['echo "#sbatch -t 06:00:00" >> myrun_unn']); unix(['echo "#sbatch -n 1" >> myrun_unn']); unix(['echo "#sbatch -n 16" >> myrun_unn']); unix(['echo "" >> myrun_unn']); unix(['echo cd ' totalnowpath ' >> myrun_unn']); unix(['echo "srun vasp > log" >> myrun_unn']); [a,b] = unix(['sbatch myrun_unn '] ); start_marker=findstr(b,'job '); jobnumber = b(start_marker(1)+4:end-1); disp([ 'individual : ' num2str(ind_no) ' -- jobid :', num2str(jobnumber) ]); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end if isempty(jobnumber) jobnumber = 0; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if org_struc.platform > 0 cd([org_struc.homepath,'/calcfoldtemp']); id=['.job-gen',num2str(pop_struc.generation),'ind',num2str(ind_no),'step',num2str(pop_struc.population(ind_no).step),'fold',num2str(pop_struc.population(ind_no).folder)]; [a,b]=unix(['touch ' num2str(jobnumber), id]); id=['generation ' num2str(pop_struc.generation), ' step ' num2str(num2str(pop_struc.population(ind_no).step)) ' of structure ' num2str(ind_no),' at calcfold' num2str(pop_struc.population(ind_no).folder) ' : jobid ' num2str(jobnumber) ]; [a,b]=unix(['echo -n "' id,' submitted " >> jobs.history ' ]); [a,b]=unix(['echo -e `date +"%b%d-%t"` >> jobs.history ' ]); end 太多了,沒(méi)有看懂 submitjobs_neb 這個(gè)文件我計(jì)算中根本沒(méi)有看到這個(gè)文件 不知道怎么處理,謝謝做過(guò)的人交流一下! |
金蟲(chóng) (正式寫(xiě)手)
木蟲(chóng) (職業(yè)作家)
木蟲(chóng) (職業(yè)作家)
新蟲(chóng) (初入文壇)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 085701環(huán)境工程317分求調(diào)劑 +5 | 6汆尼9 2026-03-07 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 286求調(diào)劑 +10 | Faune 2026-03-06 | 11/550 |
|
|
[考研]
|
likeihood 2026-03-06 | 9/450 |
|
|
[考研] 一志愿南京大學(xué)資源與環(huán)境專業(yè)283分求調(diào)劑 +8 | 追云?? 2026-03-04 | 8/400 |
|
|
[考研] 一志愿蘇大材料工程專碩293求調(diào)劑 +3 | 鋼鐵大炮 2026-03-04 | 3/150 |
|
|
[考研] 求調(diào)劑 +3 | 泡了個(gè)椒 2026-03-04 | 4/200 |
|
|
[考研] 274環(huán)境工程求調(diào)劑 +6 | 扶柳盈江 2026-03-05 | 6/300 |
|
|
[考研] 一志愿鄭州大學(xué),學(xué)碩,物理化學(xué), 333求調(diào)劑 +5 | 李魔女斗篷 2026-03-04 | 5/250 |
|
|
[考研] 武理材料工程302調(diào)劑 +3 | Doleres 2026-03-03 | 6/300 |
|
|
[考研] 293求調(diào)劑 +4 | 是樂(lè)渝哇 2026-03-03 | 4/200 |
|
|
[考研] 291求調(diào)劑 +4 | Afy123456 2026-03-03 | 7/350 |
|
|
[考研] 298求調(diào)劑一志愿中海洋 +3 | lour. 2026-03-03 | 3/150 |
|
|
[考研] 085602化學(xué)工程350,調(diào)劑,有沒(méi)有211的 +5 | 利好利好. 2026-03-02 | 9/450 |
|
|
[考研] 化工270求調(diào)劑 +10 | 什么名字qwq 2026-03-02 | 10/500 |
|
|
[考研] 271求調(diào)劑 +4 | Ricardo1113 2026-03-02 | 4/200 |
|
|
[考研] 338求調(diào)劑 +5 | 18162027187 2026-03-02 | 6/300 |
|
|
[考研] 272求調(diào)劑 +9 | 材紫有化 2026-02-28 | 9/450 |
|
|
[考研] 0856求調(diào)劑285 +11 | 呂仔龍 2026-02-28 | 11/550 |
|
|
[考研] 0856化工專碩求調(diào)劑 +15 | 董boxing 2026-03-01 | 15/750 |
|
|
[考博] 誠(chéng)招農(nóng)業(yè)博士 +3 | 心欣向榮 2026-02-28 | 3/150 |
|