【问题标题】:Problem in loading (.msh) file in fipy via Gmsh3D通过 Gmsh3D 在 fipy 中加载 (.msh) 文件时出现问题
【发布时间】:2020-11-13 09:52:31
【问题描述】:

我正在尝试将我的网格文件 (.msh) 从 Gmsh 4.7.0 导入 FiPy==3.4.2.1 (Windows 10)(Python 2.7.9)。 该网格是使用开源 FEM 软件 (Cast3M) 创建的,然后以 .MED 文件的形式导出到 Gmsh。 Gmsh 在相同数量的元素和节点下完美地查看了我的网格,没有任何问题。 然后我继续从 Gmsh 将网格导出为 .msh 文件。 (文件----导出----msh文件---保存)。 我在做:

mesh=fp.Gmsh3D('cylinder.msh') #After importing fipy

所以我得到了这个错误:

Traceback (most recent call last):
  File "<itasca-code-2-53a6529af1f3>", line 8, in <module>
  File "C:\Users\Youssef Fawaz\AppData\Roaming\Python\Python27\site-packages\fipy\meshes\gmshMesh.py", line 1993, in __init__
    self._orderedCellVertexIDs_data) = self.mshFile.read()
  File "C:\Users\Youssef Fawaz\AppData\Roaming\Python\Python27\site-packages\fipy\meshes\gmshMesh.py", line 813, in read
    raise GmshException(errStr)
fipy.meshes.gmshMesh.GmshException: Gmsh hasn't produced any cells! Check your Gmsh code.

Gmsh output:
Info    : Running 'gmsh c:\users\yousse~1\appdata\local\temp\tmpoqqytw.geo -3 -nopopup -format msh2 -o c:\users\yousse~1\appdata\local\temp\tmpygqpw3.msh' [Gmsh 4.7.0, 1 node, max. 1 thread]
Info    : Started on Fri Nov 13 10:31:12 2020
Info    : Reading 'c:\users\yousse~1\appdata\local\temp\tmpoqqytw.geo'...
Info    : Done reading 'c:\users\yousse~1\appdata\local\temp\tmpoqqytw.geo'
Info    : Meshing 1D...
Info    : Done meshing 1D (Wall 0s, CPU 0s)
Info    : Meshing 2D...
Info    : Done meshing 2D (Wall 0s, CPU 0s)
Info    : Meshing 3D...
Info    : Done meshing 3D (Wall 0s, CPU 0s)
Info    : 0 nodes 0 elements
Info    : Writing 'c:\users\yousse~1\appdata\local\temp\tmpygqpw3.msh'...
Info    : Done writing 'c:\users\yousse~1\appdata\local\temp\tmpygqpw3.msh'
Info    : Stopped on Fri Nov 13 10:31:12 2020 (From start: Wall 0.00300002s, CPU 0s)

需要注意的是,我在 DEM 代码(Itasca 开发的 PFC3D)中与 fipy 耦合实现了这个网格。例如问题是导入我的网格(不是我的代码问题)。 这是我的文件(.msh、.MED)的链接和我在 Gmsh3D 中的网格图像 files.

谢谢

【问题讨论】:

    标签: python python-2.7 3d mesh fipy


    【解决方案1】:

    FiPy 只能理解来自 Gmsh 的 msh2 format。使用 -format msh2 从 Gmsh 导出。

    【讨论】:

    • 它正在工作! (在将文件中的标头从 $parametricNodes 更改为 Nodes 之后)。您能告诉我哪个版本的 Gmsh 与 Fipy 3.1 兼容吗?。@jeguyer 先生非常感谢您!
    • @youssef 我假设您并不是真的指 FiPy 3.1;那是七年前发布的! FiPy 目前可以使用 Gmsh 3 或 4,但它无法理解来自 Gmsh 4 的最新 msh 格式。我不知道 $parametricNodes 是什么。 MSH documentation 中没有提到它们。
    • 实际上我的代码是使用 Fipy 3.1 编写的(我所做的测试是使用 fipy3.4.2.1 和 Gmsh 4.7.0)。如果我写 fp.Gmsh3D 它会告诉我 Gmsh 是在这个 Fipy 3.1 版本中实现。所以我想知道哪个版本的 Gmsh 与 fipy 3.1 兼容;因为我收到了这个错误:EnvironmentError: Gmsh version must be >= 2.0. (注:我把Gmsh.exe放在python的文件scripts中)
    • 我不知道这是什么意思:“Fipy 3.1(我所做的测试是使用 fipy3.4.2.1”。cmets 无法解决这个问题。请提出一个关于这个“Gmsh version must be &gt;= 2.0.”问题。我们的mailing listissue tracker 可能是比 StackOverflow 更好的故障排除位置。
    猜你喜欢
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多