A CONGEN run is controlled by a command file. The user specifies operations to be performed via these commands, and CONGEN executes them sequentially. There are commands for changing the file from which input is taken, see Stream Command.
A legal command file for CONGEN begins with a specification of the title of the run. See Syntactic Glossary, for the syntax of a title. Then, any number of commands may be specified.
Each command consists of a command line possibly followed by other data. The command line is scanned free field. This command line may be longer than one line in the file; to do this, one must place a hyphen, `-', at the end of line which is to be continued on the next line. Comments may be placed on a command line by preceding the comments by exclamation points. Note that comments may be placed after a hyphen — the comment is removed before the hyphen is checked for. All lower case characters are converted to upper case. This format is identical to that used by the VAX command language interpreter. In addition, blank lines are permitted to separate blocks of commands for increased readability.
Generally, when a free field command line is read in, it is
echoed onto Fortran unit 6. Each such echo will be prepended by a short
CONGEN>, which identifies the line of input as well as the
command processor which is interpreting it.
The command line is scanned in units of words and delimited strings. A
word is defined by a sequence of non-blank characters, A delimited
string consists of a keyword followed by a string of characters of
variable length followed by a delimiter string. The delimiter string is
either a single delimiter character, two such characters concatenated
together with no space in between, or the keyword, END. The
initial value for the delimiter is a `$'. It may be changed with the
DELIm command, see Delim Command.
The first word of every command line specifies the command. Generally, required operands of a command must follow in a precise order. On the other hand, options may generally be specified in any order. Further, any number is always preceded by a key word so that any numeric operands, can be placed in arbitrary order.
Abbreviations are permitted in various contexts. The first word may be abbreviated to four characters except for commands to the analysis facility. Numerous options and operands may also be abbreviated to four characters. However, key words which are used to mark numbers may never be abbreviated. See the description for individual commands to see what can and cannot be abbreviated.
In general, as each of the command is interpreted, it is deleted from the command line. When command processing is finished, a check is made to see that nothing is left over. The presence of extraneous junk indicates that something was mistyped.
Some of the options and numeric values are maintained from one invocation of a command to the next. This is done with the energy manipulation options, see Energy Manipulations. Other options have no memory and must be respecified each time they are changed from their default values. Thus the safest approach is to respecify all options whenever they are used.
Although the command line of every command is processed free
field, there are commands (especially ones implemented in the early days
of CHARMM) which are followed by data in a fixed format. In general (and
there are many exceptions), such commands expect integers as
floating point numbers as
F10.n. In the event that the documentation is
not clear or non-existent on such matters, the source code can be