-
Notifications
You must be signed in to change notification settings - Fork 33
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
PABLO: Getting corner nodes along periodic boundaries #55
Comments
Hi Maxime, Please note that, in your example, you don't need to set as periodic all the boundary sides of the domain, but when you declare a face as periodic ( e.g setPeriodic(1) ) the opposite face ( 0 ) is imposed as periodic automatically. Finally, I suggest you to consider to pass to the use of VolOctree class instead of work with PABLO module. The VolOctree module is a wrapper of PABLO octree but it can even interface with all the native container of bitpit; morevoer VolOctree class eases the mesh adapting with data defined on the mesh and allows to use the IO bitpit module with classes for VTK output. Thanks again. Edoardo |
Hi Edoardo, Thank you for your reply and for working on a fix :) As for VolOctree, we had an internal discussion and we are considering switching in the (near ?) future. Is switching from ParaTree to VolOctree easy (simple refactor of everything referring to ParaTree into VolOctree) or does it require a lot of work adaptation ? Besides that, just a quick question regarding VolOctree, when you say :
Do you mean the same problem I'm talking about in this issue or are you talking about periodicity in general ? |
Hi, just an additional point regarding, this, it seems that since balance21 is relying on findNeighbours (cf LocalTree), corner neighbours are not properly balanced along periodic boundaries as well. Here's an image of a test case i've run (Sedov Blast in 2d, not centered). |
Hi Maxime, concerning the question on periodicity in VolOctree, I was talking about periodicity in general: we have to perform some tests and to identify functions and features that don't work properly with periodic conditions. Switching to VolOctree is not a simple refactor, some functions work in a different way and the involved containers are not always the same, but it should not be a huge effort. The operations are substantially the same, moreover VolOctree allows to use functions and information that ParaTree doesn't own (@andrea-iob can give you more details on it). Finally, you're right the 21-unbalanced behaviour through nodes on periodic boundaries is directly related to the wrong functioning of find neighbors functions. Thank you for your feedback. |
Hi Edoardo, Thanks for the swift response. I've just tested the branch and the test now gives the correct neighbours ! For the switching to VolOctree, we'll maybe do it in a future version of the code but it's not our immediate priority :) That'll let me the time to read the examples and see how everything works, but be sure I'll come back to bother you if I need some assistance in switching ! Thanks for your help ! |
Good! Thank you for your warning and useful assessments. |
Hi there !
We've been using PABLO for a couple of months to build a new CFD simulation code but I've run into a slight problem as of late.
When I'm trying to extract corner neighbours of a cell using (for example)
findNeighbours
withcodim=2
in 2D, the function will yield no result along periodic borders. Everything is ok inside the domain, the problem only arises at periodic boundaries.Here is a MWE to see the problem:
In this example, we have 4 cells. Trying to extract the corner nodes of the cells will give us only one result for each node (the one that is inside the domain), while we should have 4 neighbours for each cell.
I don't know if it's easy to fix for you. For the moment, I'm switching to using multiple calls to findNeighbours along faces, but this is not ideal. So if you have a better recommendation I'd be glad to hear it :)
Thanks in advance !
The text was updated successfully, but these errors were encountered: