STFC
MPI für Kohlenforschung

University College London

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.





This manual was generated using htp, an HTML pre-processor Powered by htp