RELEASE_2.16e ------------- * Fixed bug whereby scaling and thermostat adjusted temperature to old (release 2.15) values and was not updateed in terms of 3N-3 translational degrees of freedom. * Added two new output formats to "mdshak" and "mdavpos", Insight XTL and Biosym ARC. * Changed arguments of mdshak and mdavpos to use "-f out-type" instead of separate flags. Allowed types are shak, pdb, xyz, dcd, cssr, arc, xtl, bin. * Functionality changes in ransub. RELEASE_2.16d ------------- * Fixed bug in Ewald sum on parallel machines which could cause crash. * Fixed bug in force.c which crashed on constant-pressure run. * Fixed memory allocation so mdshak works on Cray T3E * Retrofitted molecular cutoff capability, selected by control parameter "molecular-cutoff". Updated some of the example files. RELEASE_2.16 ------------ * New version of real-space force calculation. More elegant and more efficient. * New 1-D integer addition scheme for encoding and handling relative neighbour lists. Site-neighbour list is 2-3 times as fast as before. * Implemented a scheme derived from that of H. Bekker to take the calculation of the virial out of the innermost loops in force.c. Should give a noticeable speedup. * Using the Bekker scheme, molecular sites are assigned to the link-cell according to their co-ordinates instead of the molecular centre of mass. This allows a reduced size of neighbour cell list (ie extended cutoff) for molecular systems, since sites can not be closer than the cell-cell distance. In lazy mode this will allow a reduced cutoff for the same accuracy, In strict mode, it is no longer necessary to add twice the molecular radius to the cutoff internally, so its very much quicker. This scheme unavoidably includes intramolecular interactions in the potential energy and forces. Therefore we pre-compute the intramolecular terms and subtract them. These terms cancel out in the calculation of centre-of-mass forces and torques and the Virial (the reciprocal-space part of the Ewald sum has always relied on this cancellation). * Fixed bug in "constant-pressure" (not stress) ensemble, -- effective mass W was 3 times too small. * Added Clevland/Wentzcovitch improved constant-stress and true Andersen constant-pressure dynamics. * Two new potential types. 1) "morse". Really the Busing-Ida-Gilbert plus Morse-potential as used in the japanese MD code Mdxorto. 2) "hiw" The 4/6/12 potential form as used in the "hydrated-ion-water" potential of J.M.Martinez et al J.Chem.Phys. 110,1669 1999 * Corrected number of degrees of freedom - was 3N, should be 3N-3 due to conservation of linear momentum. This will give a 1/N difference in the calculated temperatures - < 1% in almost every case. * Initial banner is more selective and does not print velocity scaling unless velocities really will be scaled in this run. Same applies to RDF computation. * Plotrdf script revised and improved. Command options rationalised. Can now write scripts for "xmgrace" as well as "gnuplot". * Manual updated. RELEASE 2.15e ------------- * 2.15d introduced a major bug in the dump-file headers simply because the longer cvs branch revision string plus extras overflowed the 16 char "vsn" header field. 2.15e fixes this. RELEASE 2.15d2 ------------- * Fixed problem in RDF output routine which generated either * NaN or divide-by-zero if set of site-id's not contiguous RELEASE 2.15d ------------- * Added support for Portland group C compiler on Linux x86 * Workaround for Portland group C compiler 3.1-3 bug. * Fixed RNG to be synchronous on multiprocessor -- needed for * scale-options=8 in parallel * Banner page now prints correct version number (2.15,b and c * printed 2.14) RELEASE 2.15c ------------- * Fixed bug in stress calculation for polyatomic molecules. Was using old set of co-ordinates. RELEASE 2.15b ------------- * Added warning if surface-dipole turned on for ionic systems. * Extended initial banner printout to give details of all setting. * Much improved plotrdf script * Bugfixes to Ransub * Bugfixes to xdr.c over save/restore of const_pressure != 1 and scale_options != 1 RELEASE 2.15 ------------ * text-mode save now converts potentials and control back to input units. By changing the *-unit parameters in the control file you could use this to do parameter conversion. * New constant-pressure (NPT(E) not N sigma T(E)) ensemble added. * Configure updated to autoconf 2.13. Better choice of libraries, compiler options etc. Cygwin compilation now fully supported. * Bug fixes to bdist.c, mdbond. * Common support routines for all utilities extracted to separate files. Both Msd And mdshak now support all 5 output formats. * New utility "mdvaf" added. Calculates (linear) velocity autocorrelation function. * Comments documenting new potential addition in kernel.c clarified. * RDF calculation made robust against rdf-interval, rdf-out rdf-limit or nbins changed during data collection. * New sanity checks on values of many control-file variables. WARNING: these only detect some of the most obvious bad values and most subtle error will still go unremarked. * Extensive changes to the manual including better documentation of build and configure procedure, clarifications of several confused points including adding a new potential parameter, handling of units in input files. Sections for mdbond, bdist, mdvaf added. * plotrdf script considerably enhanced. 1. Now handles more than one RDF dump in file correctly. Subsequent dumps are output sequentially, or are averaged if "-a" flag given. 2. New flag "-m " selects subset of columns to print, is any PERL regular expression (eg "Mg-O") RELEASE 2.14 ------------ * Fix for missing error messages when MPI parallel run aborts. * Fixed compile problem with auxil.c on non-unix systems. (Cygnus) * Several bug fixes in utilities, msd etc. * New CSSR output option in mdavpos.c and PDB for mdshak.c. * New programs mdbond: for calculating interparticle distances and angles within user specified cutoffs. Output is in an identical format to that of the "bond" utility provided with the Shell lattice dynamics code of Neil Allan and Gus Barrera of Bristol University. bdist: reads the output from mdbond and sorts it into a format suitable for plotting bond and angle distribution curves. ransub: for introducing randomly distributed solute particles/molecules into a crystalline lattice system. plotrdf: A perl script which extracts RDFs from the output file and writes a script of gnuplot commands to plot them. Alternatively it will output the data in columnar format. Release 2.13 ------------ * Various optimizations to ewald sum and force calculation * Tuning for Cray T3E and SGI Origin 2000 platforms. * Now uses GNU autoconf. Release 2.12f ------------- * Bugfixes and portability enhancements to utilities, msd, mdavpos, mdtraj. Release 2.12c ------------- * Bugfix to mdshak, which had a BAD memory leak. Should run much faster now and not run out of memory. * A writer for CHARMM/X-Plor DCD trajectory files added to mdshak. This allows easy import of trajectories into other visualization programs, notable the excellent VMD (see http://www.ks.uiuc.edu/Research/vmd/) Use "mdshak -v" or link the executable to and invoke as "mddcd" or "mdvmd" to use. * A few bugfixes to mdavpos and msd. * Minor corrections to the manual. Release 2.12 ------------ * New utilities msd and mdavpos. Many thanks to Dr Craig Fisher for doing the work and adding these worthwhile utilities. "msd" computes mean-square displacements from dump files, eg for calculation of diffusion constants. It can also output "joined-up" trajectories for molecules to eliminate the discontinuities caused by the periodic boundary conditions. "mdavpos" computes the average co-ordinates of a molecule throughout the run. * Minor bug fixes: - mdshak had an initialisation problem which meant it couldn't read certain restart files. - makefile updated to work with GNU make (Linux users should be happy!) Release 2.11 ------------ * The manual is finished! There is a new chapter on the organization and internals plus other minor rewrites and clarifications. All the LaTeX sources are supplied. You need a modern LaTeX2e installation to format and print it. A preformatted postscript version is also available but not included in the distribution file. * Tuning and optimization for various architectures. - Tuned ewald sum to avoid cache conflicts. Gains of 10-20% on T3D, Sun, DEC, 400% on IBM RS6000 for systems with powers-of-2 numbers of sites. - Tuned compiler options. Gain of 80% on SGI R8000 and Sun SPARC under Solaris 2. - Tuned kernel.c to improve pipelining on DEC Alpha. * Rewrote parts of link-cell short-ranged force in force.c - eliminated huge tables of PBC relocation vectors. got rid of NSH macro and arbitrary limit to cutoff and RDF limit. These are unlimited now. The code is more transparent and easier to understand too. It's also a little bit faster. * Fixed bug in restart file format in 2.10 which meant that thermostat parameters were not stored retrievably. 2.11 can read 2.10 XDR restart files, though you have to reset the thermostat mass parameters and turn thermostatting back on by hand in the control file. For non XDR files there's nothing that can be done. * Fixed initialisation problem which caused FP error on Cray T3D (non-ieee) * Corrected error in implementation of integration of thermostat equations of motion. This seems to make no practical diff at all. * Included workaround for bug in Cray T3D compiler version 4.0.5 which caused crash. * Added test for divergent trajectories when running in parallel. * New back-end to "mdshak" program writes "XYZ" format files that can be read by RasMol, XMol, etc. If mdshak is renamed to "mdxyz" this is invoked automatically. Release 2.10 ------------ * Added Nose-Hoover and Hoover (Gaussian) thermostats. (V. Murachov) * Fixed bug in calculation of long-range-correction to pressure. * Fixed bug whereby large rc used with strict-cutoff overran tables and caused crash. Simply tighten up test to abort gracefully. * Fixed bug in reciprocal-space sum where v. small k_cutoff caused crash. * Fixed bug in input parser whereby faulty control file with missing "=" would apparently succeed but in fact return junk. * Many updates an improvements to manual. * Manual now requires LaTeX2e to process the source. * IMPORTANT: Updated fundamental constants to more accurate values from CODATA 1986. This will produce changes of order 1e-5 in some results. If you want to continue using the old values compile with -DOLDCONSTS. * RDF calculation parallelised. Now uses pair distances from link-cell force calculation, and is therefore limited only by "rdf-limit". * Fixed problem whereby rescaling species separately led to net velocities of whole system. * Added SHMEM library interface for Cray T3D. Release 2.9 ----------- * Ewald sum parameter and cutoffs now automatically chosen from Fincham's formulae if no value specified in control file. * Various minor bugs fixed. NOTE 2.8c 24/11/94: The init code for the TCGMSG version of par_begin got the arguments wrong. Now fixed. Also fixed problem with dump sequence continuity. NOTE 2.8b 14/9/94: The definition of bspstart in the bsp lib CHANGED to include argc and argv as params. New version of parallel.c incorporates modified arg list. Release 2.8 ----------- * Port to distributed-memory MIMD parallel machines. - This port is based on a message-passing paradigm, and contains interfaces to three different message-passing systems - the Oxford BSP library, MPI (the new standardised message-passing library interface) and TCGMSG (the Theoretical Chamistry message-passing system). The parallel interface is contained within a single file "parallel.c" and versions for other MP libraries should be relatively easy to add. - To use, define the macro PARLIBC in the Makefile to contain the "include" path, -DSPMD and one of -DMPI, -DBSP and -DTCGMSG. The macro PARLIBL should be defined to link with the appropriate libraries. * Performance optimizations for IBM RS6000. The 4-way associative cache on the high-end machines in the IBM RS6000 line leads to a severe inefficiency when the number of sites is a power of 2. This version declares the arrays larger than the system size to avoid the problem. Release 2.7 ----------- * Added casts for size_mt in arralloc() calls - for K&R/ANSI compat. * New version of array allocator which breaks up requests for DOS. * Changed all timestep-related parameters to type "long". This means that 16-bit DOS compilers can do more than 32767 timesteps. NOTE: This changes the size of "native" format dump and restart files on a machine where sizeof(long) > sizeof(int), in particular DEC Alpha machines and possibly SGI R4000 based ones. Version 2.7 will not be able to read these "native" format files written by earlier versions, though the recommended XDR format will work. Versions 2.6 of "dumpconv -x" should be used to convert dump files to XDR format and moldy itself to convert restart files. * Utilities renamed for systems with short filenames. dumpextract ==> dumpext dumpconvert ==> dumpconv dumpanalyze ==> dumpanal moldyextract ==> moldyext moldyanalyze ==> manalyze * Strengthened error checking in "mdshak" which previously just gave ridiculous answers if you specified wrong arguments. It now calls "dumpext" via a pipe if it needs to read dump files. * Arguments of "dumpext" simplified. You can now specify the dump files as EITHER the complete set in any order (eg by unix shell wildcard expansion OR as a proforma exactly as in the control file. "dumpext" just tries plugging in numbers with "sprintf" to locate files. This eliminates the need for the "-n" option. (However if you start your run with an index > 500 it will not find them.) Release 2.6 ----------- * Port to PCs running MS-DOS * Significant internal restructuring. This consists of eliminating global data and improving data locality throughout the code. No external impact, but a gain in code quality which should make improvements and porting, esp to parallel machines much easier. * Yet more portability improvements * Bugs corrected - Fixed serious bug whereby linear molecules weren't recognised. Caused failure on RS6000 and possibly others, but not Sun or DEC Alpha. Release 2.5 ----------- This is to announce the release of version 2.5 of Moldy. This is mainly a bugfix and portability release with no major changes in functionality. It incorporates all the experience gained from the "beta-test" releases of 2.2 and 2.3. Major points are: * Greatly improved portability. Tested on Sun, SGI, HP, DEC, Convex IBM and Cray systems and should compile without problems on many more. * VMS support consolidated. Now compiles on VAX/VMS and OpenVMS/AXP systems without problems. Distribution comes in form of "moldy.com" script for ftping and contains "compile.com" to compile everything. * Better and more comprehensive install notes in READ.ME file. * Bugs corrected/mods since 2.2. - "Divide-by-zero" error on velocity rescale of atomic systems fixed. - Relaxed "dump"s checks to allow dump run to continue after backup restart without changing dump file names. - Minor optimization in real-space force calculation. A few percent faster. - Added distant-correction for "generic" potential type GENPOT - XDR mode for dump/restart files is now active by default. - Various minor portability bugs in utility programs corrected.