通过 Gmsh3D 在 fipy 中加载(.msh)文件时出现问题
Problem in loading (.msh) file in fipy via Gmsh3D
我正在尝试将我的网格文件 (.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)的 link 和我在 Gmsh3D 中的网格图像
files.
谢谢
FiPy 只理解来自 Gmsh 的 msh2
format。使用 -format msh2
.
从 Gmsh 导出
我正在尝试将我的网格文件 (.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)的 link 和我在 Gmsh3D 中的网格图像 files.
谢谢
FiPy 只理解来自 Gmsh 的 msh2
format。使用 -format msh2
.