Dear Martin,
Thanks for your reply, it helps me a lot indeed.
It takes me a bit of time to look the paper you provide(thanks much again).
I know that the preconditioner for specific problem is complicated, 
especially for matrix-free does not provide enough matrix information.
But I am still surprise and doubtful that the GMG which use the diagonal 
elements does not accelerate the solve in simple elastic equalibrium 
equation which 
A_ij = symmetric_gradient : Cijkl : symmetric_gradient
it takes more time that without preconditioner(PreconditionIdentity).
Yes, the couple Allen-Cahn and mechanics is more complicated,  I have tried 
that
1) assemble the whole system and use AMG to precondition and solve together.
2) use the strategy like schur complement with block matrix(operator), but 
in this case can't use AMG in schur complement as only provide the vmult().
As the couple system is time-dependent and nonlinear, so the matrix-free is 
so attractive because it donot need to assemble system matrix every newton 
step in each time step.
And I would try to understand the paper if need to construct a specific 
preconditioner or use couple/uncouple MG.
It seems that it can't use the strategy provided by the first paper within 
matrix-free?
Best,
m.
在 2019年11月15日星期五 UTC+8下午3:47:55,Martin Kronbichler写道:
>
> Dear m.,
>
> As you have already found out, the code in the Stokes example should do 
> what you need for computing the diagonal. Usually, the approach with 
> FEEvaluation::begin_dof_values() is slightly simpler than the approach with 
> the tensor you mentioned in the first email. We have computed vector-valued 
> problems with matrix-free, including multigrid preconditioners which 
> compute the diagonal in a similar way, so they do work.
>
> One thing I would recommend to do is to compare the diagonal you get with 
> the cell-by-cell approach with computing the global diagonal by applying 
> the operator globally on all unit vectors, i.e., outside the matrix-free 
> loop. This will only work up to a few 10s of thousands of vectors because 
> it is an n^2 operation and obviously the wrong choice for production runs, 
> but it is a useful debugging approach in case you do not know for sure 
> whether the interior things are set up correctly (well, constraints might 
> still possibly mess this up, but that is a different question).
>
> Regarding your last question:
>
>> is the Multigrid still work well in vector-valued problem? or in 
>> multi-physics couple problem? 
>> I want to use it to solve the couple equations(Allen-Cahn and mechanics 
>> equalibrium equations
>>
>
> This depends a lot on the equation. For coupled problems with non-trivial 
> coupling, the answer is generally "no, multigrid alone will not work out of 
> the box". But that is not specific to the implementation (e.g. whether 
> matrix-free or not) but due to the mathematics of the underlying equations 
> and multigrid convergence theory. In general, you can expect that simple 
> smoothers like Chebyshev will not like multiphysics component coupling, and 
> you need to address smoothing "by hand". What people do is to iterate 
> between the field in an appropriate way and use simple smoothers on each 
> component of the multiphysics problem, as e.g. described in the paper here: 
> https://www.sciencedirect.com/science/article/pii/S0045782516307575 . But 
> I would say that the field is still pretty ad hoc. Then, the next question 
> with Allan-Cahn is whether something like Chebyshev+point-Jacobi still 
> works well in the nonlinear case with the typical contrasts in the terms. 
> Maybe yes, maybe no. The consensus in the field is that for strongly 
> varying coefficients you need to either construct very specific smoothers, 
> or, more commonly, use operator-dependent level transfer operators that are 
> able to react to those case. AMG is supposed to handle some cases better 
> than GMG with naive transfer as we provide in deal.II - but AMG is far from 
> a black box. I have done work with Cahn-Hilliard, which involves a block 
> system of two components, and there you definitely do not want to simply 
> apply multigrid to the 2x2 block system as a whole, but use some algebraic 
> manipulations on the blocks with a basic preconditioner of some related 
> operator instead: 
> https://www.sciencedirect.com/science/article/pii/S0898122112004191 .
>
> I hope this helps.
>
> Best,
> Martin
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/7dbe2487-0eb6-450c-81a3-36efa4dc6a58%40googlegroups.com.

Reply via email to