|
2 | 2 | = ESPRESSO NEWS = |
3 | 3 | ================= |
4 | 4 |
|
| 5 | +ESPResSo 4.2.2 |
| 6 | +============== |
| 7 | + |
| 8 | +This release provides a number of corrections for the ESPResSo 4.2 line. |
| 9 | +We recommend that this release be used for all production simulations. |
| 10 | +The interface has not been changed between ESPResSo 4.2.1 and 4.2.2. |
| 11 | +However, some bugs were discovered which can affect simulation results. |
| 12 | +Please find the list of changes below. The numbers in brackets refer to |
| 13 | +ticket numbers on https://github.com/espressomd/espresso |
| 14 | + |
| 15 | +Improved documentation |
| 16 | +---------------------- |
| 17 | + |
| 18 | +* Installation instructions now mention the FFTW3 MPI dependency |
| 19 | + of long-range solvers and provide recommended version numbers |
| 20 | + for Jupyter Notebook dependencies (#4790). |
| 21 | + |
| 22 | +* Installation instructions now mention Python environments (#4922). |
| 23 | + |
| 24 | +* Observables not properly document return values, array shapes, |
| 25 | + and use a more consistent mathematical notation (#4898). |
| 26 | + |
| 27 | +Bug fixes |
| 28 | +--------- |
| 29 | + |
| 30 | +* Fatal runtime errors due to MPI global variables lifetime |
| 31 | + were addressed (#4858). Older ESPResSo releases built with |
| 32 | + Boost 1.84 or later might randomly crash when exiting |
| 33 | + the Python interpreter. |
| 34 | + |
| 35 | +* Virtual sites no longer contribute to the kinetic energy |
| 36 | + of the system (#4839). The regression was introduced |
| 37 | + in April 2021 and affected the 4.2 branch of ESPResSo. |
| 38 | + |
| 39 | +* Inertialess tracers are now integrated along the z-axis (#4714). |
| 40 | + The regression was introduced in February 2022 and affected |
| 41 | + the 4.2 branch of ESPResSo. |
| 42 | + |
| 43 | +* Inertialess tracers now throw an exception when attempting to use |
| 44 | + LB GPU with 2 or more MPI ranks (#4714). Before, tracers on non-root |
| 45 | + MPI ranks would be silently ignored by the CUDA kernels, |
| 46 | + and would have a constant velocity, either 0 if the particle never |
| 47 | + visited the fluid domain on the root rank, or the last known velocity |
| 48 | + if the particle was once on the root rank. This bug affected all |
| 49 | + ESPResSo versions. |
| 50 | + |
| 51 | +* Particles close to the faces of the simulation box are now properly |
| 52 | + coupled to the LB fluid (#4827). Due to numerical instability, it was |
| 53 | + previously possible for particles to be outside the box simulation by |
| 54 | + a tiny amount and skip LB particle coupling. The probability of this |
| 55 | + bug occurring was low, but could be enhanced in simulations that |
| 56 | + purposefully placed particle near the faces of the simulation box: |
| 57 | + polymers sheared by Lees-Edwards boundary conditions, raspberry |
| 58 | + particles (colloids, bacteria, etc.) when crossing a periodic |
| 59 | + boundary, or cell membranes placed close to a periodic boundary. |
| 60 | + |
| 61 | +* Resizing the box now throws a runtime error if there are constraints |
| 62 | + present (#4778), since constraint preconditions might no longer be |
| 63 | + fulfilled. For example, a wall constraint might end up outside the |
| 64 | + box boundaries when the box shrinks. |
| 65 | + |
| 66 | +* Resizing the box via `system.box_l = new_box_l` now throws |
| 67 | + a runtime error if there are particles present, because particle |
| 68 | + position folding cannot be guaranteed to be correct (#4901); |
| 69 | + use `system.change_volume_and_rescale_particles()` instead, |
| 70 | + which properly rescales particle positions. |
| 71 | + |
| 72 | +* The velocity Verlet NpT propagator doesn't apply friction and noise |
| 73 | + on angular velocities. ESPResSo now throws an error when NpT |
| 74 | + encounters a rotating particle (#4843). This bug affected all |
| 75 | + ESPResSo versions. |
| 76 | + |
| 77 | +* The Brownian thermostat can no longer be configured with |
| 78 | + `act_on_virtual=True` due to an unresolved bug (#4295) |
| 79 | + that will be addressed in the next minor release. |
| 80 | + |
| 81 | +* Restrictions on the number of MPI ranks have been lifted from the |
| 82 | + checkpointing mechanism (#4724). It is now possible to use |
| 83 | + checkpointing again in MPI-parallel simulations when the system |
| 84 | + contains LB boundaries or `Union` shape-based constraints. |
| 85 | + These restrictions had been introduced in 4.2.0 for technical |
| 86 | + reasons that have since been resolved. |
| 87 | + |
| 88 | +* When passing an invalid value to a function that expects an input |
| 89 | + parameter of type `list` of size 3, an exception is now raised (#4911). |
| 90 | + Previously, some functions would print an error message and continue |
| 91 | + their execution with uninitialized data. |
| 92 | + |
| 93 | +* The per-`type` and per-`mol_id` contributions from |
| 94 | + `system.analysis.energy()`, `system.analysis.pressure()` |
| 95 | + and `system.analysis.pressure_tensor()` now return the correct |
| 96 | + values (#4788). Older version of ESPResSo were confusing the |
| 97 | + particle `mol_id` with the particle `type`. The total pressure |
| 98 | + was unreliable when `mol_id` properties were set to non-zero values. |
| 99 | + |
| 100 | +* The OpenGL visualizer now extracts the correct non-bonded potential |
| 101 | + parameter `sigma` when feature `WCA` is compiled in but `LENNARD_JONES` |
| 102 | + isn't (#4720). The regression was introduced in 4.2.1. |
| 103 | + |
| 104 | +* Method `OifCell.elastic_forces()` no longer throws a `TypeError` (#4813). |
| 105 | + |
| 106 | +* Benchmark scripts were adjusted to support large particle numbers (#4753). |
| 107 | + |
| 108 | +Under the hood changes |
| 109 | +---------------------- |
| 110 | + |
| 111 | +* Several Clang 16 and GCC 13 compiler diagnostics have been addressed |
| 112 | + (#4715). |
| 113 | + |
| 114 | +* A non-critical GCC C++20 deprecation warning in Cython-generated code |
| 115 | + was disabled (#4725). |
| 116 | + |
| 117 | +* Several deprecation warnings emitted by CMake 3.27 have been silenced |
| 118 | + (#4792). |
| 119 | + |
| 120 | +* Add support for setuptools version 67.3.0 and above (#4709). |
| 121 | + |
| 122 | +* Add support for Python 3.12 in testsuites run by CTest (#4852). |
| 123 | + |
| 124 | +* Python requirements have been updated (#4924). |
| 125 | + |
| 126 | +* CI pipeline URLs have been fixed (#4736). |
| 127 | + |
5 | 128 | ESPResSo 4.2.1 |
6 | 129 | ============== |
7 | 130 |
|
|
0 commit comments