0

我目前正在用 Python 编写代码,用于通过管道流动。在这方面,我必须找到一条穿过由 nastran 网格定义的 3D 管道几何图形的中心线(具有三个或四个边的单元格,其坐标我可以访问)。我在 Python 中使用 pyNastran 模块来获取所有相关的数据和函数。我的问题是找到管道中心线的最有效方法是什么。该管道是一个 3d 管道,在所有方向上都有弯曲。(我有一个数组中网格上每个点的所有坐标)

4

1 回答 1

0

这不是那么容易的话题:-/问题是中心线不是本地属性。

可以肯定的是,中心线上的每个点对应于穿过管道的一个切片,或者更简单地对应于管道表面上的一个周长。对于任何在局部特征上定义该关系的类型,很容易找到弯曲或改变管道直径的示例,这些示例会产生“奇怪”的结果。

解决它的一种方法是查找具有此处需要的相似属性的主题。就像我们希望切片是“平行的”并均匀地通过管道。在一个项目中,我们使用热扩散/热传递来解决问题。想法是设置边界条件,在管道一侧设置边界条件 1,在另一侧设置边界条件 0。热量将从一侧传递到另一侧,等项将具有良好的特性。

之后,选择中心线离散化(在 [0-1] 上),为每个点找到该温度上的等项并找到该等项的质心。连接这些中心将产生中心线。

可以在 3D(体积)和 2D(表面)情况下进行扩散。在表面上做可能更快。

于 2015-10-13T07:43:25.433 回答