Skip to content

Overhaul facial adjacency + boundary tagging - #252

Merged
inducer merged 24 commits into
inducer:mainfrom
majosm:facial-adj-overhaul
Sep 22, 2021
Merged

Overhaul facial adjacency + boundary tagging#252
inducer merged 24 commits into
inducer:mainfrom
majosm:facial-adj-overhaul

Conversation

@majosm

@majosm majosm commented Jul 27, 2021

Copy link
Copy Markdown
Collaborator

This PR:

  1. Restructures Mesh's facial adjacency structure to allow multiple adjacency groups for each pair of mesh element groups. In other words, List[Dict[FacialAdjacencyGroup]] becomes List[List[FacialAdjacencyGroup]].
  2. Splits FacialAdjacencyGroup into InteriorAdjacencyGroup and BoundaryAdjacencyGroup subclasses (with InterPartitionAdjacencyGroup inheriting from BoundaryAdjacencyGroup).
  3. Splits boundary adjacency for different boundary tags into different groups.
  4. Splits inter-partition adjacency for different ranks into different groups.
  5. Removes boundary_tags/boundary_tag_bit from Mesh.
  6. Adds affine transformations to InteriorAdjacencyGroup/InterPartitionAdjacencyGroup.

This will almost certainly need to be split into multiple PRs, but I wanted to throw this up here first for CI + discussion.

(Probably incomprehensible unless read commit-by-commit.)

majosm added 5 commits July 22, 2021 14:42
not fully implemented for partition_mesh; need to be able to create
multiple nonlocal adjacency groups with distinct transformations
changed from a list of maps to a list of lists to allow multiple
adjacency groups per mesh group pair
splits single InterPartitionAdjacencyGroup into one per remote
neighbor group for each local mesh group
@majosm
majosm force-pushed the facial-adj-overhaul branch from 7450e0b to c7a51cb Compare July 27, 2021 20:24
@majosm

majosm commented Jul 27, 2021

Copy link
Copy Markdown
Collaborator Author

(Looks like I need to do a little more work on the BTAG_NONE/BTAG_ALL/BTAG_REALLY_ALL handling. Stay tuned. 🙂)

@majosm
majosm force-pushed the facial-adj-overhaul branch 5 times, most recently from 77a0fb9 to f2b6ac9 Compare July 29, 2021 21:36
@majosm
majosm marked this pull request as ready for review August 3, 2021 17:14
@majosm
majosm requested a review from inducer August 3, 2021 17:15
@majosm

majosm commented Aug 3, 2021

Copy link
Copy Markdown
Collaborator Author

Just looking for a review of the high-level overview in the OP to check if this seems reasonable (though feel free to take a glance through the code if you're feeling particularly adventurous. 🙂) After that I'll split this up into smaller pieces.

@inducer inducer left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thanks for working on this! Here's an initial review up to (but not including) 5cda667 ("remove unnecessary intermediate steps in partition_mesh")

Comment thread meshmode/mesh/processing.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/processing.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
@majosm
majosm force-pushed the facial-adj-overhaul branch 2 times, most recently from fdf3231 to 5732798 Compare August 31, 2021 19:20
@majosm
majosm force-pushed the facial-adj-overhaul branch 4 times, most recently from 0f75406 to bdfa920 Compare September 16, 2021 21:40
@majosm
majosm force-pushed the facial-adj-overhaul branch from bdfa920 to 9ddcde7 Compare September 16, 2021 21:45
@majosm
majosm requested a review from inducer September 17, 2021 20:19
@majosm

majosm commented Sep 17, 2021

Copy link
Copy Markdown
Collaborator Author

I think this is ready for another look @inducer.

Comment thread meshmode/mesh/processing.py Outdated
Comment thread meshmode/mesh/processing.py
Comment thread meshmode/mesh/processing.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py
Comment thread meshmode/mesh/__init__.py
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/tools.py
@majosm
majosm force-pushed the facial-adj-overhaul branch from 2740f2b to 4c62225 Compare September 21, 2021 19:40
@majosm
majosm requested a review from inducer September 21, 2021 20:59

@thomasgibson thomasgibson left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Some comments/touch-ups in places after reading through the changes. Thank you for spending the time doing all this!

Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py
Comment thread meshmode/mesh/__init__.py
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py Outdated
Comment thread meshmode/mesh/__init__.py
Comment thread meshmode/mesh/__init__.py
Comment thread meshmode/interop/firedrake/mesh.py
Comment thread meshmode/mesh/processing.py
Comment thread meshmode/mesh/processing.py
majosm and others added 2 commits September 22, 2021 16:19
Co-authored-by: Thomas H. Gibson <gibsonthomas1120@hotmail.com>
Co-authored-by: Thomas H. Gibson <gibsonthomas1120@hotmail.com>
@inducer

inducer commented Sep 22, 2021

Copy link
Copy Markdown
Owner

Thanks for working on this, and thanks @thomasgibson for taking a look!

@inducer
inducer enabled auto-merge (rebase) September 22, 2021 21:47
@inducer
inducer merged commit 67e146c into inducer:main Sep 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants