[petsc-users] How to use F and G for TS

Pierre Seize pierre.seize at onera.fr
Fri Dec 3 02:52:54 CST 2021

Hello, I want to set a TS object for the time integration of my FV CFD 

The equation is M dQ/dt = f(Q) where M is a diagonal mass matrix filled 
with the cell volumes from my FV discretisation. I've read the PETSc 
manual and I found some interesting mails in the petsc-users archive, 
but I still do not understand something.

To me, there is three ways I could set my TS :

    1. F(t, x, x') = Mx' - f(x)   and G(t, x) = 0 (default)
    2. F(t, x, x') = Mx'          and G(t, x) = f(x)
    3. F(t, x, x') = x' (default) and G(t, x) = M^{-1} f(x)

I think that unless I'm using an IMEX method, whatever F and G, it does 
F <-- F - G internally, but I would like to be sure.

Will there be a difference be if I use an explicit method, as Euler or 
RK ? What about implicit method such as BEuler or Theta methods ?

If I use an implicit method (beuler), what happens if I don't give F' 
and/or G' ? Are their matrix-vector product approximated with finite 
difference ?

What I understand is that for implicit-explicit methods, "G is treated 
explicitly while F is treated implicitly". In this case, am I right to 
assume it's useless to give the RHS Jacobian ? Then, when is G' used ?

If I do not use an IMEX method, are the 3 formulations equivalent ?

Thank you for your help

Pierre Seize

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

More information about the petsc-users mailing list