Conversation
* Added code coverage analysis to CI. * Added status badges for CI (tests and code coverage). * Added a disclaimer to CONTRIBUTING.md and renamed the CMake variable to REACTIONS_ENABLE_COVERAGE * Switch to using lcov instead of gcovr * Split off example-based tests into a separate directory and executable to prevent contamination of coverage stats. * Fixed the link for the code coverage status badge in README.md and changed the rules for triggering CI-Workflow.
* Initial version of sphinx docs for interpolation (and trim-specific interpolation) * Split the interpolation docs between overview and developer-guide. Assorted minor corrections as well. * Replaced references to ranges to coords. * Minor changes * Removed device-code style convention for trim_grid_func_lambda in example_trim_interpolation.hpp --------- Co-authored-by: Stefan Mijin <stefan.mijin@ukaea.uk>
* Added doxygen API reference docs * Minor CI fix
* added truncated_maxwellian_sampler * working test before removing templating * removed ndim templating * removed stray comments, unused maxwellian sampler * fix clang precommit checks * renamed truncated_maxwellian_sampler to one_way_maxwellian_flux_sampler, optimised cardano cubic solver function a bit,removed stray comment * added one-way sampler sphinx documentation
* Compilation optimisations focussing on test_array_transform_data.cpp and test_examples.cpp * Compilation optimisation focussing on test_reaction_controller.cpp * Initial runtime library implementation * Consumer smoke test now checks all instantiations * Added ability to compile individual unit tests * Minor fix for dpcpp environment * Minor docs update * Squashed commit of the following: commit 7807d6b Author: gadgil48 <45665502+gadgil48@users.noreply.github.com> Date: Thu Jul 23 15:09:21 2026 +0100 Interpolation Sphinx docs (#236) * Initial version of sphinx docs for interpolation (and trim-specific interpolation) * Split the interpolation docs between overview and developer-guide. Assorted minor corrections as well. * Replaced references to ranges to coords. * Minor changes * Removed device-code style convention for trim_grid_func_lambda in example_trim_interpolation.hpp --------- Co-authored-by: Stefan Mijin <stefan.mijin@ukaea.uk> * Revert "Squashed commit of the following:" This reverts commit 6a525dc. * Eliminated common functors for examples * Removed test-side template instantiations (leftover from previous optimization attempt via runtime library-lite) * Expanded the number of template instantiations to get closer to closing the set of all possible instantiations. * Further expansion and re-ordering/re-grouping (for readability) * Minor bug fix and switch to spack_default for CI runs * Split non-template code into declaration/definition files (X.hpp and X_impl.hpp) and the definitions are included in the runtime library by default (they are inlined when building in header only mode). * Runtime library only compiles to shared object * Split `.cpp` files into `src` directory. Headers now live in `include` directory. Modified the documentation to have better separation between user-level and developer-level docs for runtime library details. * Split off the unit_tests-specific template instantiations. * Removed all variants for VANTAGE-Reactions except for `enable_tests` * Updated docs, removed residual header-only-specific additions * Fully split non-template code (and non-OnDevice code) into declaration/definition pattern ("*.hpp" and "*_impl.hpp" pairs). * Split up the source files (for the runtime library) to allow parallelisation. They're roughly split along grouping lines but in some case further splitting was needed to keep the compile-time memory footprint below ~1.6GB. * Slight optimisation in build process for unit tests. * Split up test/unit/instantiations.cpp into separate .cpp files to reduce per-job compile-time memory footprint and allow parallelisation * Split up test/unit/instantiations further and split up unit tests TUs such that no TU compilation takes more than ~2GB when build_type is RelWithDebInfo. * Fixed file naming inconsistencies * Minor docstring and sphinx docs updates * Changed the recipe for building test executables (now more closely aligned to NESO-Particles). Updated the docs to reflect this. * Removed the `tests` target when compiling unit tests. Removed some stale test-specific instantiations. * Restored the CartesianGridData instantiations. * Removed _impl.hpp files and merged into individual .cpp files (one per header where applicable) that contain both non-template definitions and template instantiations. * Update docs * Minor fix to re-enable neso_particles_test_assert after moving to runtime library. * Moved `extern template class` declarations into the headers where the original template class definitions live. Updated the docs to reflect that `extern_templates.hpp` doesn't exist now. * Split up one_way_maxwellian_flux_sampler to follow the .hpp/.cpp split pattern * Minor include fix in mock_interpolation_data.hpp * Added SOURCES to add_sycl_to_target to fix CMake warning when compiling with Intel dpcpp. * Fix for failing spack_cuda_nvcxx build. Switched to returning a fully defined std::array instead of the default constructed one in calc_data in one_way_maxwellian_flux_sampler.hpp.
* Compilation optimisations focussing on test_array_transform_data.cpp and test_examples.cpp * Compilation optimisation focussing on test_reaction_controller.cpp * Initial runtime library implementation * Consumer smoke test now checks all instantiations * Added ability to compile individual unit tests * Minor fix for dpcpp environment * Minor docs update * Squashed commit of the following: commit 7807d6b Author: gadgil48 <45665502+gadgil48@users.noreply.github.com> Date: Thu Jul 23 15:09:21 2026 +0100 Interpolation Sphinx docs (#236) * Initial version of sphinx docs for interpolation (and trim-specific interpolation) * Split the interpolation docs between overview and developer-guide. Assorted minor corrections as well. * Replaced references to ranges to coords. * Minor changes * Removed device-code style convention for trim_grid_func_lambda in example_trim_interpolation.hpp --------- Co-authored-by: Stefan Mijin <stefan.mijin@ukaea.uk> * Revert "Squashed commit of the following:" This reverts commit 6a525dc. * Eliminated common functors for examples * Removed test-side template instantiations (leftover from previous optimization attempt via runtime library-lite) * Expanded the number of template instantiations to get closer to closing the set of all possible instantiations. * Further expansion and re-ordering/re-grouping (for readability) * Minor bug fix and switch to spack_default for CI runs * Split non-template code into declaration/definition files (X.hpp and X_impl.hpp) and the definitions are included in the runtime library by default (they are inlined when building in header only mode). * Runtime library only compiles to shared object * Split `.cpp` files into `src` directory. Headers now live in `include` directory. Modified the documentation to have better separation between user-level and developer-level docs for runtime library details. * Split off the unit_tests-specific template instantiations. * Removed all variants for VANTAGE-Reactions except for `enable_tests` * Updated docs, removed residual header-only-specific additions * Fully split non-template code (and non-OnDevice code) into declaration/definition pattern ("*.hpp" and "*_impl.hpp" pairs). * Split up the source files (for the runtime library) to allow parallelisation. They're roughly split along grouping lines but in some case further splitting was needed to keep the compile-time memory footprint below ~1.6GB. * Slight optimisation in build process for unit tests. * Split up test/unit/instantiations.cpp into separate .cpp files to reduce per-job compile-time memory footprint and allow parallelisation * Split up test/unit/instantiations further and split up unit tests TUs such that no TU compilation takes more than ~2GB when build_type is RelWithDebInfo. * Fixed file naming inconsistencies * Minor docstring and sphinx docs updates * Changed the recipe for building test executables (now more closely aligned to NESO-Particles). Updated the docs to reflect this. * Removed the `tests` target when compiling unit tests. Removed some stale test-specific instantiations. * Restored the CartesianGridData instantiations. * Removed _impl.hpp files and merged into individual .cpp files (one per header where applicable) that contain both non-template definitions and template instantiations. * Update docs * Minor fix to re-enable neso_particles_test_assert after moving to runtime library. * Replaced `using namespace NESO::Particles;` with alias `NP::` for any symbols coming from neso-particles. * Moved helper functions in unit test files into their own headers under test/unit/include * Moved `extern template class` declarations into the headers where the original template class definitions live. Updated the docs to reflect that `extern_templates.hpp` doesn't exist now. * Split up one_way_maxwellian_flux_sampler to follow the .hpp/.cpp split pattern * Minor include fix in mock_interpolation_data.hpp * Added SOURCES to add_sycl_to_target to fix CMake warning when compiling with Intel dpcpp. * Fix for failing spack_cuda_nvcxx build. Switched to returning a fully defined std::array instead of the default constructed one in calc_data in one_way_maxwellian_flux_sampler.hpp. * Consolidated scattered includes (sometimes repeated 3 or 4 times transitively) into one test_common.hpp which is included in every file in test/unit that provides gtest/gtest.h, reactions/reactions.hpp and neso_particles.hpp. There's still some repetition via transitive includes but it's just that one include of test_common.hpp (no reactions.hpp here, neso_particles.hpp, there, neso_particles/typedefs.hpp in another place) * Changed a few stray NESO::Particles:: instances to NP:: . * Fixed some instances of `NP::` being used outside the `VANTAGE::Reactions::` namespace. * Added INT and REAL to VANTAGE-Reactions namespace to avoid usage of NP::INT, NP::REAL
* Corrected and updated docstrings * Added missing docstring for sample_positive_maxwellian. * Cleaned up some nomenclature around dimensions in the docstrings. * Update include/reactions_lib/reaction_data/spherical_basis_reflection_data.hpp Co-authored-by: Stefan Mijin <stefan.mijin@ukaea.uk> --------- Co-authored-by: Stefan Mijin <stefan.mijin@ukaea.uk>
…r (unit tests pass).
…g the new NP:: alias for names from neso-particles.
…ollision-cell additions.
…n where ReactionDataStorage is a member of AbstractReactionData which is still the base class). Split SWPMReaction into a SWPMReaction and SWPMReactionImpl with the same pattern as LinearReactionBase. More explicit template instantiations (some shipping and some just for the unit tests).
gadgil48
force-pushed
the
gadgil48/dev-collision_cell_manager_v0.2.0_update
branch
from
September 18, 2026 17:49
46fcdad to
d1aa6df
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update for v0.2.0 release
Spack Spec(s) Tested:
spack_default,spack_omp_accelerated,spack_generic,spack_intel_dpcpp,spack_cuda_llvm,spack_generic_cudaEnvironment details: Local machine, Cluster (for cuda environments)
Summary
Rebase to align better with the current v0.2.0 release.
Additional Context
The
spack_cuda_nvcxxfails to compileneso-particles(commit a32d2b2). With nvhpc@25.7 but the errors seem to be some complaints aboutnprint_innerintypedefs.hppat L255 but mostly HDF5 errors for hdf5@1.14.6 . Not sure yet whether there's a config issue in thespack.yamlfor the environment or if there's a mismatch between the (limited) external packages on the cluster.TODO:
CollisionCellManager