Skip to content
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

tripolar grid domain decomposition #43

Open
TomMelt opened this issue Aug 23, 2024 · 0 comments
Open

tripolar grid domain decomposition #43

TomMelt opened this issue Aug 23, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@TomMelt
Copy link
Contributor

TomMelt commented Aug 23, 2024

Decomposing a tripolar grid requires that the north polar split lies exactly along a domain boundary, this is due to the way the halos are shared between processors and how boundary conditions are essentially implemented using MPI.

Although not implemented yet anyway, one thing to consider is that for the tripolar grid you would need at least 2 processes (1 for each side of the boundary). Or, you would have to write custom logic for handling the boundary condition.

The way that Zoltan's RCB method splits the domain is by first bisecting the domain into two equal parts:

In RCB, the computational domain is first divided into two regions by a cutting plane orthogonal to one of the coordinate axes so that half the work load is in each of the sub-regions. The splitting direction is determined by computing in which coordinate direction the set of objects is most elongated, based upon the geometric locations of the objects.

But I think it is possible (although not tested) to force the direction using the option:

RCB_SET_DIRECTIONS = 0 = don't order cuts; 1 = xyz; 2 = xzy; 3 = yzx; 4 = yxz; 5 = zxy; 6 = zyx;

I think we can use either option 1 or 3. (Currently the code sets 1 as the default, but I think we want 3 for our standard setup).

_zoltan->Set_Param("RCB_SET_DIRECTIONS", "1");

@jwallwork23 jwallwork23 added the enhancement New feature or request label Oct 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants