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