matrix-free additive schwarz?

P. Aaron Lott palott at
Sun Mar 4 15:44:18 CST 2007

Hi Matt,

I hope I can explain a bit better what it is I'm looking for, and  
also try to understand what I would need to provide to petsc in order  
to use its ASM preconditioner. It seems that in essence, for a matrix- 
free ASM implementation, I would need to provide either the  
restriction operators for each subdomain, or the assembled system  
matrix so that petsc's routines could determine the restriction  

Currently, I have a  Newton-Krylov spectral element code for solving  
the 2D incompressible Navier-Stokes equations. I perform all my  
matrix-vector products in a matrix-free framework. I now need a  
preconditioner for the subsidiary Advection-Diffusion equation solve,  
and I'm wanting to use ASM. I'm hoping to apply this preconditioner  
in a matrix free setting as well. My code applies matrix-vector  
products element-wise, and then performs an assembly (gather-scatter)  
procedure to get the global solution.

If all the subdomains for ASM are extensions of the elements from the  
spectral element discretization, then challenge is to construct the  
the restriction operators for each element to produce the ASM  
subdomains. From your message, it seems like petsc isn't able to  
construct these restriction operators unless I provide an assembled  
global system matrix.  If this is what petsc needs, I could compute  
the assembled system matrix (although storing this requires a lot of  
memory), and pass it to petsc. I thought though, that it may be  
possible to compute the restriction operators without accessing the  
assembled system, but rather through local-global maps providing  
indirect addressing. If someone has done this before, in a completely  
matrix-free setting, the same code could be used, or modified to  
obtain the restriction operators for each subdomain. I would be  
particularly interested in the second option if it is available  
either in petsc, or some package that links with petsc. I suppose the  
third option is, as you mentioned, providing my own preconditioner  
with PCSHELL, but my original reason for wanting to use petsc, was  
for it to provide me with the preconditioner...



On Mar 4, 2007, at 3:41 PM, Matthew Knepley wrote:

> On 3/4/07, P. Aaron Lott <palott at> wrote:
>> Hi,
>> I'm new to petsc, and I've been reading through the petsc manual
>> today trying to figure out if petsc provides a matrix-free
>> implementation of a Newton-Krylov-Schwarz solver. It looks like in
>> terms of the Newton-Krylov part, everything can be done in a matrix-
>> free setting, but I can't tell if there are routines available to
>> allow for a matrix-free Additive Schwarz preconditioner, and if so,
>> what needs to be provided by the user to implement it. I'm very keen
>> on using petsc to provide an additive schwarz preconditioner for my
>> spectral element CFD code, but I need a matrix-free implementation
>> because I don't have access to the global system matrix. Does anyone
>> have experience with applying matrix-free preconditioners in petsc?
> Its not quite clear what you want. You can, of course, apply any  
> preconditioner
> you want with PCSHELL. We do have an ASM preconditioner, however  
> the extra
> support this provides is to
>  1) automatically figure out the overlapping domains using the matrix
>      nonzero structure
>  2) solves the equation restricted to these overlapping partitions
> The first job cannot be done without a structure of some sort,  
> which we do not
> have in the matrix-free case, and the second depends on the first.
>   Matt
>> Thanks,
>> -Aaron
>> P. Aaron Lott
>> Ph.D. Candidate
>> 4239 Computer and Space Sciences Building
>> University of Maryland
>> College Park, MD 20742-4015
>> palott at
>> Office: 301.405.4894
>> Fax:      301.314.0827
> -- 
> One trouble is that despite this system, anyone who reads journals  
> widely
> and critically is forced to realize that there are scarcely any  
> bars to eventual
> publication. There seems to be no study too fragmented, no  
> hypothesis too
> trivial, no literature citation too biased or too egotistical, no  
> design too
> warped, no methodology too bungled, no presentation of results too
> inaccurate, too obscure, and too contradictory, no analysis too  
> self-serving,
> no argument too circular, no conclusions too trifling or too  
> unjustified, and
> no grammar and syntax too offensive for a paper to end up in print. --
> Drummond Rennie

P. Aaron Lott
Ph.D. Candidate
4239 Computer and Space Sciences Building
University of Maryland
College Park, MD 20742-4015

palott at
Office: 301.405.4894
Fax:      301.314.0827

More information about the petsc-users mailing list