问题标签 [petsc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
121 浏览

matlab - Petsc Mex 文件崩溃

我有一个工作代码,可以通过使用 Petsc 的 KSPSolve 解决某个问题(使用 gmres 求解器和 ilu 预处理器)。我想从 MATLAB 调用这段代码,所以我编写了一个 mex 文件。但是,当调用 KSPSolve 时,它​​会使我的 mex 文件和 MATLAB 崩溃。

我使用了 valgrind,似乎第一个错误出现在某些 sse2 代码中。如果我删除对 KSPSolve 的调用,一切正常。如果我在 MATLAB 之外调用整个代码,它也可以工作。

有人知道 Petsc 和 MATLAB 之间可能存在的兼容性问题吗?这可以解决吗?谢谢,

0 投票
2 回答
1188 浏览

c - 如何使用 PETSc 可伸缩非线性方程求解器设置 3d FEM 求解器?

在 3.3 中,他们有一个令人振奋的消息- 在 GPU 上仅使用 PETC SNES 进行 FEM 求解的示例。我是 PETSc 的新手并且有一个问题 - 我需要在 3d 空间中创建一个球体并对其施加力......所以我需要一个 3d FEM(如果可能在 GPU 上,我的情况不需要 MPI)。然而,当我看到他们提供的简单示例时,我有点害怕:

它像代码一样干净易读...

然而,阅读它让我头晕目眩,因为来自子弹 phisix\gamedev backgrownd 我没有看到 3 个主要内容:在哪里设置尺寸、创建网格和应用力?

那么任何人都可以解释如何使用 PETSc SNES 设置 3d FEM 求解器(强调如何设置尺寸、馈送网格、施加力和解释结果)?

0 投票
1 回答
2316 浏览

c - PETSc 未定义参考

我有一个非常初学者的问题,但我现在真的迷路了。我从 PETSc 开始,但我在编译代码时遇到了问题。我正在尝试使用自己的 Makefile,但编译器一直在大喊“未定义的引用”错误。我试图自己弄清楚几个小时,但我根本没有看到错误。因此,如果您能认识到错误,我们将不胜感激您的帮助。

这是整个错误消息:

这是我的 .c 文件 - 它还没有完成,它只是一个测试:

这是我的Makefile:

$PETSC_DIR/include里面${PETSC_DIR}/${PETSC_ARCH}/include有petsc头文件(.h)。

我的系统变量的值是:

这是我的 LD_LIBRARY_PATH 文件夹的结构:

0 投票
0 回答
496 浏览

c++ - 使用 PETSc 进行域分解

有没有人有使用 PETSc 库进行域分解的经验?我使用 PETSc 在我的 c++ 代码中创建向量和矩阵。我还使用 KSP 来求解线性系统。我使用了以下示例来了解 PETSc 中的 DD,但它们对我没有帮助:

http://www.mcs.anl.gov/petsc/petsc-3.5/src/snes/examples/tutorials/ex10d/ex10.c.html http://www.mcs.anl.gov/petsc/petsc-3.2 /src/snes/examples/tutorials/ex12.c.html http://www.mcs.anl.gov/petsc/petsc-current/src/snes/examples/tutorials/ex62.c.html ​</p>

如果您能给我一些关于如何使用 PETSc 进行图形分区和域分解的提示,我将不胜感激。

0 投票
2 回答
915 浏览

c - PETSc - MatLUFactor - 不支持此对象类型的此操作

我正在尝试在 PETSc 中编写 LU 分解应用程序。我的想法是,程序将打印未分解的矩阵,然后是分解的矩阵并计算分解本身所花费的时间。

我根据我在互联网上找到的少量信息编写了我的代码(我使用这篇文章中的信息来初始化我的矩阵),但不幸的是,这还不够。我的代码可以编译,但是当我尝试运行它时,它只会喊出这个错误:

此错误是由MatLUFactor函数引起的,我想将其用于就地 LU 分解。问题是,我不知道我的代码到底有什么问题。我认为,中心问题可能出在矩阵变量本身,可能是因为分配不当(我想到了 MatMPIAIJSetPreallocation 函数),但我不确定。

我试图用MatLUFactorNumericMatLUFactorSymbolic替换 MatLUFactor 函数,但它比 MatLUFactor 更糟糕,它的错误“更大”:-)

最后,我尝试使用以下命令启动我的程序:

因此,如果您知道任何解决方案,我将不胜感激;-) 谢谢!

Ps:我一直在寻找可能的解决方案,到目前为止我找到的最接近的文章是这个 maillist,但是提问者使用 ParMETIS 和 SuperLU 包,据我所知,我不使用。


这是我的源代码:

这是我使用 MatLUFactorNumeric 和 MatLUFactorSymbolic 函数时的错误:

0 投票
1 回答
262 浏览

petsc - PETSc - MatMultScale?矩阵 X 向量 X 标量

我正在使用PETSc,我想做一些类似的事情,

方程

我知道我可以做到:

我只是好奇是否有一个功能可以一次性完成所有这些。似乎它会节省一个循环。

有这样的功能吗?

0 投票
0 回答
470 浏览

python - 伪弧长延续 petsc4py

多年来,我一直是 Trilinos LOCA (c++) 中伪弧长延续、非线性求解器的用户,但我最近遇到了 python 包 petsc4py。这大大简化了我的编程,速度略有下降。

petsc4py 唯一缺少的类是伪弧长延续求解器。PETSC 有一个伪时间步进求解器,但这并不像转折点分解算法那么有用。

Trilinos LOCA 有一个 PETSC 包装器,但我一直在寻找一个解决方案,其中问题是在 python(来自 petsc4py)而不是 c 或 c++ 中指定的。

因此,我正在寻找一个用 petsc4py 编写的类,或者可以从 petsc4py 调用,实现伪弧长延续。

非常感谢你。

0 投票
0 回答
757 浏览

homebrew - 使用自制软件安装 petsc 时出错

我尝试petsc在 OSX 10.10.1 上使用 homebrew 安装:

安装一个依赖项时出现一个错误:

所以我尝试hypre用自制软件安装

我没有收到任何错误 ==> 摘要 /usr/local/Cellar/hypre/2.9.0b_1: 48 files, 4.5M

最后,我修改了petsc公式并注释掉了这一行

现在我可以安装petsc但它不起作用

0 投票
1 回答
272 浏览

petsc - 使用 fp_trap 查找 PETSc 中浮点异常的原因?

我不确定这个问题是否属于这里。但是我的 PETSc 代码有问题,说存在浮点错误。它类似于以下链接中讨论的问题:

http://lists.mcs.anl.gov/pipermail/petsc-users/2012-November/015858.html https://www.mail-archive.com/petsc-users@mcs.anl.gov/msg22930.html

这些线程中的一些人只是对我们说“fp_trap”。但是我应该在哪里输入呢?我试图进入 gdb 和 valgrind,然后输入“fp_trap”,但它不起作用

0 投票
1 回答
456 浏览

c++ - 使用 Octave C++ API 从文件加载矩阵

是否可以在运行时使用 Octave C++ API 从外部文件加载 PETSc 二进制格式的矩阵?我找到了Doxygen 文档,但在这么多项目中我找不到任何有用的东西。

通常,当我想将 PETSc 矩阵加载到 Octave 时,我会使用“PetscBinaryRead.m”,但现在在 C++ 中,我真的完全迷失了。