我所做的是
- 创建一些名为 pc 的 PC 和 PCSetOperators(pc,A,A,..);
- 创建名为 ksp 的 KSP;
- KSPSetPC(ksp,pc);
在上述过程之后,我是否仍然必须使用 KSPSetOperators(ksp,A,A,..),或者我可以跳过这个?从 Petsc 的源代码来看,似乎不需要。只是想确定一下。
谢谢!
我所做的是
在上述过程之后,我是否仍然必须使用 KSPSetOperators(ksp,A,A,..),或者我可以跳过这个?从 Petsc 的源代码来看,似乎不需要。只是想确定一下。
谢谢!
虽然在某些用例中并非绝对必要,但请KSPSetOperators()
无论如何调用(也许代替PCSetOperators()
)。这确保了零空间和设置信息是一致的,并管理线性系统重复解的初始猜测(“Fischer 猜测”)。使用相同的接线员拨打电话KSPSetOperators()
基本上是免费的。
请注意,您始终可以KSPGetPC()
然后配置PC
,而不是自己创建并使用KSPSetPC()
.