Документ взят из кэша поисковой машины. Адрес оригинального документа : http://classic.chem.msu.su/gran/gamess/job-manual-en.doc
Дата изменения: Fri Oct 19 16:53:56 2007
Дата индексирования: Mon Oct 1 20:00:59 2012
Кодировка: Windows-1251

MACROLANGUAGE FOR PC-GAMESS
PC-GAMESS being one of the most successful programs for quantum chemical
calculations contains a number of shortcomings. In particular, it does not
allow to create calculation sequences by own means. Therefore, with the
purpose of elimination of the given shortcoming JOB program was built.
Given package is a set of special commands and their handler - JOB
program. The command aimed for description of often performed operations
with files of PC-GAMESS program (dat, out, pun). Opportunity of template
creation is provided for often performed 'standard' chain of commands. JOB
command handler allows performing various calculation sequences in
autonomous mode.


1. Getting started

Copy @job.exe in directory with GAMESS program and edit @job.cfg for
your configuration by any text editor. One will run JOB with the following
command:

X:>job.exe my1.job my2.job my3.job



2. Language description

The language consists of commands and their parameters. The commands are
selected so that with their help it was possible to describe practically
all operations with data files. Commands allow running calculation,
performing other programs, data change between files and modification of
files. All commands should start with # character; otherwise string is
accepted as a comment. Each command with parameters should be on the one
string. It should be noted that PC-GAMESS does not accept strings of length
more than 80 characters.






2.1 Complete list of commands

|Running commands |
|#start |running PC GAMESS calculation |
|#run |running any program with parameters|
|##NAME |running predefined chain of |
| |commands written in NAME file |
|Operations with files |
|#create_f |create file |
|#copy_f |copy file |
|#del_f |delete file |
|Operations with calculation results |
|#copy_geo |extraction of optimize geometry |
|#copy_hess |extraction of hessian ($HESS . ) |
|#copy_vec |extraction of orbitals ($VEC .) |
|#get_out |extraction of the calculation |
| |results |
|Operations with atoms and $DATA group |
|#del_a |delete atom |
|#add_a |add atom |
|#modify_a |change coordinates of atom |
|#comment |insert comment |
|#symmetry |insert symmetry group |
|Operations with groups |
|#copy_g |copy group |
|#del_g |delete group |
|#ins_g |insert group |
|#modify_g |modify group |
|Operations with keywords |
|#write_s |add keyword(s) |
|#del_s |delete keyword(s) |
|Manage program |
|#key |processing of group retry (for |
|take_group |#copy_g) |
|#key HaltOn |processing of execution errors |


Optional parameters of command are specified in square brackets [ ].

2.2. LAUNCH COMMANDS


2.2.1. Running Gamess calculation

|#start |file1.dat [file2] |
|#start test.dat test or #start test.dat |
|Command runs calculation task in file1. Calculation|
|results will be saved in file2. Out file must be |
|given without extension. This ability defined by |
|gamess.bat. specific (*) You may not specified |
|outfile, in this case his name will be as file1.xxx|
|(where ИИИ is extension specified in job.cfg) |
|* It is related to features of gamess.bat. We |
|think, that double extension as file2.gms.pun is |
|difficult for response, by this reason gamess.bat |
|use out file w/o extension. So PUNCH file get as |
|simple file2.pun. |



2.2.2. Running external program

|#run |file.exe param1 param2 ...|
|#run pkzip.exe -exx |Command runs specified |
|test1.out |program with parameters. |


2.2.3. Running template

|##TemplateName |file1 file2 file3 ... |
|##mp2-n21 start.dat end.out |
|Command performs predefined chain of commands. |
|Template files have names and store in directory |
|specified in job.cfg. All required parameters |
|should be specified for correct work of the |
|template. Sometimes template has comments on |
|necessary parameters ( |


2.2.3.1. Template writing:

- External parameters in template body define as %1, %2, ...
- Standard extension defined in template as .^in, .^out and .^pun for
input, output and punch-files respectively. Later, this extension
modified by @job.cfg when template execution.
- You may use addition file in temlate. His name will be 00, 01, 02 . . The
real name will be (%1+xx).ext, e.g., h2o01.dat



2.3. WORK WITH FILES


2.3.1. Create file

|#create_f |file.inp |
|#create_f my.inp|Create file.inp |


2.3.2. Delete file

|#del_f |file.inp |
|#del_f my.inp |Delete file.inp |


2.3.3. Copy file

|#copy_f |file1.ext file2.ext |
|#copy_f 3-21.inp 6-31.inp |
|Command copies contents of file1 in file2. In the |
|absence of file2, file is created. |


2.4. WORK WITH GEOMETRY


2.4.1. Copy optimize geometry

|#copy_geo |file.out file.inp [cart \ |
| |unique] |
|#copy_geo h.gms h.dat |
|Command extracts optimize geonmetry from file.out |
|and inserts it in file.inp. In the absence of |
|file.inp there is error message. |
|By default equilibrium geometry extracted as |
|internal coordinates. They insert in $DATA instead |
|old geometry. Symmetry takes into account also. |
|Empty $DATA group is inserted in the absence of |
|optimize z-matrix |
|Parameter CART is used for extraction of Cartesian |
|coordinates. |
|At the indicating of UNIQUE parameter, Cartesian |
|coordinates of unique on symmetry atoms are |
|extracted. |
|Command is applicable only to output files of |
|calculation tasks OPTIMIZE and SADPOINT, since |
|search of string EQUILIBRIUM GEOMETRY LOCATED or |
|SADDLE POINT LOCATED is performed. Otherwise, |
|command reports on error. Example in |
|.\EXAMPLE\COPY_GEO\ |



2.4.3. Insert comment

|#comment |file.inp comment |
|Command inserts comment in $DATA group of file.inp.|
|Command is supposed to be applied in templates. |
|Example in .\EXAMPLE\COMMENT\ |


2.4.2. Insert symmetry group

|#symmetry |file.inp Blank_line Symmetry |
|Command inserts symmetry group in $ DATA group of |
|file.inp. Blank_line is the number of blank lines |
|after symmetry group. Symmetry - symmetry group - |
|specified by rule given in $DATA (input.doc). |
|Example in .\EXAMPLE\SYMMETRY\ |



2.5. WORK WITH ATOMS


2.5.1. Add atom

|#add_a |file.inp nAtom coords |
|#add_a h2o.dat 5 H 1 1.1 2 109.0 3 |
|120.0 |
|Command adds atom of specified number (nAtom) in |
|$DATA group of file.inp. JOB does not control |
|correctness of input coordinates!!! They will be |
|transfered in input file. |
|Example in .\EXAMPLE\ADD_A\ |


2.5.2. Change atom

|#modify_a |file.inp nAtom i1=1 blength=1.1 i2=2 |
| |alpha=109.0 i3=3 beta=120.0 |
|#modify_a h2o.dat 3 H blength=1.0 |
|Command changes nAtom data. It is possible to |
|indicate only those parameters which will be |
|changed. Initially #del_a, #add_a, and #modify_a |
|commands are intended for z-matrixes, however they |
|can be used for Cartesian coordinates. |
|Example in .\EXAMPLE\MODIFY_A\ |



2.5.3. Delete atom

|#del_a |file.inp nAtom |
|#del_a h2o.dat|Command deletes atom of specified |
|2 |number (nAtom) in $DATA group of |
| |file.inp. |
|Example in .\EXAMPLE\DEL_A\ |


2.6. WORK WITH GROUPS


2.6.1. Insert group

|#ins_g |file.inp [after (before) $group] |
| |$group ... $end |
|#ins_g my.inp after $STATPT $MP4 SDTQ=.T. $end |
|Command inserts specified group in file.inp. It is |
|possible to indicate position of new group in file |
|using modifiers after / before. In this case group |
|title should be after modifier and new group will |
|be inserted after / before specified group |
|respectively. In the absence of modifiers the group|
|is inserted before $DATA group. If $DATA not |
|present, then new group insert in the end of file. |
|If group with such title already exists in the |
|file, there will be a number of group with |
|identical titles. |
|Example in .\EXAMPLE\INS_G\ |



2.6.2. Delete group

|#del_g |file.inp $group |
|#del_g h2o.dat |Command deletes all repetition of|
|$basis |specified group in file.inp. |
|Example in .\EXAMPLE\DEL_G\ |



2.6.3. Copy group

|#copy_g |file1 file2 [after (before) $group]|
| |$group |
|#copy_g a.dat c.dat before $STATPT $ZMAT |
|Command copies specified group from file1 in file2.|
| |
|Command works together with #key take_group. |
|Examples in .\EXAMPLE\COPY_G\ and .\EXAMPLE\ |
|KEY_TAKE_GROUP\ |


2.6.4. Copy hessian

|#copy_hess |file.pun file.dat |
|#copy_hess h2o.pun h2o.dat |
|Add $ HESS group with minimal energy from file.pun |
|in file.dat. $HESS group is inserted in file.dat |
|after $DATA group. $HESS group already presented in|
|file.dat is saved ! |
|Example in .\EXAMPLE\COPY_HESS\ |


2.6.5. Copy orbitals

|#copy_vec |file1.pun [file1.gms] |
| |file2.dat |
|#copy_vec h2o.pun h2o.dat |
|Command copies $VEC group with minimal energy from |
|file1.pun in file2.dat and inserts $VEC group in |
|file2.dat after $DATA group. If file1.gms will be |
|given as additional parameter, than file2.dat will |
|be contain $GUESS NORB= XX, where ии is defined |
|from file1.gms. |
|$VEC group already presented in file.dat is saved !|
| |
|Example in .\EXAMPLE\COPY_VEC\ |


2.6.6. Modify group

|#modify_g |file.inp [before/after $group1] $group2|
| |... $end |
|#modify_g h2o.dat $scf dirscf=.t. $end |
|Command changes contents of group on specified |
|text. Command is equivalent to sequences of |
|commands: |
|#del_g file.inp $group2 |
|#ins_g file.inp [before/after $group1] $group2 ... |
|$end |
|N.B. this command deletes all repetition of |
|modified group and then inserts new. |
|Example in .\EXAMPLE\MODIFY_G\ |


2.7. WORK WITH KEYWORDS


2.7.1. Specify parameter

|#write_s |file.inp $group KeyWord=N |
| |KeyWord1=N1 ... |
|#write_s h2o.dat $contrl mplevl=2 |
|Insert KeyWord=N, KeyWord1=N1 in specified group. |
|It is not necessary to indicate $END group! |
|Example in .\EXAMPLE\WRITE_S\ |



2.7.2. Delete parameter

|#del_s |file.inp $group KeyWord KeyWord1 . |
|#del_s h2o.dat $basis ndfunc npfunc nffunc mplevl |
| |Delete KeyWord=N KeyWord1=N1 in |
| |specified group. |
|Example in .\EXAMPLE\DEL_S\ |


3. MANAGE PROGRAM

Keys/modifiers are intended for control of the program. For their
installation command #key is inserted with subsequent listing of keys and
their new values.
|#key take_group= |
|Take_Group |= -2 - take before last |
| |= -1 - take last, |
| |= 0 - take all (default) |
| |= 1 - take first |
| |= 2 - take second |
|n=0 as a default. Key value determines what group |
|should be used if a number of identical group in |
|input file. The key is necessary mainly for |
|processing of #copy_g command. In case of abnormal |
|key value (e.g., the only group and Take_Group=2) |
|#copy_g extracts first group. |
|Example in .\EXAMPLE\KEY_TAKE_GROUP\ |
|#key HaltOn= |
|HaltOn |= All program is terminated in case|
| |of error |
| |= None program ignores errors |
|Key HaltOn determines program behavior on execution|
|of .job-file in case of errors. For example, |
|equilibrium geometry in out file will be given as |
|Cartesian coordinates. Than #copy_geo w/o modifiers|
|CART made empty $DATA in xx.inp. So start PC-GAMESS|
|with xx.inp generate error. HaltOn=All is necessary|
|when a sequence of calculation is executed. If any |
|error account, than all next calculation not |
|necessary. HaltOn=None useful when job file don't |
|contain bonded calculations. |
|Example in .\EXAMPLE\KEY_HaltOn\ |


4. JOB.CFG contents

PathToGamess=c:\chemprog\gamess
BatFileName=gam.bat
DataFile=.inp
OutFile=.out
Punchfile=.pun
Template_Path=.\stencils