Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.2.1rc #4611

Merged
merged 51 commits into from
Apr 17, 2023
Merged

4.2.1rc #4611

merged 51 commits into from
Apr 17, 2023

Conversation

jngrad
Copy link
Member

@jngrad jngrad commented Nov 25, 2022

4.2.1 bugfix release.

kodiakhq bot and others added 14 commits November 25, 2022 18:52
Description of changes:
- use new codecov uploader; the bash uploader will be retired soon
Fix all non-standard LaTeX macros in mathematical formula. KaTeX
is used by VS Code Jupyter, both in the desktop and web versions.
Description of changes:
- fix particle double-counting bug in the structure factor analysis code
- fix distance calculation bug in the particle distribution analysis code when `r_max > np.sum(system.box_l)`
- remove unused v_kappa analysis code
…ticles (espressomd#4548)

Fixes espressomd#4547 

Probably a copy paste error in the original code
This PR adds explicit [permissions section](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions) to workflows. This is a security best practice because by default workflows run with [extended set of permissions](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token) (except from `on: pull_request` [from external forks](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)). By specifying any permission explicitly all others are set to none. By using the principle of least privilege the damage a compromised workflow can do (because of an [injection](https://securitylab.github.com/research/github-actions-untrusted-input/) or compromised third party tool or action) is restricted.
It is recommended to have [most strict permissions on the top level](https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions) and grant write permissions on [job level](https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs) case by case.
Description of changes:
- check that LB profile observables work in parallel
- remove outdated warning in the user guide that mentioned they could not run in parallel
Description of changes:
- remove excessive text in intro/theory part
- add streamline plot from matplotlib to replace paraview-image
- use the correct dipole for this type of swimmer (flow field curl must have 4 local extrema)
Description of changes:
- track particles with default-constructed type 0 (fixes espressomd#4588)
- restore the original particle velocity when a Monte Carlo displacement move is rejected (fixes espressomd#4587)
Description of changes:
- fix Clang 14 compiler support
- fix AppleClang 14 compiler support
Description of changes:
- clear up ambiguities in the tutorials
Description of changes:
- fix multiple compiler diagnostics
Description of changes:
- properly set unit test environment variables related to sanitizers
- address Open MPI version 4.x singleton mode bug on NUMA architectures
   - disable MCA binding policy on unit tests running in singleton mode on affected NUMA architectures
   - print a warning in pypresso when running in singleton mode on affected NUMA architectures (can be disabled with a CMake option)
@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@jngrad jngrad force-pushed the 4.2.1rc branch 2 times, most recently from 13e4cd4 to dec7775 Compare December 23, 2022 19:25
jngrad and others added 10 commits December 23, 2022 22:07
Description of changes:
- use modern CMake and enable ccache for CUDA files
- document all CMake options of the ESPResSo project
- fix regressions in the python documentation that will become errors in future Sphinx and autopep versions
The test case re-uses the reaction_ensemble_complex_reaction.py sample.

Co-authored-by: Jonas Landsgesell <[email protected]>
Fixes espressomd#4595

Description of changes:
- Reaction methods now rebuild the list of free particle ids every time `ReactionAlgorithm::do_reaction()` and `WidomInsertion::calculate_particle_insertion_potential_energy()` are called
- Added a new test that checks that the reaction methods do the bookkeeping of empty ids by setting up two different instances of the reaction methods (constant pH and Widom insertion) with competing reactions.

I benchmarked my implementation against the current python branch using the `mc_acid_base_reservoir.py` script and I get the following timings: 1.564e-04 (my PR) vs  1.473e-04 (current python branch). That means that my implementation comes with a 6% performance loss in its current state.
Under specific circumstances one might have to override the cutoff check for virtual sites.

E.g. on `n>1` cores, when using the hybrid decomposition scheme to simulate a large virtual sites rigid object such as a large raspberry particle, the `min_global_cut` necessary to set up said object becomes quite large. Say the raspberry is surrounded by lots of small particles, e.g. a polymer suspension, which are put in the regular child decomposition of the `HybridDecomposition` cell system, the resulting minimum cell size of the regular cell decomposition is limited by this large `min_global_cut` -- even if the raspberry central particle resides in the N-square child decomposition, where it already interacts with all particles making the `min_global_cut` requirement superfluous. However, one forfeits the possible computational advantage of the hybrid decomposition.
Fixes espressomd#4622

Description of changes:
- the `System.part.pairs()` method now returns the correct particle pairs when particle ids aren't both contiguous and starting from 0
Fixes espressomd#4632, fixes espressomd#4634, fixes espressomd#4636

Description of changes:
- remove deprecated numpy options in the observable tests
Description of changes:
- Bump all GitHub Actions dependencies to remove deprecation warnings about Node.js 12
- Update installation instructions to rely on `requirements.txt` when installing Python dependencies
Fixes espressomd#4633

Release 4.2.0 introduced a regression that causes checkpoint files to overwrite the particle quaternion/director by a unit vector pointing along the z direction, when the `DIPOLES` feature is part of the myconfig file. This leads to incorrect trajectories when reloading a simulation from a checkpoint file, if the particle director plays a role in the simulation (ex: relative virtual sites, Gay-Berne potential, anisotropic particles, active particles, etc.). Since the default myconfig file contains `DIPOLES`, most ESPResSo users are affected.

Description of changes:
- write new checkpointing logic to avoid overwriting the particle director with the particle dipole moment
- add checks to verify particle properties are correctly reloaded from a checkpoint file
- fix regressions in the checkpointing tests
Description of changes:
- improve unit testing of core functionality: P3M, MMM1D, OIF, virtual sites, script interface factory
- remove unreachable code and factor out code duplication
- convert exceptions that are unreachable from the public interface by assertions
- improve Sphinx and Doxygen documentation
Fixes espressomd#4644
Fixes espressomd#4645

Description of changes:
- bugfix: the type map is now properly updated when clearing particles
- add missing feature guards in the testsuite
- add subtests to provide more context when a test fails
The bond length is no longer misinterpreted as a bond id
(fixes bug introduced by a48ed7c).

Fixes espressomd#4652

Description of changes:
- the feature now works with non-contiguous particle ids
- the feature no longer adds spurious exclusions to particle ids in the range `[1, distance]`
- completely rewrite the test case to check all topologies and regular decompositions
@jngrad jngrad force-pushed the 4.2.1rc branch 2 times, most recently from bc2894c to 5ddb19d Compare March 2, 2023 19:27
kodiakhq bot and others added 9 commits March 2, 2023 20:29
Description of changes:
- Replace file copy option that was deprecated in Boost 1.81
Fixes espressomd#4651

Description of changes:
- use cloud providers to fetch JavaScript dependencies
- cleanup test cases involved in the tutorial toolchain
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.4.5 to 6.5.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jupyter/nbconvert/releases">nbconvert's releases</a>.</em></p>
<blockquote>
<h2>Release 6.5.1</h2>
<p>No release notes provided.</p>
<h2>6.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Drop dependency on testpath. by <a href="https://github.com/anntzer"><code>@​anntzer</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1723">jupyter/nbconvert#1723</a></li>
<li>Adopt pre-commit by <a href="https://github.com/blink1073"><code>@​blink1073</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1744">jupyter/nbconvert#1744</a></li>
<li>Add pytest settings and handle warnings by <a href="https://github.com/blink1073"><code>@​blink1073</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1745">jupyter/nbconvert#1745</a></li>
<li>Apply Autoformatters by <a href="https://github.com/blink1073"><code>@​blink1073</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1746">jupyter/nbconvert#1746</a></li>
<li>Add git-blame-ignore-revs by <a href="https://github.com/blink1073"><code>@​blink1073</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1748">jupyter/nbconvert#1748</a></li>
<li>Update flake8 config by <a href="https://github.com/blink1073"><code>@​blink1073</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1749">jupyter/nbconvert#1749</a></li>
<li>support bleach 5, add packaging and tinycss2 dependencies by <a href="https://github.com/bollwyvl"><code>@​bollwyvl</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1755">jupyter/nbconvert#1755</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1752">jupyter/nbconvert#1752</a></li>
<li>update cli example by <a href="https://github.com/leahecole"><code>@​leahecole</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1753">jupyter/nbconvert#1753</a></li>
<li>Clean up pre-commit by <a href="https://github.com/blink1073"><code>@​blink1073</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1757">jupyter/nbconvert#1757</a></li>
<li>Clean up workflows by <a href="https://github.com/blink1073"><code>@​blink1073</code></a> in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1750">jupyter/nbconvert#1750</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a> made their first contribution in <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1752">jupyter/nbconvert#1752</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/jupyter/nbconvert/compare/6.4.5...6.5">https://github.com/jupyter/nbconvert/compare/6.4.5...6.5</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md">nbconvert's changelog</a>.</em></p>
<blockquote>
<h1>Changes in nbconvert</h1>
<!-- raw HTML omitted -->
<h2>7.2.8</h2>
<p>(<a href="https://github.com/jupyter/nbconvert/compare/v7.2.7...73f7b1b93a4526d7e9d987f5a5b207eaed8171f2">Full Changelog</a>)</p>
<h3>Bugs fixed</h3>
<ul>
<li>always pass relax_add_props=True when validating <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1936">#1936</a> (<a href="https://github.com/minrk"><code>@​minrk</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Update codecov link <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1935">#1935</a> (<a href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
<li>Fix types and add lint to automerge <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1932">#1932</a> (<a href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
<li>Add type checking <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1930">#1930</a> (<a href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
<li>Add spelling and docstring enforcement <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1929">#1929</a> (<a href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
<li>Add scheduled ci run <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1926">#1926</a> (<a href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a href="https://github.com/jupyter/nbconvert/graphs/contributors?from=2022-12-19&amp;to=2023-01-16&amp;type=c">GitHub contributors page for this release</a>)</p>
<p><a href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ablink1073+updated%3A2022-12-19..2023-01-16&amp;type=Issues"><code>@​blink1073</code></a> | <a href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amaartenbreddels+updated%3A2022-12-19..2023-01-16&amp;type=Issues"><code>@​maartenbreddels</code></a> | <a href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AmartinRenou+updated%3A2022-12-19..2023-01-16&amp;type=Issues"><code>@​martinRenou</code></a> | <a href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2022-12-19..2023-01-16&amp;type=Issues"><code>@​minrk</code></a> | <a href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Apre-commit-ci+updated%3A2022-12-19..2023-01-16&amp;type=Issues"><code>@​pre-commit-ci</code></a></p>
<!-- raw HTML omitted -->
<h2>7.2.7</h2>
<p>(<a href="https://github.com/jupyter/nbconvert/compare/v7.2.6...a32c3c1063e081d7e639b7f1670788d220b93810">Full Changelog</a>)</p>
<h3>Bugs fixed</h3>
<ul>
<li>Fix Hanging Tests on Linux <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1924">#1924</a> (<a href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Adopt ruff and handle lint <a href="https://github-redirect.dependabot.com/jupyter/nbconvert/pull/1925">#1925</a> (<a href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a href="https://github.com/jupyter/nbconvert/graphs/contributors?from=2022-12-05&amp;to=2022-12-19&amp;type=c">GitHub contributors page for this release</a>)</p>
<p><a href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ablink1073+updated%3A2022-12-05..2022-12-19&amp;type=Issues"><code>@​blink1073</code></a> | <a href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Apre-commit-ci+updated%3A2022-12-05..2022-12-19&amp;type=Issues"><code>@​pre-commit-ci</code></a></p>
<h2>7.2.6</h2>
<p>(<a href="https://github.com/jupyter/nbconvert/compare/v7.2.5...788dd3c4de1b6333e807250d0f33b59b80d5b202">Full Changelog</a>)</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/jupyter/nbconvert/commit/7471b75a506b2fec776613e50e4f2234b97f3c8e"><code>7471b75</code></a> Release 6.5.1</li>
<li><a href="https://github.com/jupyter/nbconvert/commit/c1943e0e9fd0ad6abd7d8dae380474cca4b04a31"><code>c1943e0</code></a> Fix pre-commit</li>
<li><a href="https://github.com/jupyter/nbconvert/commit/8685e9378086e8d82a0df92505fe386095f929ad"><code>8685e93</code></a> Fix tests</li>
<li><a href="https://github.com/jupyter/nbconvert/commit/0abf2906bc6c7170c8d70bc0df6995d21c5aeaf1"><code>0abf290</code></a> Run black and prettier</li>
<li><a href="https://github.com/jupyter/nbconvert/commit/418d545ae596d95f5ea82d141c68fd1abc99f1a6"><code>418d545</code></a> Run test on 6.x branch</li>
<li><a href="https://github.com/jupyter/nbconvert/commit/bef65d7ab2a469b01e4aa25f44c0f20326f7c7c5"><code>bef65d7</code></a> Convert input to string prior to escape HTML</li>
<li><a href="https://github.com/jupyter/nbconvert/commit/0818628718c4a5d3ddd671fbd4881bf176e7d6e2"><code>0818628</code></a> Check input type before escaping</li>
<li><a href="https://github.com/jupyter/nbconvert/commit/b206470f9ecd71b006a37dd1298dd3d9e3dd46dd"><code>b206470</code></a> GHSL-2021-1017, GHSL-2021-1020, GHSL-2021-1021</li>
<li><a href="https://github.com/jupyter/nbconvert/commit/a03cbb8a8d04d47aefec51e7b1b816045682aed5"><code>a03cbb8</code></a> GHSL-2021-1026, GHSL-2021-1025</li>
<li><a href="https://github.com/jupyter/nbconvert/commit/48fe71eb3335caf4e03166e56e0d16efcfbeaf44"><code>48fe71e</code></a> GHSL-2021-1024</li>
<li>Additional commits viewable in <a href="https://github.com/jupyter/nbconvert/compare/6.4.5...6.5.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nbconvert&package-manager=pip&previous-version=6.4.5&new-version=6.5.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/espressomd/espresso/network/alerts).

</details>
Fixes espressomd#4673 

Description of changes:
- Convert `dict_keys` to list before trying to concatenate with a list
…4677)

Fixes espressomd#4657 

Description of changes:
- explain which factors affect reproducibility in checkpointed simulations in the user guide
- re-purpose the save/load samples to help measuring force jumps during checkpointing
- make the P3M family of algorithms more deterministic by avoiding re-tuning during checkpointing
- improve docstrings of the MMM1D family of algorithms
Description of changes:
- removed sanity checks preventing hybrid decomposition from being used with P3M/Dipolar P3M on a single MPI node
- added tests to ensure forces/energies of the hybrid decomposition with P3M are equal to those calculated using the regular decomposition
Description of changes:
- particles can no longer be created or updated with a negative mass or a null mass
kodiakhq bot and others added 12 commits March 10, 2023 21:26
Description of changes:
- add citations for reaction methods
- clarify definition of temperature in the LJ tutorial
- backport documentation improvements from the walberla branch
…4683)

Partially fixes espressomd#4667

Description of changes:
- Fix operator transformation
- Add unit test
Closes espressomd#4663

Description of changes:
- the `*_arrows_type_materials` options of the visualizer now have an effect on arrow materials
- the visualizer `freeglut` dependency has been added to the user guide
- issues with the exception handling mechanism have been addressed
- undefined behavior in OpenMPI triggered by the visualizer (espressomd#4663) now has a workaround for simulations that use only 1 MPI rank
Fixes espressomd#4667 

Description of changes:
- Apply body-to-space-transformation to noise term

Notes: 
- We need the same level of testing also for the rotational thermostats
- The whole friction-and-noise force-calculation should be abstracted so it can be used by LB aswell
Description of changes:
- always check for the presence of GLE functions before invoking them
* Remove the less-than-transparent shifting logic which prevents posiiton folding of vs relative. this is no longer needed, since we now use minimum_image_distance everywhere.
* Apply Lees Edwards position shift to VS on update
* Always fold shear plane normal coordinates in Lees Edwards minimum image distance
Fixes espressomd#4689

Description of changes:
- disable cluster analysis methods when Lees-Edwards boundary conditions are used
- document caveats from chain analysis methods
- cleanup doxygen and comment blocks
Fixes espressomd#4703

Description of changes:
- bugfix: virtual sites relative are now properly folded again (the regression was introduced by espressomd#4564)
- bugfix: uninitialized virtual sites now throw a runtime error instead of implicitly tracking the particle with pid=0
- write more thorough tests for virtual sites relative: integration through periodic boundaries, checkpointing
This test regularly fails on aarch64 and x86_64 architectures.
Fixes espressomd#4537

Description of changes:
- use proper integral sizes
- remove unused code
Description of changes:
- adjust test tolerances for architectures that don't have double extended precision, e.g. ARM
- add sanity checks in chain analysis functions and handle the corner case `number_of_chains=1`
- re-enable support for fast-math mode
@jngrad jngrad merged commit 75a2173 into espressomd:4.2 Apr 17, 2023
@jngrad jngrad deleted the 4.2.1rc branch April 17, 2023 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant