FAQ
Answers to some frequently asked questions about ChemShell.
General
What is the relationship between ChemShell and QUASI?
ChemShell as a software package existed before the QUASI project was
proposed. As part of the QUASI project a number of software developments
are occuring, and these will be incorporated into ChemShell. The resulting
software distributions are labeled QUASI-1, QUASI-2 etc. Some of the
software developments from QUASI will appear inside other software packages
or may be released separately.
Can I get away without reading the manual?
Not really. Since ChemShell is a script driven system some
knowledge of the way it works is needed to get started.
As a first step we recommend you work through the online tutorial.
Is there a paper manual?
No, this HTML documentation is the only version currently maintained.
Can I get a copy of ChemShell?
Yes - see http://www.chemshell.org
for information about how to obtain ChemShell.
Functionality
Why can't I provide arguments like theory=, zmatrix=
etc to newopt?
newopt is designed to optimise any function, not just molecular structure.
The function to be optimised is provided using the function= argument, and
most options assocated with the computational methods used are should be
associated with the function chosen (e.g. zopt) not with newopt itself.
The newopt options are those that control the optimisation algorithm
itself.
My z-matrix is valid in a GAMESS-UK input but doesn't work in ChemShell.
There are some small differences:
- Keywords such as zmatrix, coordinates, angstrom etc should be given
in full, not truncated.
- The GAMESS-UK zmatrix accepts a final integer at the end of the record,
denoting a specification based on a distance and 2 angles, rather than
a distance, angle and torsion. ChemShell doesn't accept this.
I get a lot of warnings about maximum number of connections exceeded.
By default the connectivity algorithms use covalent radii and will generate a lot of connections
for some solid-state systems (e.g. metal oxides). See the section on
connect to see how to change this.
ChemShell has read in an atom symbol incorrectly from my PDB file.
Parsing of atom names from a PDB file is controlled by the Tcl procedure charmm_atom_map in
the file interface_charmm/pdb.tcl. In some cases wild cards are used, e.g.
N* {return N}
means that all symbols beginning with N will be identified as nitrogen
(so that types such as NE, N3F, N10, etc. are all recognised as N).
If however you intended NE to represent neon in your PDB file, you should add another line
before the N* line as follows:
NE {return Ne}
Execution problems
Some commands (gulp.init, import_file ...) seem to be missing.
When ChemShell builds (specifically the step where 'make config'
is issued in the src/chemsh directory) decisions are made on
whether to include modules that depend on other software. If these
other packages are not installed in the expected places, the modules
will not be built.
Why do I get MPI library errors when I run a parallel build of ChemShell using "mpirun chemsh"?
The chemsh script is a wrapper around the ChemShell binary and it
contains the mpirun (or equivalent) command needed to execute the binary in parallel,
so you should run chemsh as normal, not under mpirun.
If the platform requires you to call mpirun yourself, you should call the
binary directly ("mpirun chemsh.x"). See the parallel execution
guide for more details.
When running the parallel code I get messages like
"0: Child process terminated prematurely, status=0".
What's happened?
This is caused by building with the GA tools with signal trapping
enabled for SIGCHLD (death of a child). You need to delete the
TrapSigChld() calls from signaltrap.c and shmem.c in g/armci/src
and recompile.
Programming
I hate all these banners - how can I get rid of them?
First consider if you must - since ChemShell is composed of many
modules sometimes it can be harder to interpret the output if you
don't know which module is comes from.
Sometimes however the verbosity is extreme (e.g. when the code is inside
a loop) - then use push_banner_flag and pop_banner_flag to suppress the
banners locally.
|