首页 > 解决方案 > 如何根据节点坐标及其连接数据在 Abaqus inp 文件中重建 Python/Matlab 中的网格?

问题描述

我正在研究一种机器学习模型,该模型可以预测施加力后对象中节点的位移。我的模型使用 FEM Abaqus 生成的数据进行训练,我想根据 ML 模型预测的节点坐标重建网格。到目前为止,我已经能够从节点坐标中重新创建一个带有 3D 散点图的表示,但它不是一个网格。我的数据存在于 Abaqus inp 文件中,包括节点的坐标以及哪些节点对哪些元素有贡献(下图)。 abaqus inp 文件

如果有人可以帮助我解决这个问题,我将不胜感激。谢谢你。

标签: pythonmeshabaqus

解决方案


鉴于您有一个四面体元素,正如我从您的 .inp 文件中看到的那样,您可以使用所谓的 delaunay 三角剖分。这基本上是用于四面体网格生成的方法。要点是:两个输出网格不能完全相同。MATLAB 有一个 delaunay 的内置示例,看看那个。您也可以尝试从 Abaqus 读取连接表并使用此表。

例如 MATLAB:

trimesh(T,x,y,z)

其中 T 是连接矩阵(从 abaqus 读取或使用 delaunay 函数),x,y,z 是节点的相应坐标。

对于 python,有类似 trimesh 的可能性,我希望 scipy 也有一些网格划分功能。


推荐阅读