第一个令牌无法读取或不是 OpenFOAM 中的关键字“FoamFile”

Posted

技术标签:

【中文标题】第一个令牌无法读取或不是 OpenFOAM 中的关键字“FoamFile”【英文标题】:First token could not be read or is not the keyword 'FoamFile' in OpenFOAM 【发布时间】:2018-05-13 20:10:07 【问题描述】:

我是编程初学者。我正在尝试使用 reactingFoam 模拟燃烧室。

我已经修改了 counterflow2D 教程。

对于那些可能不了解 OpenFOAM 的人来说,它是一个用 C++ 构建的程序,但它不需要 C++ 编程,只需在所需文件中定义好变量即可。

在我的第一次尝试中,我制作了一个非常简单的模型,但由于我想很好地检查它,我将它设置为 60 秒,时间步长为 1e-6。

我的电脑不是很强大,所以我花了大约一天的时间。 (我的意思是我想找到一个解决方案,而不是重复模拟)。

我使用 4 个处理器并行执行求解器 reactingFOAM

mpirun -np 4 reactingFOAM -parallel > log

日志没有显示任何错误证据。

问题是,当我使用reconstructPar 时,它可以完美运行,但是我尝试使用paraFoam 观察结果,并显示此错误:

来自函数 bool Foam::IOobject::readHeader(Foam::Istream&)

在文件 db/IOobject/IOobjectReadHeader.C 的第 88 行

在第 1 行读取“mypath/constant/reactions”

第一个令牌无法读取或不是关键字“FoamFile”

我读到有些文件不应该是空的,但我没有发现这个问题。

我的“反应”文件没有从教程中修改过,并且一直有效。

编辑:

很抱歉这个含糊的问题。我稍微修改了一下。

【问题讨论】:

为了让想要帮助的读者能够重现此内容,他们还需要查看其他内容吗?例如,OpenFOAM 是否要求您编写代码?如果涉及代码,则可能值得将其添加到问题中。 (最好在任何问答平台上考虑读者需要看到什么,而不是添加“让我知道你需要什么”的包罗万象——读者肯定会问他们是否需要其他东西,但如果你能做出一个好的首先提供明显需要的东西,这很有帮助)。 “reactions”文件似乎不包含典型的“FoamFile”标头,例如,您可以在“controlDict”文件的顶部看到。不过,很难对这个模糊的问题发表评论。您能否改进您的问题,以便我们提供更好的帮助? 感谢您的回答并将我的问题更改为更好的格式。对不起,我的问题不清楚,我会改进的。否则,我已将 that 标头添加到“reactions”,并且该错误不再出现。即使我的解释不清楚,我也非常感谢您的帮助和您的时间。谢谢你俩!有没有什么方法可以让我通过感谢或名誉之类的方式感谢你? @edugius 如果您认为它对您的问题有益,您可以接受答案。开心。 【参考方案1】:

一个典型的 OpenFOAM 字典文件总是包含一个名为 FoamFileFoam::Istream。下面是一个典型的system/controlDict 文件的示例:

FoamFile

    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      controlDict;

在字典头的构建过程中,如果这个Istream 不存在,OpenFOAM 会通过引发您遇到的错误消息来停止其操作:

First token could not be read or is not the keyword 'FoamFile'

标头的好处可能是贡献了 OpenFOAM 的抽象机制,否则会很困难。

如 cmets 中所述,添加标头实体几乎总能解决此问题。

【讨论】:

以上是关于第一个令牌无法读取或不是 OpenFOAM 中的关键字“FoamFile”的主要内容,如果未能解决你的问题,请参考以下文章

Azure B2C - 无法从策略中的 JWT 客户端断言令牌读取“日期”声明

JMeter:无法将 CSV 变量复制到另一个变量中

无法在 React.js 中读取 json,出现意外的令牌错误

令牌无效错误:指定的令牌无效:无法读取未定义的属性“替换”?

无法读取未定义的 reactjs JWT 身份验证的属性“令牌”

openFOAM- 在 Web 查看器 VTK.js 上可视化 vtk 文件