[petsc-users] How to reuse matrix A
Frank
fangxingjun0319 at gmail.com
Mon Sep 9 15:10:33 CDT 2013
Hi,
I am solving Ax=b repeatedly, and A does not change all the time. I did
things like this:
%1. Set up entries for matrix A%%%
CALL MATASSEMBLYBEGIN(A,MAT_FINAL_ASSEMBLY,IERR)
CALL MATASSEMBLYEND(A,MAT_FINAL_ASSEMBLY,IERR)
CALL MATSETOPTION(A,MAT_NEW_NONZERO_LOCATIONS,PETSC_FALSE,ierr)
CALL KSPSetOperators(ksp,A,A,SAME_NONZERO_PATTERN,ierr)
Call KSPSetOperators(ksp,A,A,SAME_NONZERO_PATTERN,ierr)
Do i=1,100
% Set up entries for vector b%%%%%
CALL VECASSEMBLYBEGIN(b,IERR)
CALL VECASSEMBLYEND(b,IERR)
CALL KSPSolve(ksp,b,x,ierr)
ENDDO
However, it does not work. I don't know why. Could anybody help me with
this? Thank you very much.
Sincerely
Xingjun Fang
More information about the petsc-users
mailing list