[petsc-users] 'Preconditioning' with lower-order method

Barry Smith bsmith at petsc.dev
Sun Mar 3 12:06:21 CST 2024


   Are you forming the Jacobian for the first and second order cases inside of Newton?

   You can run both with -log_view to see how much time is spent in the various events (compute function, compute Jacobian, linear solve, ...) for the two cases and compare them.



> On Mar 3, 2024, at 11:42 AM, Zou, Ling via petsc-users <petsc-users at mcs.anl.gov> wrote:
> 
> Original email may have been sent to the incorrect place.
> See below.
>  
> -Ling
>  
> From: Zou, Ling <lzou at anl.gov <mailto:lzou at anl.gov>>
> Date: Sunday, March 3, 2024 at 10:34 AM
> To: petsc-users <petsc-users-bounces at mcs.anl.gov <mailto:petsc-users-bounces at mcs.anl.gov>>
> Subject: 'Preconditioning' with lower-order method
> 
> Hi all,
>  
> I am solving a PDE system over a spatial domain. Numerical methods are:
> Finite volume method (both 1st and 2nd order implemented)
> BDF1 and BDF2 for time integration.
> What I have noticed is that 1st order FVM converges much faster than 2nd order FVM, regardless the time integration scheme. Well, not surprising since 2nd order FVM introduces additional non-linearity.
>  
> I’m thinking about two possible ways to speed up 2nd order FVM, and would like to get some thoughts or community knowledge before jumping into code implementation.
>  
> Say, let the 2nd order FVM residual function be F2(x) = 0; and the 1st order FVM residual function be F1(x) = 0.
> Option – 1, multi-step for each time step
> Step 1: solving F1(x) = 0 to obtain a temporary solution x1
> Step 2: feed x1 as an initial guess to solve F2(x) = 0 to obtain the final solution.
> [Not sure if gain any saving at all]
>  
> Option -2, dynamically changing residual function F(x)
> In pseudo code, would be something like.
>  
> snesFormFunction(SNES snes, Vec u, Vec f, void *)
> {
>   if (snes.nl_it_no < 4) // 4 being arbitrary here
>     f = F1(u);
>   else
>     f = F2(u);
> }
>  
> I know this might be a bit crazy since it may crash after switching residual function, still, any thoughts?
>  
> Best,
>  
> -Ling

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20240303/f1129486/attachment.html>


More information about the petsc-users mailing list