从非结构化网格上的体积收缩数据产生顶点位移

计算科学 有限元 计算几何 有限体积 传播热量
2021-12-17 15:28:00

我想知道如果计算的数据是非结构化网格中每个元素/单元的体积收缩,那么为网格节点/顶点生成兼容位移的有效方法是什么?

当计算材料的热膨胀,然后必须产生节点​​位移和应力时,可能会进行类似的操作,从而产生热膨胀。基本上它应该是我想的相同算法。

谢谢。

1个回答

根据我们在评论中的讨论,您似乎vtkCellDataToPointData想要将存储为单元数据的体积收缩转换为节点值或数据。我认为这可能会导致体积缩小(ΔVV) 被定义为应变张量的轨迹,并且没有理由不能将该参数内插到网格中存在的节点:

ΔVV=Tr(ε)

请注意,vtkCellDataToPointData仅使用线性插值会导致它对 FEM 网格的基函数一无所知。如果您已经知道 FEM 方案中网格的基函数是什么,您可能希望将其用于插值,而不是使用可以由 VTK 自动完成的简单线性函数。最后一点,对你来说可能很重要,vtkCellDataToPointData因为这个类有一个属性函数SetContributingCellOption,你可以在其中指定哪些单元格或网格将有助于计算节点值。例如,在您要计算体积的特定情况下收缩,2D 或 1D 单元的贡献是没有意义的,只有 3D 单元(例如四面体、六面体等)应该有助于计算体积收缩的节点值。您可以使用函数指定哪些单元有助于计算节点值SetContributingCellOption我希望它对你有帮助。