Skip to content

Bug-fix p6est vertically and horizontally reset call backs + bug-fix in hanging faces with off-process owner#102

Merged
amartinhuertas merged 1 commit into
mainfrom
fix_p6est_init_callbacks
Jun 24, 2026
Merged

Bug-fix p6est vertically and horizontally reset call backs + bug-fix in hanging faces with off-process owner#102
amartinhuertas merged 1 commit into
mainfrom
fix_p6est_init_callbacks

Conversation

@amartinhuertas

Copy link
Copy Markdown
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])
@amartinhuertas amartinhuertas merged commit 2ee9c35 into main Jun 24, 2026
2 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.

1 participant