Vector 检查PETSc向量/矩阵是否已被破坏的优雅方法?

Vector 检查PETSc向量/矩阵是否已被破坏的优雅方法?,vector,matrix,petsc,Vector,Matrix,Petsc,对于单元测试,我试图确保PETSc向量已被销毁。然而,我似乎找不到一个足够的命令来优雅地完成这项工作。我所能做的最好的事情就是调用VecSetType(…)并查看错误。但是,这个write-PETSC_错误输出是我不希望被写入的,特别是因为我预期会发生错误。有什么想法或建议吗 谢谢。您可以使用-log\u summary运行代码。分析信息构成了一个表,其中列出了创建了多少矢量,以及销毁了多少矢量 您可以使用-log\u summary运行代码。分析信息构成了一个表,其中列出了创建了多少矢量,以及

对于单元测试,我试图确保PETSc向量已被销毁。然而,我似乎找不到一个足够的命令来优雅地完成这项工作。我所能做的最好的事情就是调用VecSetType(…)并查看错误。但是,这个write-PETSC_错误输出是我不希望被写入的,特别是因为我预期会发生错误。有什么想法或建议吗


谢谢。

您可以使用-log\u summary运行代码。分析信息构成了一个表,其中列出了创建了多少矢量,以及销毁了多少矢量

您可以使用-log\u summary运行代码。分析信息构成了一个表,其中列出了创建了多少矢量,以及销毁了多少矢量

我不是一个有经验的PetSc用户,但我知道XDestroy函数将Vec、Mat等等同于NULL。我想您可以将VEC与NULL进行比较。对我来说,我使用一个finalizer类来确保所有内容都被正确地清理。Hope起作用

我不是一个有经验的PetSc用户,但我知道XDestroy函数将Vec、Mat等等同于NULL。我想您可以将VEC与NULL进行比较。对我来说,我使用一个finalizer类来确保所有内容都被正确地清理。希望有效