Skip to content

Extended testcase for beond breakage with a random network#54

Open
bindgens1 wants to merge 65 commits into
RudolfWeeber:breaking_bondsfrom
bindgens1:breaking_bonds
Open

Extended testcase for beond breakage with a random network#54
bindgens1 wants to merge 65 commits into
RudolfWeeber:breaking_bondsfrom
bindgens1:breaking_bonds

Conversation

@bindgens1

Copy link
Copy Markdown

No description provided.

jngrad and others added 30 commits January 19, 2022 20:43
Fix shadowed global variables, use STL algorithms, remove
superfluous extern declarations, remove unused variables,
reduce scope of temporary variables.
Remove unused functions, arguments, struct members, local variables
and global variables (fixes all -Wunused-variable warnings and some
of the -Wunused-function and -Wunused-parameter warnings).
Macro names with leading underscores are protected.
ESPResSo feature guards only work when config.hpp is included.
Rename include guards to avoid leading underscores (triggers the
Clang-Tidy bugprone-reserved-identifier warning) and disambiguate
header files with similar names.
Make use of Utils::Vector3d::broadcast(), Vector comparison
operators and streaming method. Refactor IBM function. Fix
some of the -Wunused-parameter warnings and implicit float
conversions, including all -bugprone-narrowing-conversions.
Fix -modernize-return-braced-init-list and update list of
Clang-Tidy rules based on Clang 13.0.0.
Factor out code duplication, convert unreachable throw statements
to assertions and reduce branching in LB, ELC, MDLC, P3M and DP3M
code. Add test cases for actor exceptions.
Description of changes:
- improve code quality and compiler support
   - fix new compiler warnings revealed by GCC 12.0.0 and Clang 13.0.0
   - fix all compiler warnings that lead to build failures on Fedora 36 (effectively porting changes from [rpms/espresso#4](https://src.fedoraproject.org/rpms/espresso/pull-request/4#))
   - fix compiler and Clang-Tidy warnings `-Wmissing-brace`, `-Wunused-variable`, `-bugprone-narrowing-conversions`, `bugprone-reserved-identifier`, `-modernize-return-braced-init-list`
   - add support for CppCheck and fix most of its warnings
- improve testing
   - implement unfinished unit tests (revealed by `-Wunused-variable`)
   - register `es_math.py` in the test suite (was never executed in CI)
   - create additional script interface unit tests
Package distutils is deprecated in Python 3.10 and will be removed
in Python 3.12. The functionality was moved to package sysconfig.
Description of changes:
- CMake no longer prints a warning about deprecated package `distutils`
Also adapt the corresponding test to check a non-cubic box.
Check actor keys using set arithmetic. Move check logic to utils.
Make valid_keys() and required_keys() methods always return sets.
Description of changes:
- actors should check for parameter values, while `espressomd.utils` should check for parameter names and pretty-print error messages (single responsibility principle)
OpenMPI store the process id and other relevant information in a
folder named /tmp/ompi.hostname.userid, which is deleted when the
test ends. This leads to a race condition when multiple MPI tests
run in parallel. The folder name is now unique for each test.
kodiakhq Bot and others added 19 commits February 18, 2022 12:33
Fixes espressomd#4398

Description of changes:
- Converted the reaction methods Cython interface to a Python interface using the `ScriptInterface` framework
- Now reaction methods only take keyword arguments
- Adapted tutorials, samples, tests and benchmarks
- Fixed minor documentation issues
Fixes espressomd#4430 

Description of changes:
- introduce getters for particle proprties
- start rolling out, but keep old access compatible
Check multiple uses cases. Write files to a temporary directory to
guarantee test files are always cleaned up and that two MPI-IO tests
can safely run in parallel. Use a unique prefix derived from the test
name to avoid filename collisions (which are fatal errors in MPI-IO).
Check the MPI-IO exception mechanism on 1 MPI rank.
Return by value rather than by output argument, use
std::string instead of char pointers, remove macro.
Fix incorrect error messages. Improve doxygen blocks and Sphinx docs.
Factor code duplication. Wrap the error message inside the exception.
It is now possible to instantiate multiple Mpiio objects.
This is an API breaking change.
Partial fix for espressomd#4428

Description of changes:
- `CellStructureType` is now an `enum class`.
- Removed access to the cell system in several files by storing the information about the current `CellStructureType` in the global variable `LocalBox<double> local_geo`.
Use iterators and STL algorithms. Encapsulate MPI_Exscan logic.
Roll out new Particle member accessors. Fix -Wconversion warnings.
Description of changes:
- make `mpiio` class a fully-functional `ScriptInterface` class
   - API change: the python global variable `mpiio` was removed
- make MPI-IO fatal errors non-fatal and recoverable when only one MPI rank is used
- modernize MPI-IO code (STL, single-reponsibility principle, roll out `Particle` changes)
Test all conditional branches in the VerletCriterion.

Co-authored-by: Jean-Noël Grad <jgrad@icp.uni-stuttgart.de>
Fixes espressomd#4306 

Description of changes:
- Make VerletCriterion a class template
- Add unit test for VerletCriterion
@jngrad jngrad force-pushed the breaking_bonds branch 5 times, most recently from bf7d473 to cba87c1 Compare February 24, 2022 20:43
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.

7 participants