-
Notifications
You must be signed in to change notification settings - Fork 70
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
More robust mesh generation #234
Conversation
krober10nd
commented
Jun 26, 2021
- This PR slightly modifies the logic inside the mesh generator with the hope to make it more robust.
- If the mean mesh quality decreases more than 10% between consecutive mesh generation iterations, then the generator will use the previous points from the past iteration with the higher quality and then skip the current iteration; essentially trying again.
- If this situation happens, then in addition to the above logic, the frequency of mesh improvement cycles will delay by 10 iterations in order too give the mesh generator more time to stabilize.
Couple of thoughts:
Based on these thoughts why don't we just assess the change in quality after a "mesh improvement" plus one standard iteration? Then if the quality was 10% worse than before the mesh improvement just go back to that iteration, skipping the "mesh improvement". One implementation idea would be to make an array of iteration counts where we do "mesh improvements" before the iteration loop: so |
I think it makes sense to check only after a mesh improvement step since that’s when the issue occurs primarily. The drop outs in quality in some recent cases were pretty severe so maybe we could increase the threshold test to a higher value. I don’t have a case that fails to test it unfortunately yet |
* only potentially rewind after a mesh improvement iteration.
* Check if significant reduction in points after mesh improvement cycle and rewind then too.
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.
I ran the test suite they ran fine. The changes do not affect the tests (rewind never triggered) so hopefully this change will only affect things in cases where it should.
Did any of examples trigger the rewind? |
No, none of the examples triggered it but I tested the rewind in some of them by removing the logic used to trigger it. It worked in Christopher Goody's example when the initial point set was distant in density from the edgefx field. |