【问题标题】:How to import a 3D mesh which is generated by Gmsh to Fipy?如何将 Gmsh 生成的 3D 网格导入到 Fipy?
【发布时间】:2019-08-19 20:37:44
【问题描述】:

我正在研究耦合 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、column.msh、column.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")

【问题讨论】:

  • 请尝试 Gmsh 3.0.7 或更早版本:gmsh.info/bin/Windows。 Gmsh 4 为我们破坏了一些东西,我们还没有时间弄清楚。
  • 我找不到 3.0.7 版。我使用了 Gmsh 版本 3.0.6、2.5.0、2.7.0 和 2.11.0,但它们都给了我相同的东西:GmshException: Gmsh 没有产生任何细胞!检查您的 Gmsh 代码。
  • 对不起,我的意思是 3.0.6。 mesh = fp.Gmsh3D("Cylinder.msh, Cylinder.geo") 不是有效的语法。你可以试试mesh = fp.Gmsh3D("Cylinder.msh")mesh = fp.Gmsh3D("Cylinder.geo")

标签: python-2.7 mesh fipy


【解决方案1】:

FiPy 3.3 解决了 Windows 上 Gmsh 的一些问题。如果仍有问题,请升级并告诉我们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多