In some circumstances it would be desirable to perform particular
tasks in some automatic way without any user interactivity. In such
a case the executive operations are encapsulated inside a script.
Typical use of scripting is when several similar jobs have to be
performed, such as, for example, plotting all the valence molecular
orbitals (MO) of a give molecule. Typically in all MO plots one
would like to keep the same display parameters. It would really be
cumbersome and a pure waste of time to perform, for example, 15
alike jobs interactively. In such cases scripts would be much more
convenient as all operations would then be performed in automatic
way.
XCrySDen have
specially designed programming scripting interface for achieving
above mentioned goal.
XCrySDen scripts use the Tcl syntax.
Technically speaking
XCrySDen scripts are Tcl scripts.
The specially designed scripting functions use the
scripting:: namespace. However one can use any
XCrySDen Tcl function in
such scripts.
XCrySDen
scripts can be either loaded from command line as
xcrysden -s
scriptFile or
xcrysden --script scriptFile, or
alternatively from menu
File-->Open
Structure ...-->Open XCrySDen Scripting File .
In scripts that were manually written the
scripting::
functions most likely represent the majority of the commands. Here
you can found documentation about the
scripting:: interface,
together with hypertext
examples. The documentation was
automatically generated from the source code. The easiest way to
learn "how to write" such scripts is to start with examples. The
basic knowledge of Tcl-syntax is welcome here. The examples are
well documented, and since they are written in hypertext manner,
they have hypertext references to all used functions.
XCrySDen distribution
contains several scripting examples. See the
$XCRYSDEN_TOPDIR/examples/Scripting/ directory. They
can be also accessed using the
File-->XCrySDen Examples ...-->Scripting
Files menu. Here is a list and short description of
several scripting examples:
There exists another type of
XCrySDen scripts. This type of files
is automatically created by
XCrySDen when saving the
current
state and structure using the
File-->Save Current State and Structure
menu. The default file-extension of these files is
*.xcrysden. Such a script contains the structure and
the majority of the display parameters. When the script will be
loaded (i.e. as
xcrysden -s script) the structure will
be displayed in the same way as it was saved, i.e., having the same
orientation, zoom, colors, and other display parameters. These
scripts do not use the
scripting:: interface, and are
messy although somewhat documented. It is possible to use part of
these scripts together with the manually created scripts. A typical
use would be: display a structure and set proper display
parameters. Save with
File-->Save
Current State and Structure . Then use this saved
parameters (this means extracting the right part of the
*.xcrysden file) inside the manually created
scripting:: script.
Here is an example of
*.xcrysden script.