Dear all,
I am new to using deal.II and have recently been focusing on learning the mesh_loop framework, which I understand is the recommended modern way to assemble matrices in deal.II.
I would like to ask for your advice regarding the integration of multigrid methods as preconditioners when using the mesh_loop framework. I have studied step-74 and step-16, and have been able to implement an IPDG method for solving the Poisson equation using mesh_loop on globally refined meshes.
However, I have encountered two key issues where I am uncertain:
When using global refinement, is it necessary to call
mg.set_edge_flux_matrices(mg_matrix_down, mg_matrix_up); in the solver, or can this step be omitted?
For adaptive refinement, I am unsure how to implement the code—specifically how to correctly define the CopyData and CopyFaceData structures and how to assemble mg_matrix_down and mg_matrix_up in the assemble_multigrid function.
I have looked into step-39 for guidance, but it uses the older loop function instead of mesh_loop, and I am unsure how to properly translate its approach into the mesh_loop context. I think it is two different ways to loop cells.
Best regards,
Haicheng