Bug-fix p6est vertically and horizontally reset call backs + bug-fix in hanging faces with off-process owner#102
Merged
Conversation
amartinhuertas
commented
Jun 24, 2026
Member
- src/PXestTypeMethods.jl — major simplification/bug-fix of p6est callbacks
- p6est_vertically_adapt_reset_callbacks: removed complex per-tree/column bookkeeping state; simplified init_fn_callback to directly read user_data from forest.user_pointer using a flat current_layer counter, and write it directly to layer.p.user_data (no more q2_ptr indirection or @Assert)
- p6est_horizontally_adapt_reset_callbacks: replaced per-tree/layer index tracking with a simpler previous_f/current_quadrant_index_among_trees approach, detecting new columns via f != previous_f instead of current_layer_within_column == 0
- src/FESpaces.jl — fix for hanging faces whose owner is off-processor
- Added _determine_fake_master_dof_id(V): returns -1 if there are Dirichlet dofs, otherwise 1, to provide a valid placeholder master dof for FESpaceWithLinearConstraints
- _generate_hanging_faces_owner_face_dofs: added fake_master_dof_id parameter; uses it instead of the hardcoded 1 when the owner face is not in the local partition
- Added debug log lines for nldof, cell gids, and dof gids in _add_constraints; fixed debug label typos (l2g_cell_gids → l2g_dof_gids, l2o_owner → l2o_dof_owner)
- test/runtests.jl
- PoissonAnisotropicOctreeModelsTests.jl: added np=2 to the test process counts (was [1,4], now [1,2,4])
…lbacks * p6est_vertically_adapt_reset_callbacks: removed complex per-tree/column bookkeeping state; simplified init_fn_callback to directly read user_data from forest.user_pointer using a flat current_layer counter, and write it directly to layer.p.user_data (no more q2_ptr indirection or @Assert) * p6est_horizontally_adapt_reset_callbacks: replaced per-tree/layer index tracking with a simpler previous_f/current_quadrant_index_among_trees approach, detecting new columns via f != previous_f instead of current_layer_within_column == 0 + src/FESpaces.jl — fix for hanging faces whose owner is off-processor * Added _determine_fake_master_dof_id(V): returns -1 if there are Dirichlet dofs, otherwise 1, to provide a valid placeholder master dof for FESpaceWithLinearConstraints * _generate_hanging_faces_owner_face_dofs: added fake_master_dof_id parameter; uses it instead of the hardcoded 1 when the owner face is not in the local partition * Added debug log lines for nldof, cell gids, and dof gids in _add_constraints; fixed debug label typos (l2g_cell_gids → l2g_dof_gids, l2o_owner → l2o_dof_owner) + test/runtests.jl * PoissonAnisotropicOctreeModelsTests.jl: added np=2 to the test process counts (was [1,4], now [1,2,4])
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.