3D MultiGrid Lattice in in Palabos

Dear all,
I am currently working on a 3D Jet simulation with refinement, and for this I have modified the gridRefinement3D example of the Palabos showcases folder.

This example applies the refinement with a .dat input that associates a “1” where the refinement should be maximum and a “0” where the refinement should be minimum. To implement this, the code creates a MultiDomain where each Domain has a single refinement. Therefore, in the end, the refinement is formed by blocks with homogeneous refinement (within each block).

On the other hand, the gridRefinement2D example allows the user to create a multigrid with the palabos class “MultiGridGenerator2D” class template. Thanks to this, it is possible to create more complex refinement shapes (with curves) or create a refinement without the need of dividing the domain.

For my project, it would be better this last option, but I don’t know if at the moment it is possible to create a 3D MultiGrid Lattice. Is it possible to make a 3D MultriGrid Lattice in the current version of Palabos?

1 Like

Hello !

There exists the 3D equivalent with the class MultiGridLattice3D : https://unigespc.gitlab.io/palabos/docs/html/dc/dc5/classplb_1_1_multi_grid_lattice3_d.html
but for a reason that I ignore (and I would be interested to know why) it is recommanded to use the octree-based refinement.

I tried personnaly to implement this 3D multi grid lattice in the example generalExternalFlow but I got an error that I do not understand in a function I haven’t modify…

But I agree with you for my project it is also more convenient to use a 3D MultiGrid and not the Octree one.

1 Like

Thank you very much for your response!
I was aware of the existence of the class “MultiGridLattice3D”. There also exist “multiGridGenerator3D.h” and “multiGridGenerator3D.hh” Files.

However, there is not a class template “multiGridGenerator3D”. Therefore, I don’t really know how to create a “MultiGridLattice3D” without the “multiGridGenerator3D” class template. The process used in the “gridRefinement2D” is possible thanks to the existence of the “multiGridGenerator2D” class template.
¿Do you have any idea of how could this be achieved using the “multiGridGenerator3D.h” and “multiGridGenerator3D.hh” Files?

In fact there is a constructor of MultiGridLattice3D in multiGridLattice3D.hh and it calls the function generateLattices that is contained in multiGridGenerator3D.hh so there is a link between both.
But personally this is where I got an error (more particularly in the function getMultiCellAccess) so if you succeed I would be interested in seeing how !