Dear Colleague, One bug in the Lattice Boltzmann (LBE) code and three bugs in the Dissipative Particle Dynamics (DPD) code of DL_MESO 2.4 have been discovered. If producing output files in Legacy VTK format using the LBE code, incorrect values for densities of fluids numbered 1 and higher are being included. This can be fixed by replacing lbsy.nf in lines 248, 372, 452, 526, 630, 734, 803 and 867 of lbpIOLegacyVTK.cpp with lbsy.nq, so that the lines now read: ipos[0] = float(fGetOneMassSite(&lbf[ilen*lbsitelength+iprop*lbsy.nq])); In the DPD code, two issues were pointed out to us by Yaser Afshar, to whom we offer our thanks: 1. Initialization of systems from scratch may result in beads being positioned on top of or very close to each other: this may cause stability issues if using hard sphere potentials, e.g. Lennard-Jones. This can be fixed by inserting the following immediately after line 83 in start_module.f90: IF (ktype<2) nbds = 0 Please note that this fix does not affect how molecules are inserted: if hard-core beads are to be used in molecular systems, the use of CONFIG files to give initial positions is highly recommended. 2. The potential energies for DPD interactions are incorrectly expressed for systems with interaction lengths other than 1. This can be fixed by dividing the current term by the interaction length, i.e. by changing lines 169, 430, 844, 1117 and 1391 in field_module.f90 and line 168 in manybody_module.f90 to: pot (i) = pot (i) + 0.5d0 * vk0 * (vk1 - rrr) * (vk1 - rrr) / vk1 Note that this has no effect on calculated forces, so system trajectories are not affected by this bug. An additional bug was spotted in the DPD utilities for converting restart files when bonds are stored globally and therefore written to all export* files. This can be fixed by changing line 16 in exportconfig.f90 and line 20 in exportimage.f90 to: LOGICAL :: lexist, lgbnd adding the following immediately after line 136 in exportconfig.f90 and line 125 in exportimage.f90: ELSE IF (key (1:4) =="LGBN" .OR. key (1:4) =="lgbn") THEN word = getword (record, 2) IF (word==".true." .OR. word==".TRUE.") lgbnd = .true. IF (word==".false." .OR. word==".FALSE.") lgbnd = .false. changing lines 188 in exportconfig.f90 and line 176 in exportimage.f90 to: IF (lgbnd) THEN numbonds = nbonds (j) ELSE numbonds = numbonds + nbonds (j) END IF and inserting the following between lines 216 and 217 in exportconfig.f90 and lines 202 and 203 in exportimage.f90: IF (lgbnd) ibond = 0 All of the above bug fixes have been applied to the current DL_MESO release: a corrected version may be downloaded by registered users of version 2.4 without re-registering and decrypted using the same password. Michael Seaton 2011-12-23