问题标签 [openfoam]

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 投票
1 回答
65 浏览

paraview - paraview中每个时间步更新的动态图表

我正在使用 paraview 发布处理 OpenFOAM 结果。我正在研究一个开放渠道案例。除了 OpenFOAM 运行结果之外,我还对通过入口的流速进行了后处理。现在我有一个文件,其中包含每个时间步的流速。

因此,在 paraview 中,我想在一个渲染视图中绘制自由表面,而在另一个渲染视图中,我想绘制流量与时间的动态图表,其中图表仅建立到当前时间步长。

如果这在 paraview 中是不可能的,那么可以创建这样的图表并与 OpenFOAM 一起使用的更好的选择是什么?

类似的例子来澄清这个想法: https ://www.youtube.com/watch?v=Jnf9EGuHiV0

0 投票
3 回答
2438 浏览

python - Python-正则表达式:从文本文件中提取关键字后的元组列表

我想实现我在这里建议的简化版本,从 OpenFOAM 文件中导入一些顶点blockMeshDict,然后使用 FreeCAD 将它们可视化

我感兴趣的文件部分是浮点数的 tuples 列表,在关键字(xi yi zi)后面的括号之间。vertices该文件如下所示:

我可以从与 python 脚本相同的文件夹中读取文件:

但是当我尝试在verticeswith之后提取括号之间的内容时:

我得到错误:

键入'exceptions.IndexError:没有这样的组

我不知道如何解决它。最后我想要的是一个元组列表,[(x1,y1,z1),(x2,y2,z2)...]如果你能帮助我知道如何在 Python 2.7 中实现它,我将不胜感激。

PS可以在这个 GitHub Gist中找到这项工作的摘要

0 投票
1 回答
1369 浏览

mesh - 轴对称 blockMeshDict:FOAM FATAL ERROR:wedge ... 中心平面与坐标平面不对齐

我正在尝试按照本教程 创建以下轴对称模型:

在此处输入图像描述

经过这里的讨论,我的blockMeshDict文件是:

但是当我运行时,blockMesh我会收到如下警告:

创建块网格拓扑 --> FOAM 警告:来自函数 Foam::polyMesh::polyMesh(const Foam::IOobject&, const Foam::Xfer > >&, const cellShapeList&, const faceListList&, const wordList&, const Foam::PtrList&, const Foam::word&, const Foam::word&, bool) 在文件 meshes/polyMesh/polyMeshFromShapeMesh.C 中的第 871 行 在网格中找到 3 个未定义的面;添加到默认补丁。

其次是错误:

--> FOAM FATAL ERROR: 楔形楔形前中心平面未与坐标平面对齐 0.360319 来自文件 meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch 中的函数 virtual void Foam::wedgePolyPatch::calcGeometry(Foam::PstreamBuffers&) .C 在第 98 行。

不幸的是,谷歌搜索错误消息并没有返回多少。如果您能帮助我了解问题所在以及如何解决,我将不胜感激。

0 投票
1 回答
320 浏览

openfoam - sonicFoam forwardStep 现实边界条件导致错误::printStack(Foam::Ostream&)

我正在尝试使用更现实的边界条件修改sonicFoam forwardStep 示例。

0/p

并在0/p

但这会导致一个奇怪的错误:

时间 = 0.002

无迭代 1 smoothSolver:求解 Uy,初始残差 = 0.0462988,最终残差 = 1.90246e-17,无迭代 1 SmoothSolver:求解 e,初始残差 = 0.999979,最终残差 = 1.12177e-06,无迭代 3 0 泡沫: :error::printStack(Foam::Ostream&) 在 ??:? 1 Foam::sigFpe::sigHandler(int) at ??:? 2 ? 在 "/lib64/libc.so.6" 3 Foam::sqrt(Foam::Field&, Foam::UList const&) at ??:? 4 Foam::sqrt(Foam::tmp > const&) at ??:? 5 Foam::waveTransmissiveFvPatchField::advectionSpeed() const at ??:? 6 Foam::advectiveFvPatchField::updateCoeffs() at ??:? 7 Foam::GeometricField::Boundary::updateCoeffs() 在 ??:? 8 Foam::fvMatrix::fvMatrix(Foam::GeometricField const&, Foam::dimensionSet const&) 在 ??:? 9 Foam::tmp > Foam::fv::optionList::operator()(Foam:: GeometricField const&, Foam::GeometricField&, Foam::word const&) 在 ??:? 10 ? 在 ??:?11 __libc_start_main 在“/lib64/libc.so.6” 12 中?在 ??:?浮点异常

如果您能帮助我了解问题所在以及如何解决,我将不胜感激。

关键词: Floating point exception , __libc_start_main, Foam::error::printStack(Foam::Ostream&),

0 投票
1 回答
2003 浏览

python - 如何制作基于文本的界面 (TUI/TLI) 来监控 OpenFOAM 求解器日志文件?

我在集群上运行 OpenFOAM 模拟,它们需要几天才能完成。我正在寻找一种方法来监控流程并获得一些有意义的见解。我目前能做的是使用

这里我还找到了一个不错的 GnuPlot-grep 脚本:

它从文件中提取信息,如果我在顶部log.log添加某个位置,它可以在终端中绘制。set term dumb但是,情节非常拥​​挤,丑陋,显示需要很长时间,并且顺序打印到终端,而不是更新前一个。

在互联网上搜索我发现有一些不错的 python 库,例如 npyscreen/picotui、ncurses/blessed、Asciimatics、Urwid、Prompt Toolkit ... 用于创建 TUI/TLI。我想知道您是否可以帮助我了解如何创建基于文本的界面来显示基本信息以及所选值与时间的关系图。我想要几个面板。例如,一个选择我想要绘制的变量Courant Number mean,另一个面板上有一个显示该变量与步进时间的图。和其他实时显示所有变量的最新值。我想到的应该类似于urwind 的graph.py例子

在此处输入图像描述

PS自从我发布了这个:

  • 在这里,我向Termgraph介绍了一个非常有趣的 python 库,用于在终端中获取一些图形。
  • 我已经在 Urwid google 组中发布了这个想法。你可以关注这里的讨论
  • 我发现了也使用 Urwid的PyFoam's 。CaseBuilder同样在这里,我被告知 PyFoam 项目中的其他尝试,以从求解器获取一些不错的 TUI 信息。
0 投票
1 回答
1077 浏览

python - 用于 OpenFoam 的 jupyter 笔记本中的 Paraview:没有名为 vtkCommonCorePython 的模块

我正在尝试使用 paraview 编写一个脚本,该脚本自动生成 OpenFoam 解决方案的特定可视化。我正在使用 Jupyter 笔记本。我没有单独建立paraview。它带有“OpenFoam-in-a-box”。我的机器 2.7 和 3.5 上也有 2 个版本的 Python。

鉴于这种情况,我设置了两个路径变量,如下所示:

这会引发如下错误:

我几乎一整天都在研究这个问题,但无法解决这个问题。任何帮助,将不胜感激 !!

0 投票
1 回答
863 浏览

python - 使用 Python 脚本在 ParaView 中绘制一条线上变量的积分与时间的关系

我有一些 OpenFOAM 模拟结果(你可以使用官方can.ex2模型,可以从这里下载)。我想做的是:

  1. 打开一个文件,将原始数据加载为分解的案例(不能应用于上述案例)
  2. 对特定变量应用计算器过滤器(例如DISP*3.14*coordsX,我使用 3.14,因为看在上帝的份上,我找不到 Pi!)
  3. [x1,y1,z1]在线上应用过滤器图[x2,y2,z2]
  4. 在每个时间步中将 2 的输出积分到 3 中定义的线上
  5. 随着时间的推移绘制 4 的结果

如果您能帮助我了解如何编写 Python 脚本来执行此操作,我将不胜感激。

0 投票
1 回答
2808 浏览

ubuntu-18.04 - 在 openfoam 中,paraview 无法连接到 X 服务器

我在 ubuntu 和 OpenFOAM 方面的背景:本周我开始学习在 OpenFoam 中进行模拟。我的笔记本电脑上有 Windows 10,并从应用商店下载了 ubuntu 18.04。在 ubuntu 中,OpenFOAM 和 paraview 是由 ICT-helpdesk 的一个人安装的(paraview 已经工作了)。此外,安装了 Xming X 服务器。

我的问题:在第一个教程(腔)中,您必须使用 paraview 可视化数据。所以在这家伙安装完所有东西之后,我就可以使用 paraview 了。现在我关闭了 ubuntu 并重新开始。如果我现在调用 paraFoam,我会得到以下几行: Created temporary 'cavity.foam' paraview: cannot connect to X server

有人知道该怎么做吗?我检查了这个论坛并检查了谷歌,但找不到任何有这个特定问题的人。

真诚的,我

0 投票
1 回答
306 浏览

python - 当子进程返回错误时,python中的奇怪挂起

我有一个 python 程序,旨在演化一个在 OpenFOAM 中进行 CFD 分析的 3d 模型。分析与名为“mpirun”的程序并行进行;我的 python 脚本通过 subprocess.Popen 运行 mpirun。到目前为止没有什么不寻常的。不同寻常的是,当 mpirun 遇到其子级之一的错误并杀死其子级时,然后打印错误...然后python 父进程冻结。并且不会在某个明显的地方冻结,比如从管道中读取......在随机位置,它只是停止......做任何事情。

我尝试使用“python3 -m trace --trace”运行我的程序,以查看在哪一行停止,这是最终输出:

如您所见,它上升到“if force_mode:”....然后就停止了。显然“if bool”不应该挂起。几天来,我一直在努力解决这个问题,但我离答案还很近。

我如何通过 subprocess.Popen 启动进程似乎没有什么不同 - shell=True,shell=False,直接运行“mpirun”,通过 bash 包装器脚本运行它......什么都不重要(我唯一的事情'保持一致的是stdout = subprocess.PIPE,因为我必须能够读取输出)。一旦 mpirun 的一个孩子死亡并报告错误,foam.py 就会挂起。

任何线索可能发生在这里?我难住了。:(

0 投票
3 回答
789 浏览

bash - OpenFoam Win 10,Ubuntu Bash 安装失败

我正在尝试在 Win 10 上的 ubuntu bash 上安装 OpenFoam。我按照以下步骤操作: OpenFoam 在 Win 10 Ubuntu bash上安装

在这一步

源 $HOME/.bashrc

我收到以下错误:

我不明白这里发生了什么。任何帮助,将不胜感激。

OpenFoam bashrc 代码如下: