[petsc-users] Petsc error: cannot chang local size of Amat after use old sizes 10 10 new sizes 11 11
我
dayedut123 at 163.com
Sat May 12 07:08:41 CDT 2018
Thanks for your reply! I'm confused about how to create a new matrix during the time step advancing.
For better understand my problem, simple pseudo code (just contains the main functions) like this:
/////////////////////////////////
KSP ksp;
PC pc;
KSPCreate;
Mat A;
for(int timestep=0; timestep<20; timestep++)
{
//for example
if(timestep==2)
{
localsize change;
}
MatCreateMPIAIJWithArrays(PETSC_COMM_WORLD, localsize, localsize, m, m, istore, jstore, vstore, &A);
KSPSolve;
MatDestroy(&A);
}
/////////////////////////////
Thanks again!
Daye
At 2018-05-11 19:07:35, "Matthew Knepley" <knepley at gmail.com> wrote:
On Fri, May 11, 2018 at 4:23 AM, 我 <dayedut123 at 163.com> wrote:
Hello all,
I use the function MatCreateMPIAIJWithArrays to construct my matrix. But the number of local rows m and local columns n may change during the timestep advancing. When the local size changes, the error like "Petsc error: cannot chang local size of Amat after use old sizes 10 10 new sizes 11 11" will appear. Any suggestions about it ?
If the parallel layout changes, you need to create a new matrix.
Thanks,
Matt
Thank you very much!
Daye
--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener
https://www.cse.buffalo.edu/~knepley/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180512/5c1be873/attachment.html>
More information about the petsc-users
mailing list