问题标签 [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.
c++ - C++ 中对 .so 文件的未定义引用
在 Open Foam 上工作,创建了我的模型和子模型,库已成功编译,但是当我尝试使用相同的库链接器编译求解器时出现此错误
有谁知道这个错误是什么?我在 Ubuntu 12.04 LTS 上使用 GCC
c++ - 接受参数化类型(包括子类型)的 C++ 函数
OpenFOAM 库定义了两种类型,volMesh
和surfaceMesh
,它们都继承自GeoMesh<fvMesh>
. 我想定义一个接受参数的函数:
但是,当我尝试调用该函数时,g++ 会给出错误“引用类型的无效初始化”:
来自 Java 背景,这个问题似乎类似于忘记使用声明,例如
如果可能,我需要避免 C++11 特有的特性。
python - 用python读取VTK文件
我有以下由OpenFOAM生成的 VTK 文件:
它是一个 3D 域的平面切割平面。有 4 个点,形成两个三角形。在每个点上,定义了向量 U。我可以使用以下代码获取点数和点数:
不幸的是,我还没有找到获取三角形列表(多边形)和数据列表(向量 U)的可能性。有人可以帮我解决这个问题吗?
马塞尔
git - Fresh git clone showing changed files
I am doing a clone of a git repository and I am finding changed files. I have looked at some of the other posts with similar issues, but as of yet the steps don't seem to help. I have tried adjusting the autocrlf settings, the case settings and some of the other configurations, but I am still seeing modified files, when I do 'git status'.
The configurations from the core section of the .git/config is:
A truncated sample of paths that are being shown as modified are:
A truncated sample of paths that are being shown as untracked are:
I did the following after each config change:
The Git repository is git://github.com/OpenFOAM/OpenFOAM-2.3.x.git and the current operating system is MacOS X 10.9.5. Git version is 1.9.3. File system is HFS+ (case-insensitive).
python - 读取包含在括号“{”内的特定关键字的文本文件
我想阅读一个如下所示的文本文件。它有几何名称——>“hvac,OUTLET,INLET,Lamelle,duct and wall”
在这种情况下只有6个,但我可能会根据CFD过程的不同模拟而有所不同。
我只想提取几何名称及其相应的“类型”。在我的例子中,几何和类型分别是“hvac,OUTLET,INLET,Lamelle,duct and wall”和“wall and patch”。
我应该使用 Parse using XML 还是只搜索 '{\n' 和 '}\n' Keyword 之后的字符串。
openfoam - 将 OpenFOAM 场定义为空间函数
我有一些由 (x,y,z) 的函数指定的初始条件。
我想以编程方式定义一个字段,其值是 (x,y,z) 的函数。这可以作为字段构造的一部分来完成,而不是循环单元格/面并单独设置每个值吗?
此外,我可以直接设置内部场和边界值吗?
openmpi - openfoam openmpi 错误:找不到 libmpi.so.0
每当我尝试在 openfoam 中编译求解器时,都会收到错误消息:
我想问题出在 open-mpi 的安装上。如何检查/修复错误?
c++ - 从共享对象中删除符号
我对构建过程没有太多控制权,但是当我的下一段代码尝试与先前编译的共享库链接时,我得到一个未定义的符号引用错误。[虽然上述符号在so中]
这是来自感兴趣的共享库的符号片段(libmycode.so 下面给出了完整的真实姓名),我想删除这个片段的最后两行并测试删除这些是否对我的情况有帮助。
我再说一遍,我不能只使用 g++ -unresolved-symbols -fdata-sections -ffunction-sections 来编译它们。
还
没用
此外,我还有另一个 libmycode2.so 与我的代码链接得很好,这两个对象之间的区别是我在片段中提到的另外两行。
可执行文件的选项和文件
现在选项
当我尝试编译 pasrChem1dToFoam_m 时的确切错误消息
c++11 - c++隐藏唯一指针
我有一些代码依赖于一些包含文件,这些包含文件部分定义在源文件的开头(通常)和其他在函数中使用的文件。
我的典型例子是 OpenFOAM 求解器源。
因为此代码的方案是高度程序化的,但我想将所有这些放入一个提供 init()、run() 和可能 release() 的类中,我计划将一些变量作为私有变量放入类中成员。
我不想修改包含的文件,因为它们属于库。
使用类的原因是其他例程类与此代码一起运行。
事情就是这样。init() 必须准备一些变量,并且这些变量(作为其他类的类型)不是显式构造函数和特殊参数的情况。它被调用一次。run() 被多次调用。程序代码只有一个循环,并且该循环的内容被放入 run() 方法。
所以最好的解决方案是将这些变量放入 std::unique_ptr 和 init 可以构造它需要的任何东西。显然,通过这个技巧,变量签名发生了变化,所以我创建了第二个引用声明,如下所示:
现在这有点乏味,所以我创建了一个宏
它为我完成了所有工作:
它工作得很好,但我一般不喜欢宏,特别是如果你需要调试代码。
现在我的问题是:有没有更好的方法来解决这个问题并使用模板定义之类的东西来实现所有的魔力?
编辑:我的意思是“工作得很好”,编译器可以翻译它。参考虽然仍然无效。
编辑:好的,我使用两个宏解决了无效指针问题:
现在我把FOAMPTR(TYPE,NAME)
它给会员,我得到了我独特的ptr。在该run()
方法中使用了第二个宏FETCHFOAMREF(NAME)
。当然 init() 必须确保正确初始化对象,否则程序将崩溃。
我仍然保留这个问题,因为我对该解决方案不满意。
python - 从 python 脚本调用别名命令
我需要通过自动化的 python 脚本运行 OpenFOAM 命令。
我的 python 代码包含这些行
其中 OF23 是一个 shell 命令,在别名中定义为
该脚本在终端中运行 OpenFOAM 命令,file_path 定义了转换为二进制格式的 stl 文件
但是当我运行脚本时,我得到 'OF23' 没有定义。
如何使我的脚本运行别名命令并执行下一个 OpenFOAM 文件转换命令