Dear Timo,
thank you for your answer and your time :)

On Sunday, December 6, 2020 at 9:04:24 p.m. UTC-5 Timo Heister wrote:

> > The task generally contain on the order of 50M to 100M DOFs and are 
> transient DNS problems. 
>
> With this you are likely at a point where factorizations (even ILU) 
> not work very well. Even if you can afford a Block ILU, you likely run 
> on 100+ cores, which means the quality of the preconditioner will 
> deteriorate quite a lot just based on the number of processors. You 
> likely need something that puts more effort into the parallel aspect. 
>

I fully agree. This is the part where my knowledge is extremely limited. I 
can clearly see that my strategy is becoming poorer and poorer as my number 
of core and the size of my system increases. To be honest, this is a first 
venture for me in terms of looking at problems this size. In the past in my 
career I was always in the early 1-2M cells, whereas here we are talking 
about 50M cells and traditional approach quickly become inefficient.

 

>
> > Our solver : Either GMRES or BiCGStab. In our case it seems GMRES is a 
> bit faster (around 20%) because the iterations are cheaper. I have tried 
> all of the solvers in the TrilinosWrappers except FGMRES actually. 
>
> My general advice is to work on the preconditioner to have a method in 
> the 10-40 iterations range. Then, it doesn't really matter which 
> Krylov method you use. Just use FGMRES (if you need flexibility), CG 
> (for SPD), MINRES (for symmetric), or GMRES (for everything else). 
> Switching between different Krylov methods is unlikely to make a big 
> difference unless you are in the 100k+ core range or need too many 
> iterations. 
>

Understood. Let's say that right now we are more in the 40-80 iterations 
range, making me think that we could be more efficient.
 

>
> > Our current preconditioner : ILU(0) 
> > Element order : Q2-Q2, Q3-Q3 or Q4-Q4. 
>
> Are you just applying ILU to the whole system? My general advice is to 
> exploit the block structure of your PDE first and then apply ILU or 
> AMG to individual blocks. Time dependent Navier-Stokes with small time 
> steps is a relatively easy case. Let me know if you want more details. 
>

Yes, I am applying ILU to the whole system, without anything else really. I 
think this is relatively traditional in GLS and VMS approaches (although I 
would not be able to say if that is a good or a bad thing).

If I understand correctly,  you mean formulating the problem using a 
BlockMatrix and a BlockVector, then preconditioning each matrix of the 
block independently?
I guess this would be best achieved using the linear operators within 
deal.II right?
What would be the added benefit of that? I would presume that since each 
block have more "coherent units", this would at least to a better 
conditioning of the final system, but is there anything else there?
Is there any literature or elements on this? I feel like linear solver 
aspect is such a critical element of a good Navier-Stokes solver, but I 
struggle to find easy/accessible literature on the topic. This is where my 
Chemical Engineering background makes me feel like I am biting more than I 
can chew :).

Thank you very much for your time. I really appreciate it.


 

>
>
> -- 
> Timo Heister 
> http://www.math.clemson.edu/~heister/ 
>

-- 
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/91da12d7-3da0-4a8e-9f59-8b273b4e5e70n%40googlegroups.com.

Reply via email to