Boundary conditions besides Dirichlet BC for Multigrid

37 views
Skip to first unread message

yy.wayne

unread,
Dec 20, 2022, 8:44:42 PM12/20/22
to deal.II User Group
Hi guys, I have a question on setting the boundary constraints for mg_constrained_dofs object.
In many problems where the only boundary conditions(for AffineConstraints) are Dirichlet BC and hanging nodes, mg_constrained knows them by MGConstrainedDoFs::make_zero_boundary_constraints(the Dirichlet boundary id, not necessarily zero) and MGConstrainedDoFs::initialize(dof_handler)(the hanging nodes), respectively.
However, in case other BC like compute_normal_flux_constraints or compute_no_normal_flux_constraints exists, mg_constrained_dofs has no way to include it. Therefore the MGLevelObject mg_matrices is intrinsically different to global system_matrix. Then mg_matrices[0] cannot be a good approximation of coarsest grid. 
Is there some hint for such cases?

yy.wayne

unread,
Dec 20, 2022, 10:53:44 PM12/20/22
to deal.II User Group
An alternative choice is applying the boundary conditions weakly(during assemble). Will weakly implemented boundary condition behaves worse than explicitly through AffineConstraint class, when it's not Dirichlet BC?

Peter Munch

unread,
Dec 21, 2022, 2:37:12 AM12/21/22
to deal.II User Group
Hi Wayne,


Hope this helps!
Peter

yy.wayne

unread,
Dec 21, 2022, 2:43:57 AM12/21/22
to deal.II User Group
Wow that's wonderful.
Thank you Peter. You save me all the time.

Reply all
Reply to author
Forward
0 new messages