ESPResSo 4.1.1 released

This release provides a number of corrections for Espresso 4.1. We recommend that this release be used for all production simulations. The interface is mostly unchanged between Espresso 4.1 and 4.1.1; the two exceptions are limited to these experimental features:

  • Integrator.set_isotropic_npt(): input value direction=[0,0,0] now throws an error instead of being silently changed to [1,1,1]
  • ParticleHandle.swimming: deprecated value 'rotational_friction' is now disabled

These changes are unlikely to affect production simulations. However, some bugs were discovered which can affect simulation results. Below, please find the list of changes. The numbers in brackets refer to ticket numbers on https://github.com/espressomd/espresso

General corrections and improvements:

  • Restore checkpointing mechanism for the steepest descent and NPT integrators, LB and NPT thermostats (#3245)
  • Increase the minimum MPI version to 3.0; OpenMPI versions 1.6.5 and lower are no longer supported (#3236)
  • Fix Integrator.set_isotropic_npt(): remove the silent conversion of the incorrect input parameter direction=[0,0,0] to [1,1,1] in the core; the function now throws an exception for fixed-volume boxes; this change is unlikely to break pypresso scripts since not providing a value to direction or providing [1,1,1] were the two standard ways to set up a box with all directions allowed to rescale (#3253)
  • Fix Integrator.set_vv(): this function failed to set the velocity Verlet integrator if the NPT integrator was active; this is now resolved (#3274)
  • Fix the random segmentation fault triggered by the removal of a particle with a bond or a virtual site relationship to another particle (#3288)
  • Fix system.part.writevtk(): the function now writes down all particles when using types="all" (#3290)
  • Disable the deprecated and broken ENGINE shear torque calculation feature; the feature will be completely removed from the core in the upcoming 4.2 release (#3277)
  • Fix unit conversion for the LB fluid viscosity (#3287)

Documentation and tutorials corrections and improvements:

  • Add more detailed installation instructions for ESPResSo and its Python dependencies on MacOS X (#3236)
  • Add links to Dockerfiles providing installation instructions for ESPResSo and its Python dependencies on CentOS 7, Fedora 30, Debian 10 and OpenSUSE Leap 15.1 (#3244)
  • Add instructions to read PDB files with MDAnalysis, which is one of the recommended tools to read/write molecular dynamics topologies and trajectories in ESPResSo; the PdbParser feature will be removed in the upcoming 4.2 release (#3257)
  • Add a new tutorial on the constant pH method; the reaction ensemble tutorial will be removed in the upcoming 4.2 release (#3184)

Build system and platform-related corrections and improvements:

  • Fix a PYTHONPATH error when ESPResSo is built in a directory containing whitespace characters (#3238)
  • Fix several issues with the command make install that lead to import errors in Python (incorrect runtime path, missing shared objects, name collision for submodule cluster_analysis) and deprecate the make install DESTDIR=/path/to/espresso command in favor of the standard cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/espresso command (#3228), install espressomd module in a platform-dependent python path, typically lib{,64}/python3.X/{dist,site}-packages (#3258)
  • Fix an issue in mpiio that triggered an assertion in systems with no bonds when ESPResSo is built with stdlibc++ range checking enabled (#3234)
  • Fix the pypresso script to correctly parse filepaths containing whitespaces passed after a pypresso flag, such as --gdb, and make conditional statements cross-platform (#3292)

Improved testing:

  • Test checkpointing of integrators and thermostats (#3245)
  • Fix and improve check_cmake_install test (#3228, #3258) and add a new CI job to test an installed version of ESPResSo (#3228)
  • Test engine LB (#3277)
  • Add more LB tests (#2748)