三维实体单元的形函数¶
本章汇总形函数与有限元近似中引入的形函数 \(N_\alpha^e(\boldsymbol{r})\) 在 FrontISTR 连续体分析所使用的三维实体单元中的自然坐标系及其具体形式。对象包括一次/二次四面体(341、342)、一次/二次三棱柱(351、352)、一次/二次六面体(361、362)共 6 种类型。HEC-MW 网格格式中的节点排列顺序和面编号请参见功能参考中的单元库。
由这些形函数和 Jacobian 行列式构造单元积分的步骤遵循数值积分。361 的 B-bar、F-bar、不协调公式以及梁和壳单元的形函数在高性能单元公式中介绍。
自然坐标系与内部节点排列¶
形函数定义在各单元的自然坐标 \(\boldsymbol{r}\) 上。三维实体单元根据单元形状使用以下 3 种自然坐标系。
- 六面体(361、362):\(\boldsymbol{r} = (\xi, \eta, \zeta)\),\(-1 \le \xi, \eta, \zeta \le 1\)。
- 四面体(341、342):体积坐标 \((L_1, L_2, L_3, L_4)\),\(L_1 + L_2 + L_3 + L_4 = 1\),\(L_i \ge 0\)。取 \(\boldsymbol{r} = (L_2, L_3, L_4)\) 为独立变量,并由 \(L_1 = 1 - L_2 - L_3 - L_4\) 确定。
- 三棱柱(351、352):将底面三角形的体积坐标 \((\xi, \eta)\)(\(0 \le \xi, \eta\),\(\xi + \eta \le 1\))与轴向坐标 \(\zeta \in [-1, 1]\) 组合,令 \(\boldsymbol{r} = (\xi, \eta, \zeta)\)。辅助量 \(a = 1 - \xi - \eta\) 用作底面的第三个体积坐标。
对于一次单元,单元节点编号在 HEC-MW 输入格式与内部格式中一致。对于二次单元,两种格式对边中间节点的排列约定不同:FrontISTR 的输入接受 HEC-MW 格式(先依次排列角节点,再按边 1-2、2-3、……的顺序排列中间节点),而单元库中的形函数实现则以另一种节点排列为前提。
两种格式的差异由网格读取后立即调用的 hecmw2fstr_mesh_conv 针对各单元进行重排来消除。三维实体单元中,需要转换的是以下 2 种类型。
| 单元类型 | 转换表 | 内容 |
|---|---|---|
| 342(二次四面体) | Table342 |
将 10 个节点重排为 \(\{1,2,3,4,7,5,6,8,9,10\}\) |
| 352(二次三棱柱) | Table352 |
将 15 个节点重排为 \(\{1,2,3,4,5,6,9,7,8,12,10,11,13,14,15\}\) |
由于重排直接针对存储单元连接信息的数组进行,此后的所有单元库调用均使用 FrontISTR 内部节点排列。对于二次六面体单元 362,HEC-MW 输入格式与 FrontISTR 内部格式的中间节点排列一致,因此不存在转换表。结果输出时会调用逆转换 fstr2hecmw_mesh_conv,恢复为 HEC-MW 格式的节点排列后再写出,因此在输入和输出两端,用户只需关注 HEC-MW 格式。以下形函数中的节点编号均采用转换后的 FrontISTR 内部格式。
一次单元的形函数¶
一次四面体单元(341)的形函数就是体积坐标本身:
一次三棱柱单元(351)的形函数是底面三角形的线性形函数(\(a, \xi, \eta\))与轴向线性形函数(\((1-\zeta)/2, (1+\zeta)/2\))的乘积:
一次六面体单元(361)的形函数是三个轴向线性形函数的张量积:
其中 \((\xi_\alpha, \eta_\alpha, \zeta_\alpha)\) 表示节点 \(\alpha\) 的自然坐标值(各分量均为 \(\pm 1\))。
二次单元的形函数¶
二次四面体单元(342)的形函数分为 4 个角节点和 6 个边中间节点:
中间节点 5~10 分别对应边 1-2、2-3、1-3、1-4、2-4、3-4 的中点。
二次三棱柱单元(352)的形函数由 6 个角节点、三角形面上的 6 个边中间节点以及轴向棱上的 3 个中间节点构成:
中间节点 7~9 对应底面三角形(\(\zeta = -1\))各边的中点,10~12 对应顶面三角形(\(\zeta = +1\))各边的中点,13~15 对应轴向棱的中点。
二次六面体单元(362)是 Serendipity 族的 20 节点单元。将节点 \(\alpha\) 的自然坐标值记为 \((\xi_\alpha, \eta_\alpha, \zeta_\alpha)\)。对于角节点(\(\alpha = 1, \ldots, 8\),各分量均为 \(\pm 1\)),
对于边中间节点(\(\alpha = 9, \ldots, 20\),3 个自然坐标中有一个为 \(0\),其余 2 个为 \(\pm 1\)),当 \(\xi_\alpha = 0\)(边方向为 \(\xi\) 轴)时,
对于边方向为 \(\eta\) 轴或 \(\zeta\) 轴的中间节点,也同样通过以平方项消去相应自然坐标的形式给出。