| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: espresso | Distribution: openSUSE Tumbleweed |
| Version: 5.0.0 | Vendor: openSUSE |
| Release: 1.1 | Build date: Mon Mar 2 14:06:42 2026 |
| Group: Unspecified | Build host: reproducible |
| Size: 21313608 | Source RPM: espresso-5.0.0-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://espressomd.org | |
| Summary: Parallel simulation software for soft matter research | |
ESPResSo is a highly versatile software package for performing and analyzing scientific Molecular Dynamics many-particle simulations of coarse-grained atomistic or bead-spring models as they are used in soft-matter research in physics, chemistry and molecular biology. It can be used to simulate systems such as polymers, liquid crystals, colloids, ferrofluids and biological systems, for example DNA and lipid membranes.
GPL-3.0-or-later
* Mon Mar 02 2026 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Update to 5.0.0:
This is a major release. New features were added and deprecated features
were removed. The API has changed, and some of these changes are silent,
i.e. warnings aren't necessarily emitted when running a script designed
for ESPResSo 4.x that relies on features that have significantly changed
in ESPResSo 5.0.
Highlights of the release include:
* rewrite of lattice-Boltzmann and electrokinetics using solvers backed
by the waLBerla framework. For LB, this includes enhanced capabilities
including vectorization support on the CPU and multi-GPU support,
per-cell boundary conditions to build arbitrary geometries,
per-particle friction coefficients, and Lees-Edwards boundary conditions.
* faster writing of simulation trajectories using the H5MD file format,
particularly in parallel simulations.
* per-particle selection of equations of motion.
* the thermalized Stoner-Wolfarth model for magnetodynamics, and the
ability to obtain local magnetic fields at the particles' positions.
* virtual sites tracking the center of mass of a group of particles.
* initial support for shared-memory parallelism for some scenarios.
* several new tutorials, e.g., on the sedimentation of particles in a
fluid, the Boltzmann inversion technique, electrode modelling,
and machine-learned inter-atomic potentials.
Please find the list of changes below. The numbers in brackets refer to
ticket numbers on https://github.com/espressomd/espresso
[#]## Added functionality
* The original LB and EK methods have been completely replaced with
equivalent implementations based on the high-performance waLBerla
library (#4726, #5101). This is a major API change that requires
adapting all LB and EK scripts to use the new classes and arguments.
* LB now support Lees-Edwards boundary conditions (#4977).
* LB and EK methods now support setting boundary slip velocities on
individual nodes (#4252).
* LB now supports per-particle gamma (#4743). Only works for isotropic
particles.
* Thermostats and integrators have been redesigned as unified
* propagators* (#4820, #4603). Multiple combinations of thermostats
and integrators are now supported to solve multiphysics problems.
While the Python interface remains mostly unchanged, internally
the user-selected integrator is now the "main" integrator.
Alternative integration schemes can then be enabled on a per-particle
basis using the new `propagation` flag. An important consequence is
that all virtual site types can now be enabled in the same simulation.
* Magnetodynamics support was introduced with the thermal
Stoner-Wohlfarth model (#5188). This is achieved through a virtual
site that decouples the particle dipole from the particle quaternion.
* A new virtual site implementation was introduced to exert forces
on molecules through their center of mass, for example to implement
umbrella sampling (#5199).
* The OpenGL visualizer now uses different colors for arrows
representing fluid velocities and slip velocities (#4252).
* ESPResSo now supports the ZnDraw visualizer (#4967, #5115, #5217).
* ESPResSo now has Atomic Simulation Environment (ASE) bindings (#4912),
including calculators (#5162). One application is interfacing ESPResSo
with machine-learned potentials.
* The `magnetostatics.DipolarDirectSumCpu()` feature now works in a
MPI-parallel simulation (#4559).
* The `magnetostatics.DipolarDirectSumCpu()` feature now supports
replicas via the new optional argument `n_replicas` (#4559).
* The `magnetostatics.DipolarDirectSumGpu()` feature now supports
replicas via the new optional argument `n_replicas` (#5094).
* The `magnetostatics.DipolarDirectSumCpu()` and
`magnetostatics.DipolarDirectSumGpu()` features can now calculate
the total dipole field experienced by each particle (#4626, #5094).
Requires feature `DIPOLE_FIELD_TRACKING`.
* Particle-based observables `ParticleDirectors()` and
`ParticleDipoleFields()` were added (#4627, #4626).
* Particle bond energies can be calculated with
`system.analysis.particle_bond_energy()`
for a given bond and particle (#5040).
* Particle neighbor lists can be extracted with
`system.analysis.particle_neighbor_pids()` (#4662).
This feature will help prototyping simulations that interface
with machine-learned potentials, which take a list of particle
positions as input and output the force on the central particle.
* Observable `PairwiseDistances` and accumulator `ContactTime` were
introduced to track the contact time, i.e. number of consecutive time
steps during which two particles are closer than a cutoff value (#5032).
* The bond breakage feature now supports angle bonds (#4716).
* Tabulated interaction `TabulatedNonBonded` got a new method
`set_analytical()` to automatically set the energy and force
from the analytical expression of the potential using SymPy (#5019).
* Instrumentation tools Caliper, CUDA-GDB and kernprof are now natively
supported (#4747).
* Instrumentation feature FPE (floating-point exceptions) is now
natively supported on x86 and Armv8 architectures (#5020).
[#]## Changed requirements
* The project now requires C++20 and CUDA 12 (#3918, #4612, #4931).
* The build system now supports the Intel oneAPI C++ Compiler (#4532),
the Cray Clang compiler (#5201), and the NVIDIA HPC SDK (#5257).
* The waLBerla library is now a dependency for all LB and EK methods
(#2701, #4726). If not found, it is built from sources automatically.
* The heFFTe library is now a dependency for Coulomb P3M (#5063) and the
EK FFT solver (#5101). If not found, it is built from sources automatically.
* The Kokkos and Cabana libraries are now dependencies for shared-memory
parallelism (#5074). If not found, they are built from sources automatically.
* The OpenMP component of the FFTW3 library are now dependencies for
shared-memory parallelism (#5086). This component is sometimes
packaged separately from the MPI FFTW3 library on HPC clusters.
* The HighFive library is now a dependency for hdf5 file I/O (#5087).
It is built from sources automatically. The h5xx library is no longer a dependency.
* The GNU GSL library is now a dependency for MMM1D (#5201).
* The minimal version of all dependencies was increased (#4532, #4612,
[#4717], #4931, #5093, #5201, #5223): CMake >= 3.27.6, Python >= 3.11,
Cython >= 3.0.4, Boost >= 1.83, CUDA >= 12.0, OpenMPI >= 4.0,
MPICH >= 3.4.1, GCC >= 12.2, Clang >= 18.1, AppleClang >= 17.0,
CrayClang >= 17.0, Intel oneAPI C++ Compiler >= 2023.1, and Python
packages versions are pinned on versions available in the Ubuntu 22.04
repository. CUDA 12.6 and later versions are now supported (#5129).
[#]## Feature configuration at compile time
* All project-specific CMake options have been renamed (#4612). This
change was required to avoid name collisions with external projects.
Please refer to the user guide chapter on installing ESPResSo to find
out the new option names. Using the old option names will generate
warnings, but CMake will carry on and use default values instead
of the values you provided. Please don't ignore these warnings when
adapting your build scripts.
* The CMake option `ESPRESSO_CUDA_COMPILER` was removed in favor of the
environment variable `CUDACXX` (#4642).
* A config file is now available to build the project automatically
in Codespaces (#5201, #4531).
* An `AGENT.md` is now available to guide agentic coding tools (#5220).
[#]## Improved documentation
* A Widom insertion tutorial was added (#4546)
* A lattice-Boltzmann sedimentation tutorial was added (#4570)
* A machine-learned potentials tutorial was added (#4982).
* An atomistic water simulation tutorial was added (#5174).
* An electrodes tutorial with ICC/ELC/ELC-IC was added (#4784).
* A Boltzmann inversion tutorial was added (#5187).
* A Grand Canonical Monte Carlo tutorial was added (#4670).
* The electrokinetics tutorial was completely rewritten and now features
chemical reactions (#4782).
* All tutorials were re-designed for JupyterLab (#4830). Reliance on
Jupyter extensions and plugins has been significantly reduced in an
effort to improve compatibility with other Jupyter backends.
In particular, VS Code Jupyter is still actively supported.
Jupyter Notebook (Classic Notebook) should still be compatible,
although it is not actively tested. IPython is no longer supported.
* Most tutorials adopted ZnDraw as the visualization backend (#4976, #4975).
* A high-throughput computing sample based on the Dask scheduler was added (#4781).
* All supported debuggers and profilers are now documented: Caliper,
Valgrind, GDB, CUDA-GDB, kernprof, perf, UBSAN, ASAN (#4747).
* Installation instructions were improved with better sectioning (#5062).
* The CUDA 12 circular dependency in Ubuntu 24.04 packages is documented (#4642).
[#]## Interface changes
* The original LB classes `LBFluid` and `LBFluidGPU` were removed in
favor of a unified `LBFluid` class for both CPU and GPU (#2701, #4726, #5230).
Their arguments have also changed, e.g. `dens` became `density` and
`visc` became `viscosity`. The `pressure_tensor_neq` property was removed.
* The original EK class `Electrokinetics` was removed in favor of a unified
`EKSpecies` class for both CPU and GPU (#2701, #4726, #5101, #5230).
* Self-propelled particles (swimmers) have been completely re-implemented (#4745).
The propulsion mechanism can now only be set up with a force. When coupling
to a LB fluid, a real particle and a virtual site are used to create the dipole.
* The long-range actors API was completely redesigned (#4749).
* CPU and GPU algorithms now have a unified Python class (#5230). Pass
optional argument `gpu=True` to the constructor to select the GPU backend.
For example, class `espressomd.electrostatics.P3MGPU` was removed in
favor of `espressomd.electrostatics.P3M`, which now manages both the
CPU and GPU backends. Likewise, `DipolarDirectSum` replaces both
`DipolarDirectSumCpu` and `DipolarDirectSumGpu`.
* The virtual sites API was completely redesigned (#4820, #4603).
* The collision detection API was completely redesigned (#4987).
* The Galilei transform API was completely redesigned (#4816).
* Class attributes expecting 3 boolean values no longer accept integer
values (#4541). It is no longer possible to set properties
`system.periodicity`, `particle.fix` and `particle.rotation`
with e.g. `[1, 1, 1]` or `[0, 0, 1]`.
* `reaction_methods.ReactionAlgorithm.reaction()` now takes `steps`
instead of `reaction_steps` as argument for consistency with the
MD integrator (#4666)
* `io.mpiio.Mpiio()` now takes a `system` as argument (#4950).
* `analysis.pressure()` and `analysis.pressure_tensor()` now take the
DPD stress tensor into account into the total pressure, and got an
additional member `dpd` (#5045).
* `analysis.energy()`, `analysis.pressure()` and `analysis.pressure_tensor()`
got additional members `kinetic_lin` and `kinetic_rot` to separate
linear and angular kinetic energy/pressure (#5043).
* `cluster_analysis.ClusterStructure()` now takes a `system` as
argument (#4950).
* `interactions.ThermalizedBond()` parameter `seed` was moved to
`system.thermostat.set_thermalized_bond()` (#4845). This change better
reflects the fact there is only one global seed for all thermalized
bonds; until now this global seed was overwritten by any newly created
thermalized bond, whether it was added to the system or not.
* All P3M algorithms now accept an extra argument `tune_limits` to
constrain the range of mesh values exploring during mesh size tuning (#5017).
* The `check_complex_residuals` optional argument of the P3M algorithm
was removed (#5189).
* Python objects of type `pathlib.Path` can now be passed to functions
that expect file paths (#5128).
* Bonds breakage can now be triggered manually (#4995). This is meant
to be used in Lees-Edwards simulations with a time-dependent shear,
since bonds extending across the shear boundary can increase in length
without a change in particle positions when the simulation time increases.
* `Analysis.particle_energy()` was renamed to `Analysis.particle_non_bonded_energy()`
to better reflect the calculated quantity, since kinetic, bonded, electrostatic
and magnetostatic contributions are not part of this energy (#5226).
[#]## Removed functionality
* The `lb.LBBoundaries()` framework was removed (#4381). Shapes can
now be passed directly to LB and EK objects.
* The `magnetostatics.DipolarDirectSumWithReplicaCpu()` method was
removed, since the `magnetostatics.DipolarDirectSumCpu()` method
now supports replicas (#4559).
* The `electrostatics.MMM1DGPU()` feature was removed (#4928).
* The `magnetostatics.DipolarBarnesHutGpu()` feature was removed (#4928).
* The MDAnalysis bindings were removed (#4535)
* The `bind_three_particles` collision mode was removed (#4823).
* LB populations are no longer accessible from the Python interface (#5075).
[#]## Improved testing
* The Armv8 architecture is now tested in CI (#5020).
[#]## Performance enhancements
* LB now supports multi-GPU acceleration (#5007).
* Observables are now fully MPI-parallel and show better performance
than equivalent operations by hdf5 or MPI-IO writing on a SSD (#4748).
* Reaction methods are now fully MPI-parallel and now only invalidate
the system state after a batch of particle changes have been applied (#4666).
* Performance of particle property getters and setters has improved, in
particular vector quantities such as force and velocity are 25 times
faster to read from and 3 to 4 times faster to write to (#5209, #5124, #5069).
* The `RegularDecomposition` cell system no longers uses a ghost layer
when the simulation has only 1 MPI rank (and any number of OpenMP threads),
which improves performance of a Lennard-Jones simulation by 11% for 1 thread (#5157).
* Shared-memory parallelism (OpenMP) is now supported in short-range force
calculation (#4754, #5097), Coulomb and Dipolar P3M (#5086, #5189),
LB and EK (#5083).
[#]## Bug fixes
* UTF-8 strings are now supported in all features (#5128).
* Updating an active non-bonded interactions via e.g.
`system.non_bonded_inter[0, 0].lennard_jones.set_params()`
now uses the default arguments when optional arguments are missing
and raises an error when required arguments are missing (#4558).
In previous ESPResSo versions, missing optional and required arguments
would be recycled from the previous state of the non-bonded interaction (#4569).
* Thermalized LB simulations are now fully decorrelated (#4845, #4848).
In previous ESPResSo versions, the LB thermostat `seed` argument was
actually used as the RNG counter, thus ensemble runs would produce
almost the same trajectory.
* Particle coordinates are now properly folded in the histogram and RDF
classes to avoid off-by-one errors (#5109).
* The `particle_data.ParticleHandle()` and `io.writer.h5md.H5md()` writer
now use properly folded particle coordinates (#4940, #4944). In previous
ESPResSo versions, cached coordinates would be used, which could be
out-of-date when large Verlet list skin values were used.
* Lees-Edwards now applies the offset in the correct direction and no
longer requires the user to provide a `shear_velocity` multiplied by
- 1 (#5081).
* Lees-Edwards boundary conditions now support the regular decomposition
cell system via the new `fully_connected_boundary` argument (#4958).
* The isotropic NpT algorithm was completely rewritten and now supports
two barostats: Andersen (#5053) or MTK (#5077).
* It is no longer possible to change the reaction constant of an existing
reaction with a `gamma` value less or equal to 0 (#4666).
* When setting up a reaction method with two or more reactions, a runtime
error is raised if a reaction accidentally overwrites the default
charge of a specific type with a different value (#4666).
* It is no longer possible to add an angle bond or dihedral bond with a
list partner particle ids containing duplicate entries, since the angle
would be undefined (#5012).
* Adding the same object twice in an `ObjectList` now raises a runtime
error; removing an unknown object from an `ObjectList` now raises a
runtime error (#4779). In previous ESPResSo versions, adding the
same object twice in a list could have unintended side-effects.
* The `SimplePore` distance function was corrected and no longer
generates `NaN` values (#5016).
* The FENE bond now breaks when compressed beyond its stretching limit (#5195).
* Coulomb and Dipolar P3M algorithms no longer emit warnings nor trigger
assertions when particles are close to the box boundaries, when running
simulations on a CPU that supports extended precision floating-point
numbers (#5136).
* OpenMPI 5.0 now longer triggers random PRRTE errors at system exit (#5093).
* Default-constructed `Utils::Vector` and `Utils::Array` objects are now
properly zero-initialized (#5257). In previous releases, the default
constructor could accidentally leave the underlying data uninitialized
when using the NVHPC compiler toolchain and building at the -O2 or -O3
optimization level (#5263).
* Thole corrections are no longer part of the energy calculated by
`Analysis.particle_non_bonded_energy()` (#5226)
[#]## Under the hood changes
* Most Cython files have been converted to Python files (#4541, #4713).
* Cython 3 is now supported (#4845).
* Sources of NaN, float overflow, and most float underflow were addressed (#5020).
* GPU algorithms no longer leak device memory (#4741, #4764).
* CPU implementations of the P3M algorithm no longer leak memory (#4947).
* The CPU implementation of the P3M Coulomb algorithm was entirely
rewritten using the heFFTe library (#5063). The method is now easier
to modify and extend, supports shared-memory parallelism (#5086, #5189),
and uses real-to-complex transforms (#5204).
* Project-specific compiler diagnostics are no longer propagated to
external projects like waLBerla (#4642).
* The build system now relies on CMake's native CUDA support (#4642).
* The build system now installs the `object-in-fluid` Python module
when `espressomd` is installed (#4931).
* The script interface was massively simplified (#4816).
* Most global variables were removed (#4741, #4783, #4816, #4845, #4950).
* The ESPResSo repository can now be cloned without git flag `--recursive` (#5031).
ESPResSo developers are now expected to integrate new third-party libraries using
the CMake `FetchContent` mechanism instead of git submodules.
* The build system now properly handles linking of ESPResSo against
static and shared libraries, sets the correct runpaths, and avoids
cyclic dependencies during the linking stage (#5221, #5173). These
changes are most relevant to cluster admins and package maintainers.
- Removed upstreamed patches:
- cmake.patch
- espresso-boost-system.patch
- espresso-cython.patch
- numpy.patch
* Sat Oct 04 2025 Arjen de Korte <suse+build@de-korte.org>
- Boost.System is headers only since 1.69.0
+ espresso-boost-system.patch
* Fri Jul 04 2025 Matej Cepl <mcepl@cepl.eu>
- Rename to espresso.
* Fri Mar 21 2025 Bernhard Wiedemann <bwiedemann@suse.com>
- Add espresso-cython.patch to drop build date (boo#1047218)
* Thu Mar 13 2025 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Fix Python executable path hint
* Thu Mar 13 2025 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Disable HDF5 feature
* Thu Mar 13 2025 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Fix breaking builds
- Disable features that rely on unmet dependencies (h5py, scipy)
* Wed Sep 11 2024 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Fix numpy.patch
* Wed Sep 11 2024 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Add numpy.patch to improve NumPy 2.0 compatibility (gh#espressomd/espresso#4992)
- Add cmake.patch to address CMake warnings (gh#espressomd/espresso#4992)
* Wed May 22 2024 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Exclude 32bit architectures
* Wed May 22 2024 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Update to 4.2.2:
This release provides a number of corrections for the ESPResSo 4.2 line.
We recommend that this release be used for all production simulations.
The interface has not been changed between ESPResSo 4.2.1 and 4.2.2.
However, some bugs were discovered which can affect simulation results.
Please find the list of changes below. The numbers in brackets refer to
ticket numbers on https://github.com/espressomd/espresso
Improved documentation
- ---------------------
* Installation instructions now mention the FFTW3 MPI dependency
of long-range solvers and provide recommended version numbers
for Jupyter Notebook dependencies (#4790).
* Installation instructions now mention Python environments (#4922).
* Observables not properly document return values, array shapes,
and use a more consistent mathematical notation (#4898).
Bug fixes
- --------
* Fatal runtime errors due to MPI global variables lifetime
were addressed (#4858). Older ESPResSo releases built with
Boost 1.84 or later might randomly crash when exiting
the Python interpreter.
* Virtual sites no longer contribute to the kinetic energy
of the system (#4839). The regression was introduced
in April 2021 and affected the 4.2 branch of ESPResSo.
* Inertialess tracers are now integrated along the z-axis (#4714).
The regression was introduced in February 2022 and affected
the 4.2 branch of ESPResSo.
* Inertialess tracers now throw an exception when attempting to use
LB GPU with 2 or more MPI ranks (#4714). Before, tracers on non-root
MPI ranks would be silently ignored by the CUDA kernels,
and would have a constant velocity, either 0 if the particle never
visited the fluid domain on the root rank, or the last known velocity
if the particle was once on the root rank. This bug affected all
ESPResSo versions.
* Particles close to the faces of the simulation box are now properly
coupled to the LB fluid (#4827). Due to numerical instability, it was
previously possible for particles to be outside the box simulation by
a tiny amount and skip LB particle coupling. The probability of this
bug occurring was low, but could be enhanced in simulations that
purposefully placed particle near the faces of the simulation box:
polymers sheared by Lees-Edwards boundary conditions, raspberry
particles (colloids, bacteria, etc.) when crossing a periodic
boundary, or cell membranes placed close to a periodic boundary.
* Resizing the box now throws a runtime error if there are constraints
present (#4778), since constraint preconditions might no longer be
fulfilled. For example, a wall constraint might end up outside the
box boundaries when the box shrinks.
* Resizing the box via `system.box_l = new_box_l` now throws
a runtime error if there are particles present, because particle
position folding cannot be guaranteed to be correct (#4901);
use `system.change_volume_and_rescale_particles()` instead,
which properly rescales particle positions.
* The velocity Verlet NpT propagator doesn't apply friction and noise
on angular velocities. ESPResSo now throws an error when NpT
encounters a rotating particle (#4843). This bug affected all
ESPResSo versions.
* The Brownian thermostat can no longer be configured with
`act_on_virtual=True` due to an unresolved bug (#4295)
that will be addressed in the next minor release.
* Restrictions on the number of MPI ranks have been lifted from the
checkpointing mechanism (#4724). It is now possible to use
checkpointing again in MPI-parallel simulations when the system
contains LB boundaries or `Union` shape-based constraints.
These restrictions had been introduced in 4.2.0 for technical
reasons that have since been resolved.
* When passing an invalid value to a function that expects an input
parameter of type `list` of size 3, an exception is now raised (#4911).
Previously, some functions would print an error message and continue
their execution with uninitialized data.
* The per-`type` and per-`mol_id` contributions from
`system.analysis.energy()`, `system.analysis.pressure()`
and `system.analysis.pressure_tensor()` now return the correct
values (#4788). Older version of ESPResSo were confusing the
particle `mol_id` with the particle `type`. The total pressure
was unreliable when `mol_id` properties were set to non-zero values.
* The OpenGL visualizer now extracts the correct non-bonded potential
parameter `sigma` when feature `WCA` is compiled in but `LENNARD_JONES`
isn't (#4720). The regression was introduced in 4.2.1.
* Method `OifCell.elastic_forces()` no longer throws a `TypeError` (#4813).
* Benchmark scripts were adjusted to support large particle numbers (#4753).
Under the hood changes
- ---------------------
* Several Clang 16 and GCC 13 compiler diagnostics have been addressed
(#4715).
* A non-critical GCC C++20 deprecation warning in Cython-generated code
was disabled (#4725).
* Several deprecation warnings emitted by CMake 3.27 have been silenced
(#4792).
* Add support for setuptools version 67.3.0 and above (#4709).
* Add support for Python 3.12 in testsuites run by CTest (#4852).
* Python requirements have been updated (#4924).
* CI pipeline URLs have been fixed (#4736).
- Removed upstreamed patches:
- array-bounds.patch
- mpi.patch
- setuptools.patch
- tracers.patch
* Fri Feb 02 2024 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Fix undefined behavior due to improper handling of MPI static globals
- Add mpi.patch to remove MPI globals (gh#espressomd/espresso#4858)
* Mon Oct 02 2023 Ondřej Súkup <mimi.vx@gmail.com>
- cleanup spec
- skip mpiio test
* Wed Apr 26 2023 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Fix LB inertialess tracers bug, fix compiler warnings
- Add tracers.patch to fix LB inertialess tracers (gh#espressomd/espresso#4714)
- Add array-bounds.patch to fix compiler warnings (gh#espressomd/espresso#4715)
* Tue Apr 18 2023 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- Update to 4.2.1:
This release provides a number of corrections for the ESPResSo
4.2 line. We recommend that this release be used for all
production simulations. The interface has not been changed
between ESPResSo 4.2.0 and 4.2.1. However, some bugs were
discovered which can affect simulation results. No further bug
fix releases will be provided for the 4.2 line.
Added functionality
- ------------------
* P3M and DipolarP3M can now be used with the hybrid
decomposition cell system with 1 MPI rank (#4678).
* Lattice-Boltzmann can now be used with the N-square and
hybrid decomposition cell systems with 2 or more MPI ranks
(#4676).
Changed requirements
- -------------------
* The nbconvert version requirement was bumped to 6.5.1 to
patch an XSS vulnerability (#4658).
Improved documentation
- ---------------------
* The user guide now documents how to improve the
reproducibility of simulations that have checkpointing
enabled (#4677).
* The user guide now reflects that the lattice-Boltzmann
profile observables can be used in parallel (#4583).
* The active matter tutorial now uses an adequate engine
dipole for the swimmer particle (#4585).
* The error analysis tutorials have been improved (#4597).
* The tutorials can now be used in VS Code Jupyter (both the
desktop and web versions) and the mathematical formula are
now correctly displayed (#4531).
* All ESPResSo-specific CMake options are now documented in
the installation chapter of the user guide (#4608).
* Python package installation instructions no longer feature
package version numbers; instead, `requirements.txt` is used
as a constraint file (#4638).
* MMM1D algorithms now properly document their parameter names
(#4677).
* Reaction methods now cite the relevant literature (#4681).
* Caveats for chain analysis methods are now documented
(#4698).
* Minor formatting issues in Sphinx and typos in Python
docstrings were addressed (#4608).
Interface changes
- ----------------
* A new boolean property
`System.virtual_sites.override_cutoff_check` was introduced
to allow disabling the cutoff range checks from virtual
sites (#4623).
Removed functionality
- --------------------
* The unused and untested `Analysis.v_kappa()` method was
removed (#4534).
Improved testing
- ---------------
* Improve unit testing of core functionality: P3M, MMM1D, OIF,
virtual sites, script interface factory (#4631).
Bug fixes
- --------
* The checkpointing mechanism now properly restores the
particle quaternion and all derived quantities (#4637).
Release 4.2.0 introduced a regression that caused checkpoint
files to overwrite the particle quaternion/director by a
unit vector pointing along the z direction, when the
`DIPOLES` feature was part of the myconfig file. This lead
to incorrect trajectories when reloading a simulation from
a checkpoint file, if the particle director played a role in
the simulation (ex: relative virtual sites, Gay-Berne
potential, anisotropic particles, active particles, etc.).
In addition, the angular velocity in body frame was restored
with the wrong orientation. Since the default myconfig file
contains `DIPOLES`, most ESPResSo users were affected.
* The checkpointing mechanism now properly restores LB
boundaries (#4649). Release 4.2.0 introduced a regression
where reloading LB populations would accidentally reset LB
boundary flags.
* The checkpointing mechanism now restores P3M and DipolarP3M
solvers without triggering a re-tune (#4677). In previous
releases, the checkpointing code would automatically re-tune
these algorithms during a reload, causing tiny deviations in
the forces that were problematic for trajectory
reproducibility.
* Brownian dynamics now integrates the rotational dynamics of
rotatable particles whose position is fixed in 3D space
(#4548).
* Langevin dynamics now properly integrates particles with
anisotropic friction (#4683, #4690).
* A regression that caused virtual sites to incorrectly count
their image box when crossing a periodic boundary has been
fixed (#4564, #4707).
* Particles can no longer be created or updated with a
negative mass or a null mass (#4679).
* Particles created without a user-specified type can now
participate in reactions (#4589).
* When a Monte Carlo displacement move is rejected, the
original particle velocity is now restored (#4589).
* Reaction methods now raise an exception when accidentally
calling `method.reaction(steps=20)` instead of
`method.reaction(reaction_steps=20)` (#4666). Since 4.2.0
the `steps` argument was ignored, in which case the default
value `reaction_steps=1` would used by the core. Note that
in the next minor release of ESPResSo, the `reaction_steps`
argument will be renamed to `steps`.
* Reaction methods now rebuild the list of free particle ids
every time `WidomInsertion::calculate_particle_insertion_potential_energy()`
and `ReactionAlgorithm::do_reaction()` are called (#4609).
This was needed to allow multiple concurrent reactions, as
well as avoiding subtle bugs when both the user and a
reaction method tried to create a new particle with an id
that used to belong to a deleted particle.
* When all particles are cleared, the reaction methods type
map is now also cleared (#4645). In the past, it was
possible to attempt a reaction on particles that had just
been cleared from the system, which would raise an
exception. This bug affected all ESPResSo releases since
4.0.
* The `System.part.pairs()` method now returns the correct
particle pairs when particle ids aren't both contiguous and
starting from 0 (#4628). The regression was introduced in
release 4.2.0.
* The auto-exclusions feature no longer adds spurious
exclusions to particle ids in the range [1, distance]
(#4654). This bug would potentially break the physics of the
system and potentially raise an exception in a system with
non-contiguous particle ids. This regression was introduced
in release 2.2.0b.
* The structure factor analysis code no longer double-counts
particles when the same particle type is provided twice
(#4534).
* The minimal distance distribution analysis code no longer
has an arbitrary cutoff distance when the simulation box is
aperiodic (open boundaries); this would cause spurious
artifacts to appear in the histogram at
`r = np.sum(system.box_l)` when particles were further apart
than this arbitrary distance (#4534).
* The cluster analysis functions are now disabled for systems
with Lees-Edwards periodic boundaries, since the cluster
analysis position wrapping code doesn't properly handle the
shear offset (#4698).
* The chain analysis methods now raise an error when the
number of chains or beads per chain is invalid (#4708).
* The observable tests now longer rely on deprecated numpy
options that were removed in numpy 1.24 (#4635).
* The visualizer `*_arrows_type_materials` options now have an
effect on arrow materials (#4686).
* The visualizer exception handling mechanism has been made
less brittle (#4686).
* The visualizer no longer raises exception when the optional
dependency `freeglut` isn't installed (#4691).
* The visualizer can randomly freeze when using collision
detection or bond breakage; a temporary workaround has been
introduced that fixes the issue for simulations that use
only 1 MPI rank (#4686).
* The `__dir__()` method of script interface objects no longer
raises an exception (#4674).
* Compilation and testsuite issues involving missing or
incorrect feature guards were addressed (#4562, #4648).
* The build system no longer silently ignores invalid external
feature definitions in `myconfig.hpp` and CMake files
(#4608). This issue would only affect feature developers,
as well as users of very old compilers, and would lead to
ESPResSo builds missing features.
Under the hood changes
- ---------------------
* The Clang 14 and AppleClang 14 compilers are now supported
(#4601).
* Several Clang 14 compiler diagnostics have been addressed
(#4606).
* Boost 1.81 and later versions are now supported (#4655).
* Compiler errors on non-x86 architectures were addressed
(#4538).
* Test tolerances were adjusted for non-x86 architectures
(#4708).
* The pypresso script now prints a warning when running with
MCA binding policy "numa" on NUMA architectures that are not
supported in singleton mode by Open MPI 4.x (#4607).
* The config file generator has been rewritten to properly
handle external features and compiler errors (#4608).
* Security hardening for GitHub Workflows (#4577, #4638) and
Codecov (#4600).
* Deployment of the user guide to GitHub Pages now relies on
cloud providers to fetch JavaScript dependencies (#4656).
- Removed upstreamed patches:
- fix-broken-fft-check.patch
- boost-1.74.patch
- numpy-1.24.patch
- rpath.patch
- missing_size_t.patch
- hdf5.patch
- setuptools.patch
* Thu Jan 26 2023 Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
- added numpy-1.24.patch to fix the testsuite (see
gh#espressomd/espresso#4635)
/usr/bin/pypresso /usr/lib64/python3.13/site-packages/espressomd /usr/lib64/python3.13/site-packages/espressomd/__cinit__.py /usr/lib64/python3.13/site-packages/espressomd/__init__.py /usr/lib64/python3.13/site-packages/espressomd/_init.so /usr/lib64/python3.13/site-packages/espressomd/accumulators.py /usr/lib64/python3.13/site-packages/espressomd/analyze.py /usr/lib64/python3.13/site-packages/espressomd/bond_breakage.py /usr/lib64/python3.13/site-packages/espressomd/cell_system.py /usr/lib64/python3.13/site-packages/espressomd/checkpointing.py /usr/lib64/python3.13/site-packages/espressomd/cluster_analysis.py /usr/lib64/python3.13/site-packages/espressomd/code_features.py /usr/lib64/python3.13/site-packages/espressomd/code_info.py /usr/lib64/python3.13/site-packages/espressomd/collision_detection.py /usr/lib64/python3.13/site-packages/espressomd/comfixed.py /usr/lib64/python3.13/site-packages/espressomd/constraints.py /usr/lib64/python3.13/site-packages/espressomd/cuda_init.py /usr/lib64/python3.13/site-packages/espressomd/detail /usr/lib64/python3.13/site-packages/espressomd/detail/__init__.py /usr/lib64/python3.13/site-packages/espressomd/detail/walberla.py /usr/lib64/python3.13/site-packages/espressomd/drude_helpers.py /usr/lib64/python3.13/site-packages/espressomd/electrokinetics.py /usr/lib64/python3.13/site-packages/espressomd/electrostatic_extensions.py /usr/lib64/python3.13/site-packages/espressomd/electrostatics.py /usr/lib64/python3.13/site-packages/espressomd/espresso_core.so /usr/lib64/python3.13/site-packages/espressomd/espresso_script_interface.so /usr/lib64/python3.13/site-packages/espressomd/espresso_shapes.so /usr/lib64/python3.13/site-packages/espressomd/espresso_walberla.so /usr/lib64/python3.13/site-packages/espressomd/galilei.py /usr/lib64/python3.13/site-packages/espressomd/highlander.py /usr/lib64/python3.13/site-packages/espressomd/integrate.py /usr/lib64/python3.13/site-packages/espressomd/interactions.py /usr/lib64/python3.13/site-packages/espressomd/io /usr/lib64/python3.13/site-packages/espressomd/io/__init__.py /usr/lib64/python3.13/site-packages/espressomd/io/mpiio.py /usr/lib64/python3.13/site-packages/espressomd/io/vtk.py /usr/lib64/python3.13/site-packages/espressomd/io/writer /usr/lib64/python3.13/site-packages/espressomd/io/writer/__init__.py /usr/lib64/python3.13/site-packages/espressomd/io/writer/h5md.py /usr/lib64/python3.13/site-packages/espressomd/io/writer/vtf.py /usr/lib64/python3.13/site-packages/espressomd/lb.py /usr/lib64/python3.13/site-packages/espressomd/lees_edwards.py /usr/lib64/python3.13/site-packages/espressomd/magnetostatics.py /usr/lib64/python3.13/site-packages/espressomd/math.py /usr/lib64/python3.13/site-packages/espressomd/observables.py /usr/lib64/python3.13/site-packages/espressomd/pair_criteria.py /usr/lib64/python3.13/site-packages/espressomd/particle_data.py /usr/lib64/python3.13/site-packages/espressomd/plugins /usr/lib64/python3.13/site-packages/espressomd/plugins/__init__.py /usr/lib64/python3.13/site-packages/espressomd/plugins/ase.py /usr/lib64/python3.13/site-packages/espressomd/polymer.py /usr/lib64/python3.13/site-packages/espressomd/profiler.py /usr/lib64/python3.13/site-packages/espressomd/propagation.py /usr/lib64/python3.13/site-packages/espressomd/reaction_methods.py /usr/lib64/python3.13/site-packages/espressomd/rotation.py /usr/lib64/python3.13/site-packages/espressomd/script_interface.so /usr/lib64/python3.13/site-packages/espressomd/shapes.py /usr/lib64/python3.13/site-packages/espressomd/swimmer_helpers.py /usr/lib64/python3.13/site-packages/espressomd/system.py /usr/lib64/python3.13/site-packages/espressomd/thermostat.py /usr/lib64/python3.13/site-packages/espressomd/utils.so /usr/lib64/python3.13/site-packages/espressomd/version.py /usr/lib64/python3.13/site-packages/espressomd/visualization.py /usr/lib64/python3.13/site-packages/espressomd/zn.py /usr/share/doc/packages/espresso /usr/share/doc/packages/espresso/AUTHORS /usr/share/doc/packages/espresso/CHANGELOG.md /usr/share/doc/packages/espresso/CITATION.cff /usr/share/doc/packages/espresso/Readme.md /usr/share/licenses/espresso /usr/share/licenses/espresso/COPYING
Generated by rpm2html 1.8.1
Fabrice Bellet, Fri Jul 24 15:27:28 2026