[petsc-users] Nullspace issue

Barry Smith bsmith at mcs.anl.gov
Tue Jun 12 15:35:13 CDT 2012


On Jun 12, 2012, at 1:05 PM, Thomas Witkowski wrote:

> From the three available block algorithms of the fieldsplit preconditioner, I could use only block jacobi and gauss seidel ones. For the Schur type approach I have no idea what to do with the Schur complement in the case block one is the Navier Stokes equation and block two is the Cahn Hilliard equation. Is there any assumption (that could also be verified in practice) on the system that these block preconditioners will work? What is your experience? If there are good preconditioners for the two blocks available, how good will pcfieldsplit preconditioner work?
> 

    G-S and Shur complement type fieldsplit PCs almost always work right so long as you have decent preconditioners for the original block(s). Often you don't need much of anything to precondition the Schur complement. 

    As I said before you can construct a preconditioner for the N.S. block by again using a PCFIELDSPLIT on that (recursive use of PCs).  

    Note that once you have defined your blocks (in the simple case if you have all your degrees of freedom collocated (no staggered grid) just set the Vec and Mat block size; otherwise you need to construct an IS that defines each block) then experimenting is easy and can be done at the command line without changing the code.

   Barry

> Thomas
> 
> Am 12.06.2012 15:37, schrieb Barry Smith:
>>   Thomas,
>> 
>>     Since you are solving a coupled system of equations you should start with PCFIELDSPLIT. This allows you to build a preconditioner by combining solvers for separate components of the PDE. It can even be applied recursively to first separate the Navier-Stokes equations from the Cahn-Hillard and then to separate the parts of the Navier-Stokes.
>> 
>>     It may take a little thought for how you want the separation done and what solvers to use on what parts, but it is the only way to get an efficient solver for such a coupled system.
>> 
>>    Barry
>> 
>>   Jed, WTF are you talking about SVDs and stuff?
>> 
>> 
>> On Jun 12, 2012, at 8:19 AM, Thomas Witkowski wrote:
>> 
>>> Am 12.06.2012 15:04, schrieb Jed Brown:
>>>> On Tue, Jun 12, 2012 at 7:56 AM, Thomas Witkowski<thomas.witkowski at tu-dresden.de>  wrote:
>>>> There should be no null space from the Cahn-Hilliard equation.
>>>> 
>>>> You said all those boundary conditions are either Neumann or periodic. I guess it couples to the fluid variables without any null space?
>>> yes.
>>>> 
>>>> Is there some black-box preconditioner that does not relay on LU factorization at some point? I know that black-box approaches are mostly not efficient, but I would have something I can work with.
>>>> 
>>>> The SVD always works and will tell you about a null space, but of course it's very expensive.
>>> So assume I have a basis for the null space of the system that should be solved. Is there any block-box solver/preconditioner approach that does not make use of (I)LU factorization at any point?
>>> 
>>> Thomas
>>> 
> 



More information about the petsc-users mailing list