Skip to content

Comments

Neighbourhood diagonal#76

Merged
TomMelt merged 62 commits intomainfrom
neighbourhood_diagonal
Feb 10, 2026
Merged

Neighbourhood diagonal#76
TomMelt merged 62 commits intomainfrom
neighbourhood_diagonal

Conversation

@niravshah241
Copy link

@niravshah241 niravshah241 commented Oct 20, 2025

Once the domain is divided across different MPI ranks, the rank corresponding to the neighbour of a given subdomain in a given direction needs to be identified. Currently the functionality is implemented to identify neighbours in TOP, RIGHT, BOTTOM and LEFT direction which share a common edge with the given subdomain. This Draft PR aims to add functionality to identify neighbours in TOP_RIGHT, BOTTOM_RIGHT, BOTTOM_LEFT and TOP_LEFT corners.

Specifically, the changes include:

This PR has merged the following PRs:

It now contains all the functionality required.

@TomMelt
Copy link
Contributor

TomMelt commented Oct 20, 2025

@niravshah241 thanks for drafting this PR. I know that it is draft stage but draft PRs still shouldn't contain CMake build files. Please remove these as discussed last meeting. Please only commit changes for relevant source files.

@niravshah241 niravshah241 self-assigned this Oct 23, 2025
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@niravshah241 as a rule, I would generally just remove this change. It's just formatting. Unless it's required by the linter (which I dont think it is).

…c neighbour tests in integration still need to be fixed, More tests test_3 and test_4 added for corner neighbours, test_1 and test_2 reference files updated to include details on corner neighbour
@niravshah241
Copy link
Author

niravshah241 commented Nov 7, 2025

Pending tasks:

  • Remove minor formatting related errors
  • Add one more test (say test_5) with overlap with other domain on top and bottom edge To be addressed as separately, if necessary
  • Rebasing this branch onto main
  • Change n,m to x,y in the tests
  • Add a comment to the nested functions saying something like, "this should only be called if is_neighbour is true
  • Periodic cases (PR Add periodic corner neighbours #77)
  • Add Link of Halo exchange logic
  • Unit test for is_corner_neighbour To be addressed as separately and not in this PR

* update tests to work with main branch
* update Partitioner to use new halo_send/recv approach for edges
niravshah241 and others added 26 commits February 10, 2026 20:17
…rt, is_neighbour, is_corner_neighbour public members (which were private members earlier)
remove neighbour check logic from domain_overlap

update comments in is_neighbour to reflect the changes

in Partitioner we still check the halo_size is non-zero but this will
always be true, so it is not a problem.
Co-authored-by: Joe Wallwork <22053413+joewallwork@users.noreply.github.com>
@TomMelt
Copy link
Contributor

TomMelt commented Feb 10, 2026

This PR has merged the following PRs:

It now contains all the functionality required.

Copy link
Contributor

@TomMelt TomMelt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All ready to go now.

@TomMelt TomMelt merged commit d54b4df into main Feb 10, 2026
3 checks passed
@TomMelt TomMelt deleted the neighbourhood_diagonal branch February 10, 2026 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants