[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
solver.

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)

>From
(https://lists.mcs.anl.gov/pipermail/petsc-dev/2017-October/021545.html),
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>
```