From efe8c56fdfe09cf31d557ab9b142ddf8d74fd3ab4557bd1f2bde28d1ee822f64 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Wed, 20 Jul 2022 18:34:52 +0000 Subject: [PATCH] - Update to 4.2.0: This is a feature release, i.e., new functionality is added to ESPResSo. New thermostats, cell systems and boundary conditions have been introduced to simulate systems with Stokesian Dynamics, Brownian Dynamics, strongly inhomogeneous particle sizes or translation-invariant shear flow. The interface underwent (non-silent) changes, therefore scripts will have to be slightly adapted. Most notably, particle access by id and particle slices have a new syntax, and electrostatic/magnetostatic layer correction and reaction methods have a different setup. All errors are also now emitted as Python exceptions and are recoverable with minimal effort. An additional focus of this release is the simplification of both the C++ core and the Python script interface to facilitate future extensions of ESPResSo. The testing of ESPResSo's functionality has been extended considerably. We recommend that this release be used for all production simulations. No further bug fix releases will be provided for the 4.1 line, and not all fixes are present in ESPResSo 4.1.4. Added functionality ------------------- * `P3MGPU` now supports energy and pressure calculation via the CPU kernels (#4506). * `ELC` now works with `P3MGPU` (#4506). * The LB grid now supports slicing operations (#4195) and LB slices are equality comparable (#4268). * Lees-Edwards boundary conditions can be used for particle-based simulations (#4457). Lattice-Boltzmann OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python3-espressomd?expand=0&rev=32 --- boost-1.74.patch | 20 ++++++----- espresso-4.1.4.tar.gz | 3 -- espresso-4.2.0.tar.gz | 3 ++ hdf5.patch | 17 ++++++---- missing_size_t.patch | 20 +++-------- python3-espressomd.changes | 68 ++++++++++++++++++++++++++++++++++++++ python3-espressomd.spec | 21 +++++------- rpath.patch | 18 +++++----- 8 files changed, 116 insertions(+), 54 deletions(-) delete mode 100644 espresso-4.1.4.tar.gz create mode 100644 espresso-4.2.0.tar.gz diff --git a/boost-1.74.patch b/boost-1.74.patch index 8acbd60..020b7f0 100644 --- a/boost-1.74.patch +++ b/boost-1.74.patch @@ -10,14 +10,16 @@ including . More details in tickets: https://github.com/boostorg/serialization/issues/210 https://github.com/boostorg/serialization/issues/217 -diff --git a/src/core/grid_based_algorithms/lb_particle_coupling.hpp b/src/core/grid_based_algorithms/lb_particle_coupling.hpp -index de12cb4..13111ab 100644 +--- + src/core/grid_based_algorithms/lb_particle_coupling.hpp | 9 +++++++++ + 1 file changed, 9 insertions(+) + --- a/src/core/grid_based_algorithms/lb_particle_coupling.hpp +++ b/src/core/grid_based_algorithms/lb_particle_coupling.hpp -@@ -21,6 +21,15 @@ - - #include "ParticleRange.hpp" - +@@ -25,6 +25,15 @@ + + #include + +/* This include guards against an issue + * in boost::serialization from boost 1.74.0 that leads to compiler error + * "explicit specialization of undeclared template struct 'version'" when @@ -27,6 +29,6 @@ index de12cb4..13111ab 100644 + */ +#include + - #include - - #include "ParticleRange.hpp" + #include + #include + diff --git a/espresso-4.1.4.tar.gz b/espresso-4.1.4.tar.gz deleted file mode 100644 index 63ca9a4..0000000 --- a/espresso-4.1.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c1b68de63755475c5eb3ae8117d8c6d96c8ac36cc0f46dd44417a8e7ebe9242c -size 16950522 diff --git a/espresso-4.2.0.tar.gz b/espresso-4.2.0.tar.gz new file mode 100644 index 0000000..bf5454b --- /dev/null +++ b/espresso-4.2.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:080bbf6bec5456192ce4e1bc0ddebb9e8735db723d3062ec87154f1ac411aaab +size 14000445 diff --git a/hdf5.patch b/hdf5.patch index ef24fc5..1f9d87f 100644 --- a/hdf5.patch +++ b/hdf5.patch @@ -1,14 +1,17 @@ -diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt -index c956b9de1..b68208eaa 100644 +--- + src/core/CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt -@@ -189,6 +189,9 @@ endif(SCAFACOS) - # Subdirectories - add_subdirectory(io) +@@ -127,6 +127,10 @@ add_subdirectory(reaction_methods) + add_subdirectory(scafacos) + add_subdirectory(virtual_sites) +if(H5MD) + target_link_libraries(EspressoCore PUBLIC ${HDF5_LIBRARIES}) +endif(H5MD) - - if(WITH_UNIT_TESTS) ++ + if(WITH_TESTS) add_subdirectory(unit_tests) + endif(WITH_TESTS) diff --git a/missing_size_t.patch b/missing_size_t.patch index b69968b..8fdd3d0 100644 --- a/missing_size_t.patch +++ b/missing_size_t.patch @@ -1,5 +1,7 @@ -diff --git a/src/config/config.hpp b/src/config/config.hpp -index 78ec14b78..139c1f97a 100644 +--- + src/config/config.hpp | 2 ++ + 1 file changed, 2 insertions(+) + --- a/src/config/config.hpp +++ b/src/config/config.hpp @@ -37,6 +37,8 @@ @@ -10,16 +12,4 @@ index 78ec14b78..139c1f97a 100644 + #include "config-features.hpp" - /** P3M: Default for number of interpolation points of the charge -diff --git a/src/utils/include/utils/NumeratedContainer.hpp b/src/utils/include/utils/NumeratedContainer.hpp -index 1d99098f0..36602b203 100644 ---- a/src/utils/include/utils/NumeratedContainer.hpp -+++ b/src/utils/include/utils/NumeratedContainer.hpp -@@ -25,6 +25,7 @@ - */ - - #include -+#include - #include - #include - + /** P3M: Default for offset of first mesh point from the origin (left diff --git a/python3-espressomd.changes b/python3-espressomd.changes index c309895..d8101be 100644 --- a/python3-espressomd.changes +++ b/python3-espressomd.changes @@ -1,3 +1,71 @@ +------------------------------------------------------------------- +Tue Jul 19 19:40:59 UTC 2022 - Matej Cepl + +- Update to 4.2.0: + This is a feature release, i.e., new functionality is added + to ESPResSo. New thermostats, cell systems and boundary + conditions have been introduced to simulate systems with + Stokesian Dynamics, Brownian Dynamics, strongly inhomogeneous + particle sizes or translation-invariant shear flow. The + interface underwent (non-silent) changes, therefore scripts + will have to be slightly adapted. Most notably, particle + access by id and particle slices have a new syntax, and + electrostatic/magnetostatic layer correction and reaction + methods have a different setup. All errors are also now + emitted as Python exceptions and are recoverable with minimal + effort. An additional focus of this release is the + simplification of both the C++ core and the Python script + interface to facilitate future extensions of ESPResSo. The + testing of ESPResSo's functionality has been extended + considerably. We recommend that this release be used for all + production simulations. No further bug fix releases will be + provided for the 4.1 line, and not all fixes are present in + ESPResSo 4.1.4. + + Added functionality + ------------------- + + * `P3MGPU` now supports energy and pressure calculation via + the CPU kernels (#4506). + * `ELC` now works with `P3MGPU` (#4506). + * The LB grid now supports slicing operations (#4195) and LB + slices are equality comparable (#4268). + * Lees-Edwards boundary conditions can be used for + particle-based simulations (#4457). Lattice-Boltzmann + support will be added in the 4.3.0 release. + * The non-bonded energy of a single particle can be calculated + (#4401). + * The list of close neighbors of a single particle can be + extracted (#4401). + * Brownian Dynamics simulations can be carried out with the + newly added Brownian integrator and Brownian thermostat + (#1842). + * Stokesian Dynamics simulations can be carried out with the + newly added Stokesian integrator and Stokesian thermostat + (#3790, #3987). + * Bonded interactions can now be automatically broken when the + bond length exceeds a critical value (#4456). This feature + can be combined with collision detection to model reversible + bonds (#4464). + * A new cell system `HybridDecomposition` was introduced to + speed up simulations with inhomogeneous particle interaction + ranges (#4373). + * Shapes can be merged into meta-shapes (#3493, #3538). + * The `HollowConicalFrustum` can now be sliced open, made + thick and rotated to model quarter pipes in any orientation + (#4179). The main application is in the construction of + complex microchannel geometries via `LBBoundaries`. + * A parametric weight function was added to the DPD + interaction (#3570). + * H5MD output files now support a unit system (#3751). + * H5MD output files now support custom specifications to + control which particle and box properties to write to disk + (#4480). + * The `H5md` class is now checkpointable and usable in an + interactive Python session (#3751). + * MDAnalysis integration now provides bond information + (#3801). + ------------------------------------------------------------------- Sat Apr 16 00:24:21 UTC 2022 - Jean-Noel Grad diff --git a/python3-espressomd.spec b/python3-espressomd.spec index 9a530f8..976f68f 100644 --- a/python3-espressomd.spec +++ b/python3-espressomd.spec @@ -35,7 +35,7 @@ %define pkgname espresso %define modname %{pkgname}md Name: python3-%{modname} -Version: 4.1.4 +Version: 4.2.0 Release: 0 Summary: Parallel simulation software for soft matter research License: GPL-3.0-or-later @@ -60,6 +60,8 @@ BuildRequires: gsl-devel BuildRequires: python3-Cython BuildRequires: python3-devel BuildRequires: python3-numpy-devel +BuildRequires: python3-scipy +BuildRequires: python3-setuptools %if 0%{?suse_version} > 1325 BuildRequires: hdf5-%{mpiver}-devel BuildRequires: libboost_filesystem-devel @@ -86,11 +88,7 @@ such as polymers, liquid crystals, colloids, ferrofluids and biological systems, for example DNA and lipid membranes. %prep -%setup -q -n %{pkgname} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 +%autosetup -p1 -n %{pkgname} %build source %{_libdir}/mpi/gcc/%{mpiver}/bin/mpivars.sh @@ -103,17 +101,15 @@ export HDF5_USE_SHLIB=yes # we don't install {i,}pypresso scripts as they aren't needed when installing in /usr %cmake \ -DCMAKE_SHARED_LINKER_FLAGS='-Wl,--as-needed -Wl,-z,now' \ - -DLIBDIR=%{_lib} \ + -DLIBDIR=%{_libdir} \ -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ - -DINSTALL_PYPRESSO=OFF + -DPYTHON_INSTDIR=%{python3_sitearch} \ + -DINSTALL_PYPRESSO=ON %make_jobs %install %cmake_install -# no devel package -rm -f %{buildroot}%{_libdir}/lib*.so - %check # gh#espressomd/espresso#3315 %ifarch i586 @@ -123,7 +119,8 @@ LD_LIBRARY_PATH='%{buildroot}/%{python3_sitearch}/espressomd::%{_libdir}/mpi/gcc %files %license COPYING -%doc README AUTHORS NEWS ChangeLog +%doc Readme.md AUTHORS NEWS ChangeLog +%{_bindir}/pypresso %{python3_sitearch}/espressomd %changelog diff --git a/rpath.patch b/rpath.patch index 60a2c64..3a51e65 100644 --- a/rpath.patch +++ b/rpath.patch @@ -1,13 +1,15 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 238e6dac3..96cbaa9a9 100644 +--- + CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -20,6 +20,7 @@ +@@ -21,6 +21,8 @@ - cmake_minimum_required(VERSION 3.4) + cmake_minimum_required(VERSION 3.16) message(STATUS "CMake version: ${CMAKE_VERSION}") +set(CMAKE_SKIP_RPATH ON) - - # C++ standard - enable_language(CXX) - ++ + if(POLICY CMP0076) + # make target_sources() convert relative paths to absolute + cmake_policy(SET CMP0076 NEW)