[petsc-users] Some Problems in Modifying Parallel Programs

Yingjie Wu yjwu16 at gmail.com
Mon Oct 15 09:41:27 CDT 2018


Dear Petsc developer:
Hi,
Thank you very much for your previous reply.
I recently wanted to modify my program to parallel version, and encountered
some problems in modifying it.
1. There are functions (read matrix) in the program that reads files,will
they affect my parallelism?  The codes are as follows:

ierr = PetscViewerBinaryOpen (PETSC_COMM_WORLD, file, FILE_MODE_READ,
&viewer); CHKERRQ (ierr);
ierr = MatCreate (PETSC_COMM_WORLD, &A1); CHKERRQ (ierr);
ierr = MatSetFromOptions (A1); CHKERRQ (ierr);
ierr = MatCreate (PETSC_COMM_WORLD, &A2); CHKERRQ (ierr);
ierr = MatSetFromOptions (A2); CHKERRQ (ierr);
ierr = MatLoad (A1, viewer); CHKERRQ (ierr);
ierr = MatLoad (A2, viewer); CHKERRQ (ierr);
ierr = PetscViewerDestroy (&viewer); CHKERRQ (ierr);

I read two matrix information from a binary file and wanted to use it on
each processor (in fact, my goal was to use these two matrices to give
initial values to the two field variables). The program can run in serial
time. Now I want to change it to parallel program. What do I need to
modify?
2. Following the last question, I used the following code in giving initial
value procedure FormInitialGuess():

ierr = MatSeqAIJGetArray (A1, &initial_phi1); CHKERRQ (ierr);
ierr = MatSeqAIJGetArray (A2, &initial_phi2); CHKERRQ (ierr);

I found this function on manualpages, and I felt that it could fulfill my
need to represent the elements of the matrix in arrays to give field
variables an initial value in each grid. The matrix A1 and A2 above are
actually the matrix information that was read from the file before. Now I
want to modify it as a parallel program. How do I use matrix information to
give initial values in parallel? (In program, field variables are
implemented through DM because parallel computing and Ghost Value are
supported)

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


More information about the petsc-users mailing list