Hej,

> One thing I'm confused is that why we use "make_hanging_node_constraints" 
and "interpolate_boundary_values" for a new constraints in solve_with_gmg 
in step-75, instead of the boundary_constraints as done in previous MG 
tutorials.

Your observation is correct. It is related to the fact that p-multigrid in 
deal.II uses the new global-coarsening infrastructure (it was introduced in 
release 7.3). In the other tutorials, the local-smoothing infrastructure is 
used. 

In a nutshell, the difference is that local smoothing is working on 
refinement levels, while global coarsening works on the complete active 
levels of multiple Triangulation/DoFHandler objects. In the case of 
h-multigrid, one works on multiple meshes, which are created by globally 
coarsening the finest mesh (this is the reason for the name "global 
coarsening"); in the case of p-multigrid, one would work with the same 
Triangulation but would distribute different FEs on different DoFHandler 
objects. Since you work on the active level, you can simple use the 
functions you would use if you don't work on refinement levels.

For more details see our publication: https://arxiv.org/abs/2203.12292

Hope this help,
Peter

On Wednesday, 5 October 2022 at 14:17:03 UTC+2 yy.wayne wrote:

> Hello sir,
>
> One thing I'm confused is that why we use "make_hanging_node_constraints" 
> and "interpolate_boundary_values" for a new constraints in solve_with_gmg 
> in step-75, instead of the boundary_constraints as done in previous MG 
> tutorials.
>
> 在2022年10月4日星期二 UTC+8 00:11:49<mafe...@gmail.com> 写道:
>
>> Hi!
>>
>> The "Possibilities for extensions" section of step-75 gives you a few 
>> hints on how to achieve p-multigrid preconditioning with matrix-based 
>> methods:
>>
>> https://www.dealii.org/current/doxygen/deal.II/step_75.html#Solvewithmatrixbasedmethods
>>
>> If you look for an example implementation, the "hpbox" tool demonstrates 
>> both matrix-based and matrix-free implementations of the p-multigrid method.
>> https://zenodo.org/record/6425947
>> https://github.com/marcfehling/hpbox/
>>
>> Best,
>> Marc
>>
>> On Monday, October 3, 2022 at 3:39:51 AM UTC-6 yy.wayne wrote:
>>
>>> Hello,
>>>
>>> I plan to test the converge of polynomial multigrid preconditioning on a 
>>> problem, with matrix-based framework. However, step-75 is a bit confusing 
>>> since I cannot clearly separate classses contributed by matrix-free and 
>>> p-multigrid. 
>>>
>>> Specifically, in step-16 (with MeshWorker) and step-56 (assemble 
>>> cell_matrix by hand) there are assemble_system() and assemble_multigrid(), 
>>> while in step-75 there are solve_system() which calls solve_with_gmg and 
>>> mg_solve. It is due to matrix-free or p-multigrid? By the way, is there a 
>>> code gallery for matrix-based polynomial-multigrid ? 
>>>
>>> Thanks
>>>
>>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/856696f6-57d6-48f9-8649-035d6d513553n%40googlegroups.com.

Reply via email to