forked from pool/python3-espressomd
- Add numpy.patch to improve NumPy 2.0 compatibility (gh#espressomd/espresso#4992)
- Add cmake.patch to address CMake warnings (gh#espressomd/espresso#4992) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python3-espressomd?expand=0&rev=55
This commit is contained in:
commit
1a0cd08b37
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
33
cmake.patch
Normal file
33
cmake.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index ac0432c34..bff6f289b 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -38,7 +38,13 @@ if(POLICY CMP0148)
|
||||||
|
cmake_policy(SET CMP0148 OLD)
|
||||||
|
endif()
|
||||||
|
+if(POLICY CMP0167)
|
||||||
|
+ # use BoostConfig.cmake shipped with Boost 1.70+ instead of the one in CMake
|
||||||
|
+ cmake_policy(SET CMP0167 NEW)
|
||||||
|
+endif()
|
||||||
|
# CMake modules/macros are in a subdirectory to keep this file cleaner
|
||||||
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
||||||
|
|
||||||
|
+project(ESPResSo)
|
||||||
|
+
|
||||||
|
# C++ standard
|
||||||
|
enable_language(CXX)
|
||||||
|
@@ -49,5 +55,4 @@ set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
include(FeatureSummary)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
-project(ESPResSo)
|
||||||
|
include(option_enum)
|
||||||
|
if(POLICY CMP0074)
|
||||||
|
@@ -268,7 +273,5 @@ if(WITH_STOKESIAN_DYNAMICS)
|
||||||
|
set(STOKESIAN_DYNAMICS 1)
|
||||||
|
if(NOT stokesian_dynamics_POPULATED)
|
||||||
|
- FetchContent_Populate(stokesian_dynamics)
|
||||||
|
- add_subdirectory(${stokesian_dynamics_SOURCE_DIR}
|
||||||
|
- ${stokesian_dynamics_BINARY_DIR})
|
||||||
|
+ FetchContent_MakeAvailable(stokesian_dynamics)
|
||||||
|
endif()
|
||||||
|
endif(WITH_STOKESIAN_DYNAMICS)
|
3
espresso-4.2.2.tar.gz
Normal file
3
espresso-4.2.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76
|
||||||
|
size 13463564
|
93
numpy.patch
Normal file
93
numpy.patch
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
diff --git a/testsuite/python/brownian_dynamics.py b/testsuite/python/brownian_dynamics.py
|
||||||
|
index 223340e15..f99d94018 100644
|
||||||
|
--- a/testsuite/python/brownian_dynamics.py
|
||||||
|
+++ b/testsuite/python/brownian_dynamics.py
|
||||||
|
@@ -161,5 +161,5 @@ class BrownianThermostat(ut.TestCase):
|
||||||
|
system.integrator.run(3)
|
||||||
|
np.testing.assert_allclose(
|
||||||
|
- part.omega_lab, [0, 0, 1.3 / 1.5], atol=1e-14)
|
||||||
|
+ np.copy(part.omega_lab), [0, 0, 1.3 / 1.5], atol=1e-14)
|
||||||
|
|
||||||
|
# noise only
|
||||||
|
@@ -168,5 +168,5 @@ class BrownianThermostat(ut.TestCase):
|
||||||
|
kT=1, gamma=1, gamma_rotation=1.5, act_on_virtual=False, seed=41)
|
||||||
|
system.integrator.run(3)
|
||||||
|
- self.assertGreater(np.linalg.norm(part.omega_lab), 0.)
|
||||||
|
+ self.assertGreater(np.linalg.norm(np.copy(part.omega_lab)), 0.)
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/testsuite/python/lees_edwards.py b/testsuite/python/lees_edwards.py
|
||||||
|
index 002340bd2..4539f1af5 100644
|
||||||
|
--- a/testsuite/python/lees_edwards.py
|
||||||
|
+++ b/testsuite/python/lees_edwards.py
|
||||||
|
@@ -397,5 +397,5 @@ class LeesEdwards(ut.TestCase):
|
||||||
|
a=k_non_bonded / 2, n=-2, cutoff=r_cut)
|
||||||
|
system.integrator.run(0)
|
||||||
|
- r_12 = system.distance_vec(p1, p2)
|
||||||
|
+ r_12 = np.copy(system.distance_vec(p1, p2))
|
||||||
|
|
||||||
|
np.testing.assert_allclose(
|
||||||
|
@@ -405,5 +405,5 @@ class LeesEdwards(ut.TestCase):
|
||||||
|
np.testing.assert_allclose(
|
||||||
|
np.copy(system.analysis.pressure_tensor()["non_bonded"]),
|
||||||
|
- np.outer(r_12, p2.f) / system.volume())
|
||||||
|
+ np.outer(r_12, np.copy(p2.f)) / system.volume())
|
||||||
|
|
||||||
|
np.testing.assert_almost_equal(
|
||||||
|
@@ -438,5 +438,5 @@ class LeesEdwards(ut.TestCase):
|
||||||
|
shear_direction="x", shear_plane_normal="y", protocol=lin_protocol)
|
||||||
|
# Test position and velocity of VS with Le shift
|
||||||
|
- old_p3_pos = p3.pos
|
||||||
|
+ old_p3_pos = np.copy(p3.pos)
|
||||||
|
expected_p3_pos = old_p3_pos - \
|
||||||
|
np.array((get_lin_pos_offset(system.time, **params_lin), 0, 0))
|
||||||
|
diff --git a/testsuite/python/test_checkpoint.py b/testsuite/python/test_checkpoint.py
|
||||||
|
index f295cec44..4b30aaefb 100644
|
||||||
|
--- a/testsuite/python/test_checkpoint.py
|
||||||
|
+++ b/testsuite/python/test_checkpoint.py
|
||||||
|
@@ -217,12 +217,12 @@ class CheckpointTest(ut.TestCase):
|
||||||
|
np.testing.assert_allclose(np.copy(p3.ext_torque), [0.3, 0.5, 0.7])
|
||||||
|
if espressomd.has_features('ROTATIONAL_INERTIA'):
|
||||||
|
- np.testing.assert_allclose(p3.rinertia, [2., 3., 4.])
|
||||||
|
+ np.testing.assert_allclose(np.copy(p3.rinertia), [2., 3., 4.])
|
||||||
|
if espressomd.has_features('THERMOSTAT_PER_PARTICLE'):
|
||||||
|
gamma = 2.
|
||||||
|
if espressomd.has_features('PARTICLE_ANISOTROPY'):
|
||||||
|
gamma = np.array([2., 3., 4.])
|
||||||
|
- np.testing.assert_allclose(p4.gamma, gamma)
|
||||||
|
+ np.testing.assert_allclose(np.copy(p4.gamma), gamma)
|
||||||
|
if espressomd.has_features('ROTATION'):
|
||||||
|
- np.testing.assert_allclose(p3.gamma_rot, 2. * gamma)
|
||||||
|
+ np.testing.assert_allclose(np.copy(p3.gamma_rot), 2. * gamma)
|
||||||
|
if espressomd.has_features('ENGINE'):
|
||||||
|
self.assertEqual(p3.swimming, {"f_swim": 0.03, "mode": "N/A",
|
||||||
|
@@ -237,9 +237,11 @@ class CheckpointTest(ut.TestCase):
|
||||||
|
q_ind = ([1, 2, 3, 0],) # convert from scalar-first to scalar-last
|
||||||
|
vs_id, vs_dist, vs_quat = p2.vs_relative
|
||||||
|
- d = p2.pos - p1.pos
|
||||||
|
+ d = np.copy(p2.pos - p1.pos)
|
||||||
|
+ vs_quat = np.copy(vs_quat)
|
||||||
|
+ p_quat = np.copy(p1.quat)
|
||||||
|
theta = np.arccos(d[2] / np.linalg.norm(d))
|
||||||
|
assert abs(theta - 3. * np.pi / 4.) < 1e-8
|
||||||
|
q = np.array([0., 0., np.sin(theta / 2.), -np.cos(theta / 2.)])
|
||||||
|
- r = R.from_quat(p1.quat[q_ind]) * R.from_quat(vs_quat[q_ind])
|
||||||
|
+ r = R.from_quat(p_quat[q_ind]) * R.from_quat(vs_quat[q_ind])
|
||||||
|
self.assertEqual(vs_id, p1.id)
|
||||||
|
np.testing.assert_allclose(vs_dist, np.sqrt(2.))
|
||||||
|
@@ -500,5 +502,5 @@ class CheckpointTest(ut.TestCase):
|
||||||
|
self.assertEqual(p_virt.vs_relative[1], np.sqrt(2.))
|
||||||
|
np.testing.assert_allclose(
|
||||||
|
- p_real.vs_relative[2], [1., 0., 0., 0.], atol=1e-10)
|
||||||
|
+ np.copy(p_real.vs_relative[2]), [1., 0., 0., 0.], atol=1e-10)
|
||||||
|
|
||||||
|
def test_mean_variance_calculator(self):
|
||||||
|
@@ -785,6 +787,6 @@ class CheckpointTest(ut.TestCase):
|
||||||
|
p2 = system.part.add(pos=[system.box_l[0] - 1., 1.6, 0.], type=6)
|
||||||
|
system.integrator.run(0, recalc_forces=True)
|
||||||
|
- np.testing.assert_allclose(p1.f, [0., 1e8, 0.], atol=1e-3)
|
||||||
|
- np.testing.assert_allclose(p2.f, [0., 1e8, 0.], atol=1e-3)
|
||||||
|
+ np.testing.assert_allclose(np.copy(p1.f), [0., 1e8, 0.], atol=1e-3)
|
||||||
|
+ np.testing.assert_allclose(np.copy(p2.f), [0., 1e8, 0.], atol=1e-3)
|
||||||
|
p1.remove()
|
||||||
|
p2.remove()
|
756
python3-espressomd.changes
Normal file
756
python3-espressomd.changes
Normal file
@ -0,0 +1,756 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 11 18:36:23 UTC 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 16:08:22 UTC 2024 - Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
|
||||||
|
|
||||||
|
- Exclude 32bit architectures
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 22 14:36:04 UTC 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 2 16:23:08 UTC 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 2 12:11:53 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>
|
||||||
|
|
||||||
|
- cleanup spec
|
||||||
|
- skip mpiio test
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 26 18:06:17 UTC 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 10:43:03 UTC 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 19:46:39 UTC 2023 - Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
|
||||||
|
|
||||||
|
- added numpy-1.24.patch to fix the testsuite (see
|
||||||
|
gh#espressomd/espresso#4635)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 15 07:47:38 UTC 2022 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||||
|
|
||||||
|
- Add upstream patch to fix test on aarch64:
|
||||||
|
* fix-broken-fft-check.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 19 19:40:59 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- 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).
|
||||||
|
- Give up on building on 32bit architectures (gh#espressomd/espresso#4537).
|
||||||
|
- Fix rpath in provided libraries and shebang in pypresso.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 16 00:24:21 UTC 2022 - Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
|
||||||
|
|
||||||
|
- added rpath.patch to fix the failing Rpath checks (see
|
||||||
|
boo#1198352)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 16 00:19:40 UTC 2022 - Jean-Noel Grad <jgrad@icp.uni-stuttgart.de>
|
||||||
|
|
||||||
|
- added hdf5.patch to fix builds with H5MD (see
|
||||||
|
gh#espressomd/espresso#3543)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 12 22:24:29 UTC 2021 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- added missing_size_t.patch, to workaround missing size_t (see
|
||||||
|
gh#espressomd/espresso#4274)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 11 09:29:24 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Use openmpi4 on 'non-sle based systems' (aka Tumbleweed) (can't
|
||||||
|
use unversioned openmpi, as hdf5-openmpi-devel would not exist).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 29 15:42:42 UTC 2020 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- added boost-1.74.patch to fix build with boost-1.74
|
||||||
|
(gh#espressomd/espresso#3864)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 20 19:03:28 UTC 2020 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- Update to 4.1.4, see
|
||||||
|
https://github.com/espressomd/espresso/blob/4.1.4/NEWS for
|
||||||
|
details
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 8 20:26:00 UTC 2020 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- fix unversioned Obsoletes: statement
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 21 16:36:20 UTC 2020 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- force the use of shared hdf5 by setting HDF5_USE_SHLIB
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 8 19:14:39 UTC 2020 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- Update to 4.1.3, see
|
||||||
|
https://github.com/espressomd/espresso/blob/4.1.3/NEWS for
|
||||||
|
details
|
||||||
|
- drop 3427.patch - merged upstream
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 21 21:52:51 UTC 2020 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- Require: the right hdf5 library
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 11 20:57:59 UTC 2020 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- enable hdf5 support
|
||||||
|
- python3-numpy & python3-h5md are needed at runtime
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 21 13:26:55 UTC 2020 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- add 3427.patch to fix tests on i586
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 15 23:35:14 CET 2020 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Update to 4.1.2:
|
||||||
|
- The interface has not been changed between ESPResSo 4.1.1 and
|
||||||
|
4.1.2.
|
||||||
|
- General corrections and improvements:
|
||||||
|
- Remove correlation between the rotational noise and
|
||||||
|
translational noise in the Langevin thermostat (#3355)
|
||||||
|
- Fix a bug that may cause the wrong temperature to be set by
|
||||||
|
the Langevin and DPD thermostats in the first time step
|
||||||
|
after the system was altered from the Python level, e.g.,
|
||||||
|
by changing particles or interactions (#3341)
|
||||||
|
- Fix a bug that caused the DPD thermostat to generate an
|
||||||
|
incorrect velocity distribution when used together with the
|
||||||
|
Langevin thermostat (#3352)
|
||||||
|
- Fix a bug in MMM2D and ELC with potential boundary
|
||||||
|
conditions, where one of the correction factors was
|
||||||
|
over-counted resulting in wrong energies (#3310)
|
||||||
|
- Fix a bug that caused the wrong bonds to be deleted when
|
||||||
|
removing particles from the system (#3356)
|
||||||
|
- Fix an ambiguity in `ParticleSlice`: the values in the
|
||||||
|
square brackets refer to particle ids, not array indices
|
||||||
|
(#3367). This means the ill-defined syntax
|
||||||
|
`system.part[0:-1]` is no longer valid. See the User Guide
|
||||||
|
section on Setting up particles for more information.
|
||||||
|
- Remove the mass prefactor in the `ComForce` observable and
|
||||||
|
use the correct Particle ids in the
|
||||||
|
`ParticleAngularVelocities` and `ParticleBodyVelocities`
|
||||||
|
observables (#3380)
|
||||||
|
- Fix a rounding error that caused debug builds of ESPResSo
|
||||||
|
running with multiple MPI threads to crash when a particle
|
||||||
|
was placed exactly on the boundary between two cells
|
||||||
|
(#3377)
|
||||||
|
- Fix `espressomd.has_features()` for the corner case where
|
||||||
|
the list of all compiled-in features is passed as argument,
|
||||||
|
returning ``False`` instead of ``True`` (#3318)
|
||||||
|
- Refactor the random number generator code (#3349)
|
||||||
|
- Documentation and tutorials corrections and improvements:
|
||||||
|
- Improve documentation of Monte Carlo methods (#3254, #3330)
|
||||||
|
- Build system and platform-related corrections and
|
||||||
|
improvements:
|
||||||
|
- List all Python dependencies in `requirements.txt` with the
|
||||||
|
supported version numbers (#3300). Please note that most of
|
||||||
|
them are optional.
|
||||||
|
- Add `MPIEXEC_PREFLAGS` and `MPIEXEC_POSTFLAGS` to the
|
||||||
|
command lines of parallel tests (#3221)
|
||||||
|
- Add the `-oversubscribe` flag to the command lines of
|
||||||
|
parallel tests running with OpenMPI v2.X to avoid exiting
|
||||||
|
early from a Python test configured without `MAX_NUM_PROC`
|
||||||
|
on a machine with a hyperthreaded CPU where OpenMPI is
|
||||||
|
configured such that the number of threads cannot exceed
|
||||||
|
the number of cores (#3335)
|
||||||
|
- Refactor the CI, maintainer, Doxygen and pypresso shell
|
||||||
|
scripts to make them more portable and support filepaths
|
||||||
|
containing whitespaces (#3326, #3373)
|
||||||
|
- Fix a nvcc compiler warning on the empty config (#3329)
|
||||||
|
- Improved testing:
|
||||||
|
- Add a test for ELC and MMM2D using analytic expressions of
|
||||||
|
the force and energy (#3331)
|
||||||
|
- Sped-up seven Python tests (#3319)
|
||||||
|
- Fix a test that broke on s390x architectures with Fedora 31
|
||||||
|
(#3312)
|
||||||
|
- Fix tests that broke on i586 architectures with OpenSUSE
|
||||||
|
Tumbleweed (#3327, #3358)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 15 16:24:45 UTC 2019 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- Version bump to 4.1.1
|
||||||
|
* 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)
|
||||||
|
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 30 18:06:33 UTC 2019 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- Version bump to 4.0.2
|
||||||
|
*Corrections for bugs that may harm simulation results:
|
||||||
|
* A sign error in tabulated interactions was corrected such that
|
||||||
|
the force equals the negative gradient of the potential.
|
||||||
|
(#2519,2520)
|
||||||
|
* The flow field of the CPU lattice-Boltzmann implementation was
|
||||||
|
deleted when aspects of the molecular dynamics cell grid were
|
||||||
|
changed; E.g., when interactions, the skin or the parallelization
|
||||||
|
setup were changed. ESPResSo now terminates with an error, when this
|
||||||
|
happens. To avoid this, please setup the CPU lattice-Boltzmann after
|
||||||
|
all other aspects of the system. The GPU LB is not affected in the
|
||||||
|
4.0 release, but was affected in the current development branch.
|
||||||
|
(#2728, #2736)
|
||||||
|
* Corrected the force acting on LB Boundaries for the case of
|
||||||
|
agrid and density not equal to 1 (#2624).
|
||||||
|
* Corrected the cutoff calculation for the soft sphere interaction. In
|
||||||
|
the previous implementation, the offset parameter was ignored.
|
||||||
|
(#2505)
|
||||||
|
* The "three point coupling" of particles to the lattice-Boltzmann
|
||||||
|
method has been removed. While it works in most environments, for
|
||||||
|
some compilers the calculation gives wrong values. This is likely
|
||||||
|
caused by undefined behavior. A corrected implementation is
|
||||||
|
available in ESPResSo's development branch. It cannot be safely
|
||||||
|
backported to 4.0.2, because the code has diverged too far. (#2516,
|
||||||
|
#2517) Users who did not explicitly activate this coupling via
|
||||||
|
couple="3pt" are not affected.
|
||||||
|
* The velocity of existing particles was changed when setting or
|
||||||
|
changing the simulation time step (#2480)
|
||||||
|
* Further changes:
|
||||||
|
* Fixed the electrokinetic Python interface (#2486)
|
||||||
|
* Correction to the installation instructions for mac (#2510)
|
||||||
|
* Corrected file permissions (#2470)
|
||||||
|
* Minor corrections and extensions to the test suite (#2477, #2552)
|
||||||
|
* Fixed a dead-lock in the dipolar Barnes Hutt method on the GPU for
|
||||||
|
recent NVIDIA cards such as RTX 2080 (#2719).
|
||||||
|
* Restored Mayavi visualizer's API-compatibility with OpenGL
|
||||||
|
visualizer (#2751)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 25 16:28:37 UTC 2019 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- Version bump to 4.0.1
|
||||||
|
* Many small bugfixes
|
||||||
|
- Drop 2255.patch, 2259.patch and 2265.patch - merged upstream
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 28 23:13:13 UTC 2018 - Christoph Junghans <junghans@votca.org>
|
||||||
|
|
||||||
|
- added change from request #639007
|
||||||
|
- rename package to python3-espressomd
|
||||||
|
- install COPYING for all packages
|
||||||
|
- change license to GPL-3.0-or-later
|
||||||
|
- added sonum define
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 7 15:36:54 UTC 2018 - junghans@votca.org
|
||||||
|
|
||||||
|
- Version bump to 4.0.0
|
||||||
|
- Rename pacakge to python-espressomd
|
||||||
|
- Dropped 1830.patch - merged upstream
|
||||||
|
- Dropped doc package - under rework in 4.0.0
|
||||||
|
- New features:
|
||||||
|
- Reaction ensemble methods for the modelling of chemical reactions, including constant pH and Wang-Landau schemes.
|
||||||
|
- Polarisable particles via the Drude-oscillator scheme.
|
||||||
|
- Steepest-descent energy minimization scheme.
|
||||||
|
- Methods for active particles (swimmer_reaction, dipolar swimmers).
|
||||||
|
- GPU-accelerated P3M method for electrostatic interactions.
|
||||||
|
- GPU-accelerated direct summation and Barnes-Hutt schemes for dipolar interactions under open boundary conditions.
|
||||||
|
- Support for the electrostatic and magnetostatics method provided by the ScaFaCoS library.
|
||||||
|
- Immersed boundary method for soft immersed objects in an LB fluid.
|
||||||
|
- Virtual sites acting as inertialess tracers in an LB fluid usable as part of the immersed boundary method or independently.
|
||||||
|
- New bonded quartic and Coulomb interactions.
|
||||||
|
- Possibility to tune the skin parameter.
|
||||||
|
- Support for saving to the h5md file format for molecular dynamics data.
|
||||||
|
- Connection to the MD Analysis Python package.
|
||||||
|
- A rotate_system command was added, which rotates the particle positions around the system’s center of mass.
|
||||||
|
- Added 2255.patch to fix numpy issue on i586
|
||||||
|
- Added 2259.patch to fix numpy issue on big-endian platforms
|
||||||
|
- Added 2265.patch to fix test on i586
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 12 19:25:01 UTC 2018 - junghans@votca.org
|
||||||
|
|
||||||
|
- add 1830.patch to fix install
|
||||||
|
- update version 3.3.1+git20180203.f74064d
|
||||||
|
* many many small fixes
|
||||||
|
* support for newer cython
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 25 12:43:08 UTC 2017 - junghans@votca.org
|
||||||
|
|
||||||
|
- adapt to new openlmi package - source mpivars.h during build
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 1 10:36:28 UTC 2017 - adam.majer@suse.de
|
||||||
|
|
||||||
|
- use individual libboost-*-devel packages instead of boost-devel
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 29 13:46:20 UTC 2016 - jengelh@inai.de
|
||||||
|
|
||||||
|
- RPM group fixup
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 3 17:54:16 UTC 2016 - junghans@votca.org
|
||||||
|
|
||||||
|
- switched to cmake build-system
|
||||||
|
- build python module
|
||||||
|
- dropped header as they are for internal use only
|
||||||
|
- dropped pkg-config files as nothing depends on libs yet
|
||||||
|
- update version 3.3.1+git20160803.6ed0518.tar.gz
|
||||||
|
* overhaul of buildsystem
|
||||||
|
* many many small fixes
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jun 26 07:35:00 UTC 2016 - i@marguerite.su
|
||||||
|
|
||||||
|
- fix boo#985147
|
||||||
|
* there's a commit that removed redefinition of malloc and realloc
|
||||||
|
which fixed build for gcc 6. but it's too hard to cherry pick, so
|
||||||
|
update to the latest git version is a good idea
|
||||||
|
- there's no --without-mpi option left in configure.ac, so "-openmpi"
|
||||||
|
sub-package is meaningless now (everything has openmpi support)
|
||||||
|
and since there's no two main packages any more, "-common" sub-package
|
||||||
|
is also meaningless now (and it doesn't contains data), merged.
|
||||||
|
- add sub-package: "-devel", "libEspresso0", "libEspressoTcl0"
|
||||||
|
- add generate_headers.rb to gather those .hpp that're really used
|
||||||
|
into "-devel" sub-package
|
||||||
|
- create pkgconfig files
|
||||||
|
- add some texlive BuildRequires to build pdf documentation.
|
||||||
|
- update version 3.3.1+git20160622.6aa229c:
|
||||||
|
* added edge statistics for meshes used by object-in-fluid
|
||||||
|
* added pos_folded property
|
||||||
|
* Adapted simple LB tests to current interface.
|
||||||
|
* system.part.writevtk()
|
||||||
|
* redesigned exclusions and added slice input
|
||||||
|
* Scafacos: Add long range energy to correct place in energy data structure
|
||||||
|
* Correction to scafacos energy calculation: Check cutoff in near field contrib
|
||||||
|
* Scafacos: Sort out conditional compilation and cython includes
|
||||||
|
* Scafacos: methods shared between electrostatics and dipolar calculations
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Nov 8 21:57:37 UTC 2015 - p.drouand@gmail.com
|
||||||
|
|
||||||
|
- Update to version 3.3.1
|
||||||
|
* A lot of changes; please read the NEWS file
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 12 03:44:16 UTC 2014 - junghans@votca.org
|
||||||
|
|
||||||
|
- version bumped to 3.3.0
|
||||||
|
- Highlights of this release include:
|
||||||
|
- Calculation of the electrokinetic equations via the ELECTROKINETICS feature,
|
||||||
|
- the Shan/Chen method for multi component lattice Boltzmann fluids,
|
||||||
|
- the P3M and MMM1D methods can now be computed on a GPU,
|
||||||
|
- ESPResSo now has a rudimentary Python interface.
|
||||||
|
For a complete list of the changes in the release, please refer to:
|
||||||
|
http://download.savannah.gnu.org/releases/espressomd/NEWS
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 7 17:41:18 UTC 2014 - junghans@votca.org
|
||||||
|
|
||||||
|
- build openmpi and non-mpi version
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 4 18:59:10 UTC 2014 - junghans@votca.org
|
||||||
|
|
||||||
|
- initial commit
|
||||||
|
|
111
python3-espressomd.spec
Normal file
111
python3-espressomd.spec
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
#
|
||||||
|
# spec file for package python3-espressomd
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
# Copyright (c) 2014 Christoph Junghans
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Build with OpenMPI
|
||||||
|
%define mpiver openmpi4
|
||||||
|
%define pkgname espresso
|
||||||
|
%define modname %{pkgname}md
|
||||||
|
Name: python3-%{modname}
|
||||||
|
Version: 4.2.2
|
||||||
|
Release: 0
|
||||||
|
Summary: Parallel simulation software for soft matter research
|
||||||
|
License: GPL-3.0-or-later
|
||||||
|
URL: http://espressomd.org
|
||||||
|
Source: https://github.com/%{modname}/%{pkgname}/releases/download/%{version}/%{pkgname}-%{version}.tar.gz
|
||||||
|
# PATCH-FIX-UPSTREAM numpy.patch gh#espressomd/espresso#4992
|
||||||
|
Patch0: numpy.patch
|
||||||
|
# PATCH-FIX-UPSTREAM cmake.patch gh#espressomd/espresso#4992
|
||||||
|
Patch1: cmake.patch
|
||||||
|
# According to gh#espressomd/espresso#4537 32bit architectures are not supported any more
|
||||||
|
ExcludeArch: %{ix86} armv7l
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: fftw3-devel
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
# Currently libboost_mpi-devel and hdf5 use different mpi versions
|
||||||
|
# BuildRequires: hdf5-devel
|
||||||
|
BuildRequires: %{mpiver}-devel
|
||||||
|
BuildRequires: chrpath
|
||||||
|
BuildRequires: gsl-devel
|
||||||
|
BuildRequires: hdf5-%{mpiver}-devel
|
||||||
|
BuildRequires: libboost_filesystem-devel
|
||||||
|
BuildRequires: libboost_mpi-devel
|
||||||
|
BuildRequires: libboost_system-devel
|
||||||
|
BuildRequires: libboost_test-devel
|
||||||
|
BuildRequires: python3-Cython < 3.0.10
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-h5py
|
||||||
|
BuildRequires: python3-numpy-devel
|
||||||
|
BuildRequires: python3-scipy
|
||||||
|
BuildRequires: python3-setuptools
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
Provides: libEspresso4 = %{version}-%{release}
|
||||||
|
Obsoletes: libEspresso4 < 4.1
|
||||||
|
Requires: python3-h5py
|
||||||
|
Requires: python3-numpy
|
||||||
|
# make sure rpm pulls in the right dependency
|
||||||
|
Requires: libhdf5-%{mpiver}
|
||||||
|
|
||||||
|
%description
|
||||||
|
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.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n %{pkgname}
|
||||||
|
# Fix shebang line for pypresso
|
||||||
|
sed -i -E '1s@^#!/usr/bin/env[[:blank:]]+sh@#!/bin/sh@' src/python/pypresso.cmakein
|
||||||
|
# skip mpiio test - it fails if inwoked with cmake, direct run with python3 -m unittest pass
|
||||||
|
sed -i '/mpiio\.py/d' testsuite/python/CMakeLists.txt
|
||||||
|
|
||||||
|
%build
|
||||||
|
source %{_libdir}/mpi/gcc/%{mpiver}/bin/mpivars.sh
|
||||||
|
# gh#espressomd/espresso#3396
|
||||||
|
%define _lto_cflags %{nil}
|
||||||
|
|
||||||
|
#force usage of shared hdf5
|
||||||
|
export HDF5_USE_SHLIB=yes
|
||||||
|
# overwrite .so linker flags on SUSE distros: drop --no-undefined
|
||||||
|
# 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' \
|
||||||
|
-DCMAKE_SKIP_RPATH=ON \
|
||||||
|
-DLIBDIR=%{_libdir} \
|
||||||
|
-DPYTHON_EXECUTABLE=%{_bindir}/python3 \
|
||||||
|
-DPYTHON_INSTDIR=%{python3_sitearch} \
|
||||||
|
-DINSTALL_PYPRESSO=ON
|
||||||
|
%make_jobs
|
||||||
|
|
||||||
|
%install
|
||||||
|
%cmake_install
|
||||||
|
find %{buildroot}%{python3_sitearch} -name \*.so \
|
||||||
|
-exec chrpath -r %{python3_sitearch} '{}' \;
|
||||||
|
|
||||||
|
%check
|
||||||
|
LD_LIBRARY_PATH='%{buildroot}/%{python3_sitearch}/espressomd::%{_libdir}/mpi/gcc/%{mpiver}/%{_lib}' make -C build check CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING
|
||||||
|
%doc Readme.md AUTHORS NEWS ChangeLog
|
||||||
|
%{_bindir}/pypresso
|
||||||
|
%{python3_sitearch}/espressomd
|
||||||
|
|
||||||
|
%changelog
|
Loading…
Reference in New Issue
Block a user