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 valuedirection=[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 parameterdirection=[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 todirection
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 usingtypes="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 submodulecluster_analysis
) and deprecate themake install DESTDIR=/path/to/espresso
command in favor of the standardcmake .. -DCMAKE_INSTALL_PREFIX=/path/to/espresso
command (#3228), install espressomd module in a platform-dependent python path, typicallylib{,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)