PCFieldSplit and Schur

francois pacull fpacull at fluorem.com
Wed Nov 25 10:15:04 CST 2009

Thanks again for your message.
It is true that in the case of a single split of the seven fields 
between the 5 aerodynamic variables and the two turbulent variables 
(classical k-omega in our case), the blocksize=5 system still has some 
kind of stiffness due to the large difference of speed between the fluid 
motion and the acoustic waves. However, we use some block diagonal 
scaling with a local preconditioning blocksize=5 matrix (Weiss and Smith 
preconditioner). We do observe a better convergence rate when using this 
scaling in order to improve the local condition number. In general, when 
we remove the rows and columns corresponding to the two turbulent 
variables of a system, we get a rather nice behavior of the solver. But 
when we keep them, a high level of incomplete factorization within the 
PCASM (which works well with full factorization) is required in order to 
avoid a complete stagnation of the GMRES. This is why i am trying to 
split off this bs=2 matrix and find the best way to deal with it, as 
well as its coupling with the aerodynamic variables matrix. I will 
definitely give you the feedback of your arguments and the results of 
this fieldsplit when i get more work done regarding this issue.
francois pacull.

Jed Brown a écrit :

> On Tue, 24 Nov 2009 19:24:48 +0100, francois pacull <fpacull at fluorem.com> wrote:
>> Thank you for your email Jed, this is very helpfull.
>> Just in case you would know some specific references:
>> the physics we are working with are very common:  turbulent low-Mach gas 
>> dynamics; since part of the systems stiffness is created by the 
>> turbulent variables,
> So this depends somewhat on the turbulence model, but it is normally
> some sort of advection-diffusion system.
>> i am trying to couple a first system with 5 fields (density, momentum,
>> energy) and a second one with 2 fields (turbulence), within the
>> preconditioner.
> Ah, if you split the turbulence variables then you still have to deal
> with acoustics in the bs=5 split.
> As an experimental heuristic (one I'm trying to formulate) for how to
> split a stiff wave system (at least with a conservative formulation) try
> this.  Identify the characteristic of your largest eigenvector.  If this
> involves a single subsystem, say it is
>   [0, 0, 0, 1, -1]
> then you should be able to do one multiplicative split ([a,b,c], [d,e])
> as long as you can find a good preconditioner for the [d,e] part.  In
> this last part, the fastest wave has inter-field coupling, so you could
> split this with factorization.  Note that you could also have done just
> one split ([a,b,c,d],[e]), and this would have little impact on the
> Schur complement in the [e] block.
> If instead the characteristic looked like
>   [0.3, 0.4, 0.8, 0.4, -1]
> then all the fields participate in the fastest wave, and the natural
> (and I hypothesize, mandatory) split would be ([a,b,c,d],[e]).
> So in light of this framework, let's consider your system.  Since the
> velocity is much slower than acoustics, you should be able to split off
> the turbulence model using relaxation (the advection is only as fast as
> the velocity, if the turbulence model is as stiff as acoustics then the
> diffusive part must be the culprit, but that is self-coupling).
> Here is one recent paper on JFNK applied to low-mach compressible flow
> @article{park2008jacobian,
>   title={{Jacobian-free Newton Krylov discontinuous Galerkin method and
>     physics-based preconditioning for nuclear reactor simulations}},
>   author={Park, H.K. and Nourgaliev, R.R. and Martineau, R.C. and Knoll, D.A.},
>   year={2008},
>   publisher={INL/CON-08-14243, Idaho National Laboratory (INL)},
>   url={http://www.osti.gov/bridge/servlets/purl/940059-ITD6J2/940059.pdf}
> }
>> The motivation is the diminution of the factorization memory
>> requirement, compare to when the fields are not split.
> Incomplete or full factorization?  Does ASM actually work?  If so, then
> I'm skeptical that PCFieldSplit-Schur will gain you anything, you should
> be fine to split off the turbelence variables (multigrid might even work
> fine for them), and use a cheaper preconditioner on the rest of the
> system.
> Finally, I would be interested to know how you fare.  In particular,
> whether you find that the heuristic arguments above actually correlate
> with efficient algorithms.
> Jed

More information about the petsc-users mailing list