***************************************************************************
*									  *
*			Windows Based PC				  *
*		General Atomic and Molecelar Electronic 		  *
*			Structure System Sequencer			  *
*									  *
***************************************************************************

This set of open source programs/batch files provides for automated running
of single point energy calculations using an ab initio molecular orbital system
that takes text file input, such as PC GAMESS.  Examples include the automation
of calculations by moving one atom along a cartesian coordinate, changing
an atomic angle, exploring basis set independence, etc.

This set-up is being used by DSB Scientific to map fine mesh potential energy 
surface two dimensional slices.  Other applications include spacial dependence of
electric moments, etc.


The sequencer as written for MS Windows 2000 uses three files:

	1. autogame.bat
	2. gameadj.exe
	3. rungame.bat

To use the system, you must have a BASIC compiler (to compile the gameadj.exe file).

1.	autogame.bat

	This simple batch file calls rungame.bat and gameadj.exe in a loop, looping
	only if rungame.bat exists.  Thus the sequence is ended when rungame no
	longer exists.

	At present, this batch file is incomplete for stopping and restarting
	the sequence, as it tries to rerun the last file run.  I just have not
	updated it with a little more robust logic yet, as I do the adjustment
	manually when stopping a run and restarting.

2.	gameadj.exe

	This executable (not included in the .zip file as it must be custom compiled
	for each application) does several things that automate the stepping of
	coordinates for input to GAMESS.

	First, it reads the rungame.bat file, which contains information about the LAST
	run's 2-D coordinates. After some logic to control the adjustment of the 2-D
	coordinates, the appropriate coordinate is incremented (since the present version
	was written for cartesian coordinates with a uniform mesh, x and y are incremented
	by the same step...it would be possible to add code for different increments, which
	would be desirable if polar coordinates were being adjusted).

	After computing the new values for the coordinates, the new line of the input
	file is written, then the new rungame.bat is written, with the new coordinates.

	If the last coordinate pair is reached, the gameadj.exe DELETES rungame.bat, which
	as mentioned above, signals to autogame.bat to break out of the loop.

	Upon exit of autogame.bat, control returns to autogame.bat.


	gameadj.exe must be made by compiling the source code.  In the .zip file, the
	following files were included as a MS Visual BASIC project:

		gameadj.vbp	MS Visual Basic Project file
		gameadj.vbw	MS Visual Basic workspace file
		gameadj.frm	MS Visual Basic form file

	The form file, gameadj.frm, is the text source file.  If you are using a system
	other than MS Visual Basic, this file may need some of the form info deleted
	or changed.

	The source file is heavily commented so it can be used in a variety of settings.
	It is possible to compile different versions, simply be reassigning the .exe filename
	at compile time, but then Autogame.bat must be changed to match.

	While gameadj is presently set up to automate the control of x,y coordinate pairs,
	with a little work, it can be made to automate basis set (either number of gaussians,
	number of d-functions, number of p-functions, etc), charge, multiplicity, etc.
	Care must be taken while developing a totally new procedure, however, as you
	can send your system into a very large loop of GAMESS calculations.

	I strongly recomment that you 'turn-off' the looping line in autogame.bat,

		if exist rungame.bat goto keeprunning

	by rem-ming it out.  This will allow you to test the code in gameadj withouth sending
	your system into a very long loop (which, of course, could be broken out of with
	Ctrl-C in any case).  You could also remark out the lines that call rungame.bat (in
	autogame.bat) to turn off calling gamess for test purposes.

	Make sure you know your logic in gameadj is correct with a fair testing/debugging period
	before activating all the components.

	Also make sure you have sufficient disk space for the output files you generate.

3.	rungame.bat

	This is a very simple batch file that calls gamess and redirects an output file.  You
	write the initial rungame.bat with the initial output file, and from there, gameadj.exe
	will update rungame.bat to reflect each new output file.

	For example, you could use the format (if your system supports long file names)

				myfile_xxx_yyy.out

	where xxx is a representation of an x coordinate, and yyy is a representation of y 	coordinate.  The code in gameadj as supplied uses the following formulae:

				xxx=xcoordinate*10 + 100
				yyy=ycoordinate*10 + 100

	so that xxx and yyy representing a box with corners (-10,10), (10,10), (10,-10), 	(-10,-10) angstroms will be in the filename as 0-200.  For example,

		myfile_000,000		xxx= -10.0 A, yyy= -10.0 A
		myfile_100_050		xxx=   0.0 A, yyy=   5.0 A
				    etc.

	Of course, you are free to change this scheme in the source as you see fit.

	Finally, rungame.bat as distributed deletes the punch file punch.  If you wish to
	preserve this file, you may wish to change the line that deletes punch to one that
	renames it...but it cannot exist as punch or the next run will crash.

4.	In applying this system, I don't pay any attention to values that have the movable atom
	too close to other atoms.  If atoms are too close, GAMESS crashes, and I will simply
	treat those positions in the domain as having calculated values some non-meaningful
	value.  This way, I have avoided complicated logic in gameadj, and the time to for the
	system to "try" unrealistic values is very small compared to the actual computational
	time spent on the real values.

5.	Contact Information:

	Any questions regarding this GAMESS "preconditioner" can be forwarded to

	John S. Riley
	email:	dsbscience@cetlink.net
	Phone:	(803) 323-8294