PCSetOperators

Matt Funk mafunk at nmsu.edu
Thu Nov 16 13:08:12 CST 2006


Hi,

i had a question regarding PCSetOperators(...):

1) what is the difference between PCSetOperators and KSPSetOperators since the 
description and the arguments for both functions are the same (i.e.):
	"Sets the matrix associated with the linear system and a (possibly) different 
one associated with the preconditioner"
	
Right now, what i do to set my preconditioner is to call: 
	PCSetType(m_pc, PCJACOBI);
2) Is this sufficient or do i need to call PCSetOperators? 
3) Do PCSetType and PCSetOperators have the same function?

Right now what i basically do to set up my solver context is to call the 
following functions (in this order):
	- KSPCreate //create my context
	- KSPSetOperators //associate my matrix with the context
	- KSPSetType //set my solver type
	- PCSetType
	- KSPSetUp
It seems to work, but i don't know if it is efficient and preferred way (if 
there is such a thing)?

Also, do several successive solves on the same linear system with the same 
preconditioner. So i pass SAME_NONZEROPATTERN as the MatStructure flag to the 
KSPSetOperators call. So do i need to call PCSetOperators and pass it the 
flag as well to reuse the preconditioner?

thanks for all the help
mat




More information about the petsc-users mailing list