Jie,

I attempted to use FGMRES solver without preconditioner to replace Line 269 as following:

SolverControl solver_control (stokes_matrix.block(0,0).m(), 1e-6*utmp.l2_norm(), true);
SolverFGMRES<Vector<double> > gmres(solver_control);
gmres.solve(stokes_matrix.block(0,0), dst.block(0), utmp, 
PreconditionIdentity());

But it couldn't converge even in 2D. I also tried SolverBicgstab without preconditioning, it did converge but no improvement compared to direct solver was observed in the cases that I ran.

Yes, not using a preconditioner is not an option. You need to use *something* or you will not be able to converge in any reasonable number of iterations.

If your problem is advection-dominated (i.e., a high Reynolds number) then I would try to use downstream numbering of unknowns (via the corresponding DoFRenumbering function) and then use SSOR as a preconditioner. There are many better preconditioners for the N-S equations, but that's an easy start.

Best
 W.

--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 [email protected]
                           www: http://www.math.colostate.edu/~bangerth/

--
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to