1

我刚开始使用 PETSC,我正在尝试使用 matView 绘制矩阵。我的代码是这样的:

 MatCreateSeqAIJWithArrays(PETSC_COMM_WORLD, nodes, nodes, rows, cols, values, net); //I want to visualize "net"

 //Visualization
    if(display >= 1){
        PetscPrintf(PETSC_COMM_WORLD, "CSR structure created.\n");
        MatView(*net,PETSC_VIEWER_DRAW_WORLD);
    }

当我以这种方式使用 MatView 时:

MatView(*net,PETSC_VIEWER_STDOUT_WORLD);

我可以看到一个包含行的列表。但是当我把它改成

MatView(*net,PETSC_VIEWER_DRAW_WORLD);

什么都没发生。

我看不到有关网络结构的任何信息,甚至看不到列表。

我试图运行这些示例,但它们根本不起作用。此外,PETSC 文档只会让事情变得更糟。有人能帮我吗?我不想看到行列表,而是矩阵(以图形方式)。


评论中的更多上下文:

  • X windows 运行正常——能够用gvimxlogoxeyes等进行确认。
  • 库已使用 中--with-x的选项重建configure。仍然没有出现。
4

1 回答 1

1

如果您还没有这样做,请尝试使用“-draw_pause -1”作为您的 PETSc 程序的参数。

-draw_pause - 设置调用 PetscDrawPause() 后程序暂停的时间(以秒为单位)(默认为 0,-1 表示直到用户输入)。

于 2017-05-26T17:48:20.940 回答