【问题标题】:PETSC_VIEWER_DRAW_WORLD shows nothingPETSC_VIEWER_DRAW_WORLD 什么也不显示
【发布时间】:2015-05-29 16:43:29
【问题描述】:

我刚开始使用 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 文档只会让事情变得更糟。有人能帮我吗?我不想看到行列表,而是矩阵(以图形方式)。


来自 cmets 的更多背景信息:

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

【问题讨论】:

  • 绘图例程是否需要 X 服务器?你能运行其他 X windows 程序吗?
  • 我不太清楚什么是 X 服务器...我如何检查它? @chrisaycock
  • 我尝试运行“xinit”:“服务器已经处于活动状态以显示 0 如果此服务器不再运行,请删除 /tmp/.X0-lock 并重新启动。”
  • 确保你的 shell 中有一个 $DISPLAY 环境变量。如果您从桌面 ssh 到服务器,请确保您启用了 X 转发。尝试运行图形程序,例如gvim。如果安装了xlogoxeyes,您也可以运行它们。我们只是想确保您可以在专注于代码之前运行图形程序。
  • 它适用于 gvim、xlogo 和 xeyes。 @chrisaycock

标签: c petsc


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多