-
Notifications
You must be signed in to change notification settings - Fork 321
Fmm prec plot #786
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
base: master
Are you sure you want to change the base?
Fmm prec plot #786
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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