-
Notifications
You must be signed in to change notification settings - Fork 48
Added highly stable BCs to handle curved stationary and moving boundaries. #129
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: main
Are you sure you want to change the base?
Conversation
Thanks for the PR. @hsalehipour Salehipour I have started looking at the code. Before I put detailed comments, let's start with a couple of things that I think look structurally odd:
Do we really need all of these? Can you retain only the most robust one for this BC? I understand these were implemented during BC development, but I don’t think we need to keep them all unless there’s a clear justification and example illustrating the necessity of each. Otherwise, it just makes the library more confusing for users. |
@hsalehipour Notes from our conversation: It would be nice to receive a single "distances" buffer instead of f_1, f_0 (but with the same cardinality) and use that in the kernels. In practice this will be one of the buffers such as f_1, but the function itself is not only useful for two pop examples. |
a800fb0
to
26d1411
Compare
Considering all these comments, I improved the mesh masker substantially. Please take another look |
26d1411
to
153e16a
Compare
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 added the comments. Lots of changes needed. Please let me know when you're done.
@mehdiataei Thanks for the feedback which helped simplify and improve this PR. I tried to address all your comments. Please take another look. Once approved I will Squash and Merge to get a single commit in the main. |
Contributing Guidelines
Description
Added new hybrid methods to handle curved stationary and moving boundaries that proves to be highly stable at extremely high Reynolds numbers. This PR also adds 3 methods of voxelizing mesh files which may also return distance to the mesh. The mesh distance is used in hybridBC class and can be toggled on/off by the user when creating the BC objects.
Other notatble changes include:
Type of change
How Has This Been Tested?
Linting and Code Formatting
Make sure the code follows the project's linting and formatting standards. This project uses Ruff for linting.
To run Ruff, execute the following command from the root of the repository:
ruff check .