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" <[email protected]> wrote:
On Fri, May 11, 2018 at 4:23 AM, 我 <[email protected]> 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/