[petsc-dev] Lagging the numerical factorization for one of the fields of fieldsplit preconditioner

Shri abhyshr at mcs.anl.gov
Wed Mar 16 11:39:42 CDT 2011



> One fix may be to make PCSetUp() smarter and know the matrix has not
> changed and hence it doesn't have to be refactored (instead of only
> relying on the flag passed to KSPSetOperators()).
> 

  I feel that for the fieldsplit preconditioner the control of 'which' submatrix gets refactorized and 'when' should be with
  the user and not petsc.


> Barry
> 
> 
> 
> > Since,A is constant
> > it needs to be factorized only once while (df_dx -
> > df_dy*inv(A)*dg_dx) is not constant and needs to be refactorized.
> >
> >> This will be
> >> tricky because we don't have a mechanism to pass this information
> >> down
> >> into PCFIELDSPLIT. Tell me exactly what you want to do that it
> >> cannot
> >> currently do and I'll what we can do about it.
> >
> > Currently,the factorization is done for 'both or none'.I wanted the
> > factorization to be done for 'either,both,or none'.
> > I was thinking about having an option say
> > -fieldsplit_xxx_lag_preconditioner <niterations> which
> > will delay the refactorization for field xxx by niterations and if
> > niterations
> > is set to -1 then it will not update the factorization.
> >
> > Thanks,
> > Shri
> >
> >>
> >> Barry
> >>
> >>
> >>
> >> On Mar 14, 2011, at 4:41 PM, Shri wrote:
> >>
> >>>
> >>>           | A B | |dx| |fx|
> >>> Jacobian = =
> >>>           | C D | |dy| |fy|
> >>>
> >>> While solving this linear system with a fieldsplit precondioner,is
> >>> there a way to lag the numerical factorization of the A matrix.
> >>> The
> >>> A matrix in my application is constant and is about 3-4 times
> >>> bigger
> >>> than the D matrix. The log summary shows that about 90% of the
> >>> time
> >>> is spent in the numerical factorization phase. So i would like to
> >>> do
> >>> the numerical factorization for A matrix just once and not have it
> >>> factorized for all the snes iterations.
> >>> Speaking on the same note, should snes lag_preconditioner
> >>> functionality be moved to ksp or maybe a
> >>> -fieldsplit_xxx_lag_preconditioner option?
> >>>
> >>> Thanks,
> >>> Shri



More information about the petsc-dev mailing list