- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个脚本,该脚本将使用 Gmsh Python API 自动网格化几何形状以进行 CFD 分析。我遇到了一些问题:
首先,我希望能够编写 Gmsh 脚本文件 (.geo) 以便进行调试。我查看了 Gmsh API 的源代码,发现 gmsh.write()
支持 .geo_unrolled 扩展。函数,但不仅仅是 .geo。此扩展主要实现了这一点,但在使用 gmsh.write('test.geo_unrolled')
时,似乎任何网格划分操作(例如将曲线标记为超限)或变换(例如扩张)都不会写入输出文件。 。我认为这与 _unrolled 部分有关。但是有什么方法可以从 API 中获取完整的 Gmsh 脚本吗?
其次,当我尝试复制样条曲线时,如下例所示:
p1 = gmsh.model.geo.addPoint(-1, 0.5, 0, 0.1)
p2 = gmsh.model.geo.addPoint(0, 1, 0, 0.1)
p3 = gmsh.model.geo.addPoint(1, 0.5, 0, 0.1)
s1 = gmsh.model.geo.addSpline([p1, p2, p3])
s2 = gmsh.model.geo.copy([s1])
我得到ValueError: ('gmshModelGeoCopy returned non-zero error code: ', 1)
。错误代码 1
,似乎表明当s1
时找不到原始样条线(copy()
)的标签。叫做。我在这里错过了什么吗?例如,我尝试过调用 gmsh.model.geo.synchronize()
在尝试调用 copy()
之前,但这没有效果。
最后,当我使用 Gmsh GUI 中的“模块 - 几何 - 基本实体 - 变换 - 缩放”进行扩张变换时,选中“在副本上应用缩放”选项对话框中,在上面的示例样条线上,我确实得到了预期的曲线的缩放版本,包括三个点。假设我能够使用 API 完成相同的任务,那么我如何引用缩放样条线经过的三个新点,例如,如果我想在原始样条线的起点和缩放样条线?
最后,我想要完成的是:通过点列表绘制一条样条线,创建该样条线的缩放副本,在起点和终点之间绘制线条,并创建一个由两条样条线和直线。有没有比我尝试进行的扩张更好的方法?
最佳答案
可能为时已晚,但你永远不知道。
我从未需要使用 API 创建 .geo 文件。但我发现this discussion在 Gmsh 邮件列表存档中,这可能会有所帮助。
关于 copy
的错误,您必须指定要复制的实体的尺寸,而不仅仅是标签(检查 the documentation ,它指的是 dimTag
)。这与旋转
、对称
等转换是一样的。使用以下内容应该可以:
s2 = gmsh.model.geo.copy([(1, s1)])
注意:当仅复制一个实体时,我认为内部括号或方括号都是多余的,否则您必须提供 [(dim_1, tag_1), (dim_2, tag_2), 形式的元组列表。 ..,(dim_n,tag_n)]。
请记住,copy
将返回同类变量(元组列表),即在您的情况下是变量s2
将是[(1, tag_s2)]
。因此,您可能不想使用相同类型的变量名称,因为为了获取标签,您必须使用 s2[0][1]
而不是简单的 s2
.
这里您可以部分回答以下问题,因为复制实体的标签将包含在您的返回变量中。
希望对您或其他人有所帮助!
关于python - 关于 Gmsh Python API 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54951925/
请问如何在 ubuntu 16.04LTS 上安装最新版本的 gmsh,即 gmsh 3.0.7?使用 sudo apt install gmsh 它只会安装 gmsh 2.10.1。 我也更新和升级
我正在尝试从 gmsh 中的简单几何形状构建大型结构,并且我想使用结构化(四边形)网格。我首先创建该形状,然后根据需要经常复制和翻译它以构建我的最终结构。 问题是,即使我将原始形状的线和面定义为超限的
我刚刚在 gmsh 中用直线连接了两个点,但如何撤消它? 最佳答案 GMSH 不是一个与其他工具非常相似的 CAD 工具。它提供了一个GUI;然而,并不是所有的操作都可以通过它完成,即使是那些可以完成
我维护a little Python package在用于网格表示的不同格式之间进行转换 à la 这些文件可能会变得很大,因此在使用 Python 读取它们时,高效地读取它们很重要。 最常用的格式之
我对 Python 非常陌生,如果这是一个愚蠢的问题,我很抱歉。无论如何,当我尝试运行我在 PyCharm (Python IDE) 上安装的包时,我收到此错误: Traceback (most re
我想创建一个空心或厚半圆环,为此,我使用以下命令: SetFactory ("OpenCASCADE"); Torus (1) = {0,0,0, 170,30, Pi}; Torus (2) = {
我正在尝试对由 3 种 Material 组成的复杂几何体进行网格划分,如下所示: 几何图形是从 *.stp 文件导入的。 我在地理文件中定义了几个物理表面和 3 个物理域: Physical Sur
我正在尝试编写一个脚本,该脚本将使用 Gmsh Python API 自动网格化几何形状以进行 CFD 分析。我遇到了一些问题: 首先,我希望能够编写 Gmsh 脚本文件 (.geo) 以便进行调试。
我是 fipy 的新手,所以如果我问一些应该显而易见的问题,请原谅我的无知。但是我无法运行一个已经存在的(并且在其他机器上工作)脚本,得到 EnvironmentError: Gmsh version
我已经生成了一个 gmsh 网格,并通过 Gmsh2D 导入到 FiPy 中。我想解决表面问题以设置边界条件,但我不知道如何操作。 在我在文档中发现的 FiPy 示例中,建议命名某些行以便稍后处理它们
我是一名优秀的程序员,十分优秀!