我有一个由三角形生成的二维网格(网格生成器软件不相关)。该软件生成一个完美的网格,通过分段线性函数(P1 网格)来近似解。
例如,对于 2D 中的单位正方形 [0,1]x[0,1],我有一个文件,其中包含其节点的坐标(例如,具有 5 个节点的网格):
1 0.0 0.0 # coordinates of node 1
2 1.0 0.0 # coordinates of node 2
3 1.0 1.0 # coordinates of node 3
4 0.0 1.0 # coordinates of node 4
5 0.5 0.5 # coordinates of node 5
称为coordinate.dat
,它有 4 个元素(三角形),其连通性由名为 的文件给出element.dat
:
1 1 5 4 # vertices of triangle 1
2 1 2 5 # vertices of triangle 2
3 2 3 5 # vertices of triangle 3
4 5 2 4 # vertices of triangle 4
现在,我需要对有限元空间属于任意多项式次数的问题进行编程,例如,通过 2、3 等多项式来近似解。
为此,我需要构建一个带有新节点的新网格和一个带有更多节点的新连接文件。我需要的一般网格的一个例子:
我已经知道如何计算每个元素上所有新节点的坐标(它只是一个易于计算的凸组合),但我无法获得一种简单的方法来生成新的连接文件。
几天来我一直在考虑如何为此编写一个通用方法,但我想不出任何方法。
你知道一些从网格 P1 创建网格 P2、P3、...的方法吗? 或更准确地说,如何构建新的连接文件?