<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Fri, Sep 21, 2018 at 5:17 AM Appel, Thibaut <<a href="mailto:t.appel17@imperial.ac.uk">t.appel17@imperial.ac.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Jed,<br>
<br>
- It’s incompressible flow but the equations are not singular, we’re using a Poisson equation for the pressure.<br>
</blockquote><div><br></div><div>So the only solve is a Poisson solve? This sounds like you have implemented one of the family of Schur complement</div><div>solvers for Stokes-like equations. We have support (PCFIELDSPLIT) for trying a great range of them. I suggest that</div><div>this is your best bet. The idea is to create a list of the velocity and pressure unknowns and tell the PC, so that it can</div><div>split the system into two parts and do intelligent things. This is described in many of the tutorials online.</div><div><br></div><div>Do you mind writing the equations briefly so we can see them?</div><div><br></div><div>  Thanks,</div><div><br></div><div>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">- It’s a centered/collocated grid.<br>
- Complex because we’re seeking solutions under a wave form with complex wavenumbers in the exponential, the right hand side is also complex.<br>
<br>
Thibaut<br>
<br>
> On 21 Sep 2018, at 04:13, Jed Brown <<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>> wrote:<br>
> <br>
> "Appel, Thibaut" <<a href="mailto:t.appel17@imperial.ac.uk" target="_blank">t.appel17@imperial.ac.uk</a>> writes:<br>
> <br>
>> Dear users,<br>
>> <br>
>> I’m having trouble finding a PC/KSP pair that works for my problem in parallel.<br>
>> I’m solving linearized Navier-Stokes PDE’s discretized with a finite difference method in 2D or 3D in a logically rectangular grid, in complex arithmetic.<br>
> <br>
> Compressible or incompressible?  Staggered or centered grid?  Why complex arithmetic?<br>
> <br>
>> It obviously works fine with a direct solver but also with GMRES + ILU(3) in sequential.<br>
>> <br>
>> I tried different combinations such as<br>
>> -ksp_type gmres -pc_type asm -sub_pc_type ilu<br>
>> -ksp_type gmres -pc_type bjacobi -sub_pc_type ilu<br>
>>    <br>
>> but cannot get the relative residuals below 10^(-2), after 2,000 iterations - even with increasing the number of ILU fill-in levels (up to 5), the number of GMRES restarts (300 to 1000), options such as -ksp_initial_guess_nonzero or -ksp_gmres_cgs_refinement_type refine_always. -ksp_monitor_true_residual does not seem to give more information?<br>
>> Maybe there’s room for more experimentation but if you could suggest a way to have a better diagnostic? <br>
>> <br>
>> With the different equation sets I’m working with, the condition numbers estimated with the petsc faq method vary between 10^3 and 10^7.<br>
>> On top of that I have ridiculous fill-in and have to set -pc_factor_fill to 14, up to 35 (!) sometimes.<br>
>> <br>
>> For our application we need a lot of discretization points in one spatial direction and I read somewhere that condition number scales with the square of discretization steps for FD methods. But is there a way to reduce it in my case?<br>
>> I’m also aware that fill-in should be inevitably expected when you have a sparse matrix with a banded structure arising from a FDM. But I was wondering if there’s something more I can do on the numerical side to, on reduce fill-in and/or help the iterative solver to converge faster? <br>
>> <br>
>> I know my discretized PDE’s + boundary conditions are scaled consistently with regards to matrix entries.<br>
>> I’m using natural ordering (if my unknowns are a_ij, b_ij the unknown vector starts with a_00 b_00 a_10 b_10 a_20 b_20 and ends with a_nxny b_nxny…) but I do not think this has any impact?<br>
>> <br>
>> Thanks for your support,<br>
>> <br>
>> <br>
>> Thibaut<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>