preconditioner for matrix-free linear system
Satish Balay
balay at mcs.anl.gov
Tue Apr 14 14:02:10 CDT 2009
On Tue, 14 Apr 2009, Yongcheng Zhou wrote:
> Thanks Matt, Satish and Barry. I think I have to convert my matrix into a PETSc
> matrix in block AIJ type. I wan reluctant to do this since I might need to solve
> linear system many times and I had preferred to use matrix free approach.
You can still do this with AIJ type..
> Another question. In calling PETSc for solving the linear system for the
> second time, I got this:
>
> You can not initialize PETSc a second time!
>
> But I did destroy and finalized last PETSc structure, via
>
> MatDestroy(A);
> VecDestroy(x);
> VecDestroy(b);
> KSPDestroy(ksp);
> PetscFinalize();
>
> Any suggestion is greatly welcome!
As the message says - you can't call PetscInitialize()/Finalize()
multiple times. The same thing with MPI_Init()/Finalize().
So you'll have to remove these 2 calls from your loop [or function
that gets called multiple times] - to a location where they get called
only once.
Satish
More information about the petsc-users
mailing list