Fix f_check_interpolation_2D/3D returning only last edge's result#1215
Fix f_check_interpolation_2D/3D returning only last edge's result#1215sbryngelson wants to merge 1 commit intoMFlowCode:masterfrom
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
CodeAnt AI is reviewing your PR. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Nitpicks 🔍
|
|
CodeAnt AI finished reviewing your PR. |
There was a problem hiding this comment.
Pull request overview
Fixes incorrect interpolation decisions in f_check_interpolation_2D and f_check_interpolation_3D by preventing later loop iterations from overwriting a previously-detected .true. condition.
Changes:
- Return early from the 2D edge loop once any edge exceeds
cell_width. - Return early from the 3D triangle loop once any edge exceeds
cell_width.
|
In my last PR, I delete this subroutine entirely. You should probably just close this PR and wait for my update to come int to save the time on the compute resources. |
User description
Summary
f_check_interpolation_2Dandf_check_interpolation_3Dinm_model.fppwhich only returned the interpolation decision from the last edge/triangle in the loop, silently discarding earliertrueresults.Bug Details
Both subroutines loop over edges (2D) or triangles (3D), checking if any edge length exceeds the cell width. However, the
interpolateflag was unconditionally overwritten on every iteration:If edge 5 of 10 needs interpolation but the last edge doesn't, the function returns
.false., causing the caller to skip interpolation when it's needed. This can produce incorrect levelset fields for OBJ models where mesh resolution varies across the surface.Fix
Return early on the first edge that exceeds the cell width. Since
interpolateis initialized to.false.before the loop, only thetruecase needs handling.Test plan
🤖 Generated with Claude Code
CodeAnt-AI Description
Fix interpolation checks to correctly detect when any boundary edge/triangle needs interpolation
What Changed
Impact
✅ Fewer skipped interpolations for OBJ and imported meshes✅ Correct levelset shapes for non-uniform meshes✅ Fewer rendering/artifact errors at mesh boundaries💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.
Fixes #1219