跳转至

数值积分

内力虚功的离散化外力虚功与整体方程的组装中得到的单元内力向量 \(\boldsymbol{q}^e, \boldsymbol{Q}^e\) 以及单元刚度矩阵 \(\boldsymbol{K}^e\),都表示为单元区域 \(\Omega^e\)\(\Omega^e_0\) 上的积分。FrontISTR 使用 Gauss 积分公式对这些积分进行数值计算。

Gauss 积分公式与变量变换

Gauss 积分公式用积分点 \(\boldsymbol{\xi}_i \in \Xi\) 处的被积函数值与权重 \(w_i\) 的线性组合来近似标准区域 \(\Xi\) 上的积分。将其应用于单元区域 \(\Omega^e\) 时,需要通过映射 \(\boldsymbol{x}: \Xi \to \Omega^e\) 进行变量变换,可写为

\[ \int_{\Omega^e} f(\boldsymbol{x})\, dv \approx \sum_{i=1}^{n_q} w_i\, f(\boldsymbol{x}(\boldsymbol{\xi}_i))\, J_{\xi_i}, \qquad J_{\xi_i} = \left.\det\!\left(\frac{\partial \boldsymbol{x}}{\partial \boldsymbol{\xi}}\right)\right|_{\boldsymbol{\xi}_i} \]

其中 \(n_q\) 为积分点数,\(J_{\xi_i}\) 为变换 Jacobian 的行列式。标准区域 \(\Xi\) 由单元类型确定(六面体为 \([-1,1]^3\),三角形、四面体和楔形分别采用各自的参考形状),积分点 \(\boldsymbol{\xi}_i\) 和权重 \(w_i\) 以数值表给出。面积积分也可通过将单元面由二维标准区域映射得到,并以相同形式处理。

FrontISTR 采用的典型积分点数如下(单元类型的对应关系参见单元编号体系与形状函数库)。

单元类型 积分公式 积分点数
4 节点四面体(tet4n 1 点公式 1
10 节点四面体(tet10n 4 点公式 4
6 节点三棱柱(prism6n 2 点公式 2
15 节点三棱柱(prism15n 9 点公式 9
8 节点六面体(hex8n 2×2×2 Gauss-Legendre 8
20 节点六面体(hex20n 3×3×3 Gauss-Legendre 27
4 节点四边形(quad4n 2×2 Gauss-Legendre 4
8 节点四边形(quad8n 3×3 Gauss-Legendre 9
3 节点三角形(tri3n 1 点公式 1
6 节点三角形(tri6n 3 点公式 3

对于六面体、四边形和线单元,采用各轴方向 Gauss-Legendre 公式的张量积。三角形、四面体和三棱柱则采用适合单纯形形状的专用公式,即直接在三角形等参考形状上精确积分多项式的积分点配置。

应用于单元积分

在单元积分中,以自然坐标 \(\boldsymbol{r}\) 作为标准区域坐标(\(\boldsymbol{r} = \boldsymbol{\xi}\)),到物理坐标的映射由形状函数对节点坐标进行插值给出。根据参考构形的选择(参见增量分析框架),按如下方式区分使用。

Total Lagrange 法(在参考构形 \(\Omega^e_0\) 上积分):映射和 Jacobian 为

\[ \boldsymbol{X}^e(\boldsymbol{r}) = \sum_{\alpha} N_\alpha^e(\boldsymbol{r})\, \boldsymbol{X}^e_\alpha, \qquad J_{r_i} = \left.\det\!\left(\frac{\partial \boldsymbol{X}}{\partial \boldsymbol{r}}\right)\right|_{\boldsymbol{r}_i} \]

单元内力和刚度矩阵近似为

\[ \boldsymbol{Q}^e \approx \sum_{i=1}^{n_q} w_i\, (\boldsymbol{B}_L + \boldsymbol{B}_{NL})^T\, \boldsymbol{S}\, J_{r_i}, \qquad \boldsymbol{K}^e \approx \sum_{i=1}^{n_q} w_i\, \boldsymbol{K}^e_{x}\, J_{r_i} \]

其中 \(\boldsymbol{B}_L, \boldsymbol{B}_{NL}, \boldsymbol{S}, \boldsymbol{K}^e_{x}\) 均在积分点 \(\boldsymbol{r}_i\) 处计算。

Updated Lagrange 法(在当前构形 \(\Omega^e\) 上积分):映射和 Jacobian 为

\[ \boldsymbol{x}^e(\boldsymbol{r}) = \sum_{\alpha} N_\alpha^e(\boldsymbol{r})\, \boldsymbol{x}^e_\alpha = \sum_{\alpha} N_\alpha^e(\boldsymbol{r})\, (\boldsymbol{X}^e_\alpha + \boldsymbol{u}^e_\alpha), \qquad J_{r_i} = \left.\det\!\left(\frac{\partial \boldsymbol{x}}{\partial \boldsymbol{r}}\right)\right|_{\boldsymbol{r}_i} \]

并近似为

\[ \boldsymbol{q}^e \approx \sum_{i=1}^{n_q} w_i\, \boldsymbol{B}_L^T\, \boldsymbol{\sigma}\, J_{r_i}, \qquad \boldsymbol{K}^e \approx \sum_{i=1}^{n_q} w_i\, \boldsymbol{K}^e_{x}\, J_{r_i} \]

近似为上述形式。

两种公式的差别只有映射输入的节点坐标是 \(\boldsymbol{X}^e_\alpha\) 还是 \(\boldsymbol{x}^e_\alpha\) 这一点,积分点、权重和积分点循环的结构是相同的。

完全积分与降阶积分

采用足够积分点数、能够精确积分被积函数多项式阶次的积分称为完全积分;采用比其少一个等级的积分点数的积分称为降阶积分。降阶积分可用于缓解剪切锁定和体积锁定,但同时需要处理沙漏模态等伪变形模态。各单元类型的积分点数以及完全积分/降阶积分的选择,在单元编号体系与形状函数库及后续内容和高性能单元公式中说明。

相关项目