<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 2 February 2015 at 10:39, Fabian Gabel <span dir="ltr"><<a href="mailto:gabel.fabian@gmail.com" target="_blank">gabel.fabian@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear PETSc Team,<br>
<br>
I implemented a fully-coupled solution algorithm (finite volume method)<br>
for the 3d stationary incompressible Navier-Stokes equations. Currently<br>
I am solving the resulting linear systems using GMRES and ILU and I<br>
wanted to ask, if solver convergence could be improved using a field<br>
split preconditioner. </blockquote><div><br></div><div>Given the convergence in the attached file, <br>I would say yes, fieldsplit should be better.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The possibility to use PCFIELDSPLIT (Matrix is<br>
stored as interlaced) has already been implemented in my solver program,<br>
but I am not sure on how to choose the parameters.<br></blockquote><div><br></div><div>What do you mean? Is your matrix defined to have a block size of 4, or have you set the IS's for each split (u,v,w,p)? The options for fieldsplit will be different depending on the answer.<br></div><div><br>Before discussion any options for fielldsplit, what is App?<br></div><div>Is that an approximate pressure Schur complement?<br></div><div><br></div><div>Cheers,<br></div><div> Dave<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Each field corresponds to one of the variables (u,v,w,p). Considering<br>
the corresponding blocks A_.., the non-interlaced matrix would read as<br>
<br>
[A_uu 0 0 A_up]<br>
[0 A_vv 0 A_vp]<br>
[0 0 A_ww A_up]<br>
[A_pu A_pv A_pw A_pp]<br>
<br>
where furthermore A_uu = A_vv = A_ww. This might be considered to<br>
further improve the efficiency of the solve.<br>
<br>
You find attached the solver output for an analytical test case with 2e6<br>
cells each having 4 degrees of freedom. I used the command-line options:<br>
<br>
-log_summary<br>
-coupledsolve_ksp_view<br>
-coupledsolve_ksp_monitor<br>
-coupledsolve_ksp_gmres_restart 100<br>
-coupledsolve_pc_factor_levels 1<br>
-coupledsolve_ksp_gmres_modifiedgramschmidt<br>
<br>
Regards,<br>
Fabian Gabel<br>
<br>
</blockquote></div><br></div></div>