[petsc-users] Problems about parallel version in SNES_MF

Yingjie Wu yjwu16 at gmail.com
Tue Dec 25 07:34:09 CST 2018


Dear Petsc developers:
Hi,
I am currently using Petsc to solve a two-dimensional system of non-linear
PDEs, which is a thermal problem, including pressure field, temperature
field and velocity field. Since it is not easy to construct Jacobian matrix
explicitly, I adopt snes_mf method and provide a preconditioning matrix.
Now I want to adapt the program to parallel version.
The main steps of the current procedure are as fellows:

   - A solution vector U is constructed. The dimension is the sum of the
   meshed of each physical field.
   - FormFunction is provided to calculate residual.
   - Preconditioning matrix Pmat is assembled using FormJacibian, but Amat
   (Jacobian matrix) is not assembled.
   - Compute with -snes_mf_operator.

There are following questions about the development of parallel version:

   1. If one processor is assigned to each physical field, such as pressure
   field P,velocity field V, temperature field T, belongs to three processors.
   Because the problem is nonlinear, the information of temperature T may be
   used in the calculation of pressure P(in FormFunction). How to transfer the
   information?
   2. Since the snes_mf method needs a good preconditioning matrix to
   ensure convergence. How to use preconditioning matrix in parallel? As far
   as I know, BJACOBI can run in parallel. How can it be used in snes_mf
   method?

Because there are few snes_mf examples with parallel computation, I need
some advice from you.

Thanks,
Yingjie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20181225/b85d4f40/attachment.html>


More information about the petsc-users mailing list