如何将由Gmsh生成的3D网格导入到Fipy?

时间:2019-03-28 23:27:42

标签: python-2.7 mesh fipy

我正在研究耦合的DEM-CFD模型。我将Fipy用于其CFD零件,并且我的几何图形是圆柱。如何将Gmsh中生成的网格导入Fipy?

我需要生成一个圆柱几何体,并通过在Fipy中以3D生成三角形网格来离散化它。我试图在Fipy的帮助下找到一条命令,以生成圆柱几何形状的3D三角形网格,但找不到与3D相关的任何内容。我在Gmsh软件中生成了Mesh,Fipy根据其帮助接受了它。我现在有网格文件,但是无法将其导入到Fipy。

每当我尝试将其导入模型时,都会遇到此错误Gmsh version must be >= 2.0。但是,我的Gmsh版本是4。

我也使用了Gmsh V2.5,但错误是相同的。我搜索了错误,发现有些人也在努力解决该错误。他们建议将Gmsh.exe文件放在脚本文件夹中以解决此问题。我已经做到了,但是又遇到了另一个错误。新的错误是

Windows Error: [Error 32] The process cannot access the file because it is being used by another process

命令为mesh = fp.Gmsh3D("Cylinder.msh")时。

我也搜索了此错误,有人建议在网格mesh = fp.Gmsh3D("Cylinder.msh, Cylinder.geo")之后提及几何文件。 现在,我得到了

GmshException: Gmsh hasn't produced any cells! Check your Gmsh code.

我试图制作一个圆形的圆形网格,该圆形网格是一个2D三角形网格(在Fipy帮助中),但是我知道了

GmshException: Gmsh hasn't produced any cells! Check your Gmsh code

python scritp,圆筒.msh,圆筒.geo和Gmsh.exe文件位于同一文件夹中。

错误:

File "C:\Users\jpethati\AppData\Local\Continuum\anaconda2\lib\site-packages\fipy\meshes\gmshMesh.py", line 809, in read
    raise GmshException(errStr)

GmshException: Gmsh hasn't produced any cells! Check your Gmsh code.

Gmsh输出:

Info    : Running 'gmsh c:\users\jpethati\appdata\local\temp\tmpsw2tzg.geo -3 -nopopup -format msh -o c:\users\jpethati\appdata\local\temp\tmp6gbww9.msh' [Gmsh 4.2.2, 1 node, max. 1 thread] 
Info    : Started on Fri Mar 29 10:25:25 2019 
Info    : Reading 'c:\users\jpethati\appdata\local\temp\tmpsw2tzg.geo'... 
Info    : Done reading 'c:\users\jpethati\appdata\local\temp\tmpsw2tzg.geo' 
Info    : Meshing 1D... 
Info    : Done meshing 1D (0 s) 
Info    : Meshing 2D...
Info    : Done meshing 2D (0 s) 
Info    : Meshing 3D... 
Info    : Done meshing 3D (0 s) 
Info    : 0 vertices 0 elements 
Info    : Writing 'c:\users\jpethati\appdata\local\temp\tmp6gbww9.msh'... 
Info    : Done writing 'c:\users\jpethati\appdata\local\temp\tmp6gbww9.msh' 
Info    : Stopped on Fri Mar 29 10:25:25 2019
import fipy as fp

第一次尝试

mesh = fp.Gmsh3D("Cylinder.msh") 

第二次尝试

mesh = fp.Gmsh3D("Cylinder.msh, Cylinder.geo")

1 个答案:

答案 0 :(得分:0)

FiPy 3.3解决了Windows上Gmsh的一些问题。请升级,如果您仍然遇到问题,请告知我们。