Conversation
Summary of ChangesHello @Yrisch, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the robustness and analytical capabilities of the gravity solver tests. It addresses an existing bug in the MASE test by refining its calculation and tightening its tolerance, ensuring more accurate and stringent evaluations. Furthermore, it introduces a sophisticated new testing framework that allows for detailed performance and precision comparisons between SFMM, FMM, and direct summation across a range of particle numbers and accuracy settings, providing valuable data for understanding the methods' characteristics. The changes also include internal mechanisms for controlling the gravity solver and random number generation, primarily to support these new testing features. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request addresses a MASE test fix and introduces a new routine to evaluate the precision and performance of SFMM and FMM against direct summation on a Plummer sphere. The changes involve refactoring the neighbor-finding logic to use a neigh_switch variable, making the random seed for Monte Carlo simulations configurable, and updating the MASE calculation. The new plot_SFMM and get_plummer_prec_perf subroutines provide valuable testing capabilities for the gravity solver.
src/tests/test_gravity.f90
Outdated
| fxyz_dir = fxyzu(1:3,1:npart) | ||
| fxyz_dir = fxyzu(1:3,1:npart) | ||
| fxyz_dir = fxyzu(1:3,1:npart) |
|
can this be merged? |
|
Looks fine to me! |
Description:
This PR fix the MASE test done in #774. It now follows what was actually done in NDSPMHD. It also adds a new routine in
test_gravity.f90that tests relative errors and performance of SFMM and FMM compared to direct sum on a plummer sphere with N particles varying between 10³ and 10⁶. A switch to toggle SFMM and FMM has been added for this purpose. However, the option is not shown in the infiles to stay with SFMM as the default.Components modified:
Type of change:
Testing:
Changed the mase tolerance. No new physics...
Did you run the bots? no
Did you update relevant documentation in the docs directory? no
Did you add comments such that the purpose of the code is understandable? yes