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

Edge-hanging corners in mesh #262

Merged

Conversation

hannesbrandt
Copy link
Collaborator

p4est_mesh: add corner neighbors across coarse edges

Following up on issue #244 and the test proposed by @scottaiton in #235.
We introduce a p4est_mesh_params_t that contains all mesh-creation parameters with the possibility to add further parameters in the future. The p4est_mesh_t now contains a p4est_mesh_params_t instance to store the parameters it was created with.
In 3D, we add a new edgehanging_corners flag to the set of parameters. When set to true, quadrants that are corner neighbors across a coarse edge are stored in the same format as all other corner-neighbor relations of the mesh. If set to false, the mesh is created as usual.
Furthermore, we add p4est_mesh_new_params which creates a mesh according to a passed p4est_mesh_params_t instance. A default parameter instance can be created with p4est_mesh_params_new and destroyed with p4est_mesh_params_destroy.
Apart from this, we remove a few unreachable lines of code in mesh_iter_edge and add some documentation in p4est_mesh.h. Especially, p4est_mesh_get_neighbors is now marked as outdated.

src/p4est_mesh.c Outdated Show resolved Hide resolved
src/p4est_mesh.c Outdated Show resolved Hide resolved
@cburstedde cburstedde merged commit 6a67ac8 into cburstedde:develop Dec 13, 2023
18 checks passed
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.

2 participants