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

Fix manifold copying on lines when converting hexes to tets. #13192

Merged
merged 3 commits into from Jan 10, 2022

Conversation

drwells
Copy link
Member

@drwells drwells commented Jan 7, 2022

Fixes #13040.

When we convert hexes to tets, we create three types of lines:

  1. lines inside the hex
  2. lines on the faces of the hex
  3. lines equal to the hex's lines

In the last case we need to copy the manifold and boundary data from the preexisting lines directly, since they may not be equal to the ids assigned to the adjacent face.

Here's a picture of the bug in action. The top cell gets assigned a flat manifold id along one edge from the flat face instead of the curved face, so refinement produces the wrong result:
visit0000

fixed version with this patch:
visit0001

@drwells
Copy link
Member Author

drwells commented Jan 7, 2022

/rebuild

@drwells drwells changed the title Fix manifold id simplex copy Fix manifold copying on lines when converting hexes to tets. Jan 7, 2022
@drwells drwells force-pushed the fix-manifold-id-simplex-copy branch from ab6c4cb to eba9538 Compare January 7, 2022 22:46
Copy link
Member

@bangerth bangerth left a comment

Choose a reason for hiding this comment

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

Just a couple of small issues.

source/grid/grid_generator.cc Outdated Show resolved Hide resolved
source/grid/grid_generator.cc Outdated Show resolved Hide resolved
source/grid/grid_generator.cc Outdated Show resolved Hide resolved
@bangerth
Copy link
Member

bangerth commented Jan 9, 2022

Maybe also a changelog entry?

When we convert hexes to tets, we create three types of lines:
1. lines inside the hex
2. lines on the faces of the hex
3. lines equal to the hex's lines

In the last case we need to copy the manifold and boundary data from the
preexisting lines directly, since they may not be equal to the ids assigned to
the adjacent face.
@drwells drwells force-pushed the fix-manifold-id-simplex-copy branch from eba9538 to bdf23d6 Compare January 9, 2022 17:43
@drwells
Copy link
Member Author

drwells commented Jan 9, 2022

Fixed!

@bangerth bangerth merged commit 33ecb3f into dealii:master Jan 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

weird manifold id settings when converting to simplices
2 participants