[petsc-users] Fwd: How to adapt vectors to matrices loaded from a viewer

Junchao Zhang junchao.zhang at gmail.com
Fri Apr 20 16:08:05 CDT 2018


(resend from my gmail)

In a PETSc example (ex10.c
<http://www.mcs.anl.gov/petsc/petsc-current/src/ksp/ksp/examples/tutorials/ex10.c.html>)
one MatLoad A and then VecLoad b from a viewer. Since one can change mat
block size through option -matload_block_size, the code tries to pad b if A
and b's sizes mismatch, using the following test

186:   MatGetSize(A,&M,NULL);
187:   VecGetSize(b,&m);
188:   if (M != m) {   /* Create a new vector b by padding the old one */

  I think the code is wrong. One has to compare local column size of A and
local size of b, and if there is a mismatch on ANY processor, then one has
to create a new b.
  My questions are: Are users supposed to take this complexity? Does PETSc
provide a neat way to do that, for example, MatVecLoad(A,b,viewer)

 Thanks.
--Junchao Zhang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180420/2897f60a/attachment.html>


More information about the petsc-users mailing list