[petsc-users] question on ksp
Barry Smith
bsmith at mcs.anl.gov
Wed May 7 22:27:05 CDT 2014
Use DMCreateMatrix() and it will return the correctly sized matrix, with the correct parallel layout and the the correct nonzero preallocation for the given DM.
After these changes let us know if you have any problems.
Barry
On May 7, 2014, at 10:11 PM, <likunt at caltech.edu> <likunt at caltech.edu> wrote:
> Dear Petsc developers,
>
> I am solving a linear system Ax=b. The rhs vector b and the matrix A are
> defined as follows,
>
> DMDACreate1d(PETSC_COMM_WORLD,DMDA_BOUNDARY_NONE,M,3,1,NULL,&da);
> DMCreateGlobalVector(da, &b);
>
> MatCreate(PETSC_COMM_WORLD, &A);
> MatSetSizes(A, PETSC_DECIDE, PETSC_DECIDE, M*3, M*3);
> MatMPIAIJSetPreallocation(A, 7, NULL, 7, NULL);
> MatSetUp(A);
>
> There is a Memory corruption problem when calling
> KSPSetOperators(ksp, A, A, DIFFERENT_NONZERO_PATTERN);
> KSPSolve(ksp, x, b);
>
> since the partition of A and b are not consistent. Should I use
>
> KSPSetDM and KSPSetComputeOperators
>
> for sovling this problem?
>
> Thanks,
>
>
>
>
>
>
More information about the petsc-users
mailing list