圆孔平板的应力,为什么越算越高?

ANSYS 官方验证案例 01

圆孔平板的应力,为什么越算越高?

从 Shigley 应力集中系数,到 MATLAB 验证与 ANSYS 自适应网格收敛

先看结论 同一模型的孔壁最大 X 向正应力,从粗网格的 292.36 Pa 上升到 314.81 Pa。这不是求解器“不稳定”,而是粗网格低估了孔边峰值;最终值与 Shigley 参考值 312.5 Pa 的误差仅为 0.74%。

标题: 矩形圆孔板物理模型:左端固定,右端施加100 Pa拉伸压力,板长15 m、宽5 m、孔径1 m。 - 说明 矩形圆孔板物理模型:左端固定,右端施加100 Pa拉伸压力,板长15 m、宽5 m、孔径1 m。

图1 官方案例的物理模型与主要参数(示意图重新绘制)

一、问题从哪里来:孔会改变应力的传递路径

材料力学中的拉伸公式 σ = F/A,隐含了一个重要前提:构件截面规则,应力能够较均匀地通过截面传递。真实机械零件却经常包含轴肩、键槽、螺纹、油槽和孔等几何不连续。

Shigley 将这些几何不连续称为应力升高源。它们迫使载荷绕开缺口或孔洞,使附近的应力线变密,局部应力不再服从简单的均匀分布。最大局部应力与名义应力之间用理论应力集中系数表示:

Kₜ = σₘₐₓ / σ₀

这里最容易犯错的不是有限元按钮,而是 σ₀ 的定义。不同手册可能采用毛截面应力,也可能采用净截面应力。如果参考曲线使用净截面,而计算时却代入毛截面应力,即使模型完全正确,也会得到错误的比较结论。

二、官方案例要求验证什么

ANSYS Workbench Verification Manual 2024 R1 中的 VM-WB-MECH-002,是一个线性静力三维实体案例:矩形板左端固定,右端施加拉伸压力,要求提取圆孔圆柱面上的最大 X 向正应力。

类别

参数

数值

几何

长度 L

15 m

几何

宽度 w

5 m

几何

厚度 t

1 m

几何

孔半径 a / 孔径 d

0.5 m / 1 m

材料

弹性模量 E

1000 Pa

材料

泊松比 ν

0

载荷

拉伸压力绝对值 |p|

100 Pa

 

结果口径 必须使用 Normal Stress,并选择 Global X 方向;作用域限定为孔的圆柱面;读取 Maximum。Equivalent Stress 与本案例参考值不是同一个物理量。

三、为什么参考答案不是 300 Pa

1. 先计算载荷与净截面名义应力

右端受压面积为 w×t,因此压力等效为总拉力:

F = |p|wt = 100 × 5 × 1 = 500 N

圆孔削弱后的最小净截面积为:

Aₙₑₜ = (w − d)t = (5 − 1) × 1 = 4 m²

Shigley 圆孔板曲线采用净截面名义应力,因此:

σ₀,ₙₑₜ = F / Aₙₑₜ = 500 / 4 = 125 Pa

2. 再读取有限宽板应力集中系数

本案例的孔径与板宽之比为 d/w = 1/5 = 0.2。由 Shigley 的中心圆孔有限宽板曲线可读得 Kₜ≈2.5。于是:

σₘₐₓ = Kₜσ₀,ₙₑₜ ≈ 2.5 × 125 = 312.5 Pa

这就是 Verification Manual 给出的目标值。它同时包含两个关键信息:板是有限宽的;应力集中系数以净截面名义应力为基准。

3. Kirsch 的 300 Pa 为什么也没有错

经典 Kirsch 解研究的是无限大薄板中心圆孔,在远处承受单向均匀拉应力 S。孔壁 r=a 上满足自由边界条件 σᵣᵣ=0、τᵣθ=0,环向应力为:

σθθ(a,θ) = S[1 − 2cos(2θ)]

在 θ=90° 和 270° 处,σθθ=3S。如果把远场应力取为 100 Pa,就得到 300 Pa。它正确描述了峰值位置和无限板极限,但本案例的 d/w=0.2,并不是无限宽板,所以不能用 300 Pa 代替官方有限宽板目标值。

一句话区分 Kirsch 的 300 Pa 是无限板解析基线;Shigley 的 312.5 Pa 是有限宽板工程参考值;二者假设与名义应力口径不同。

四、MATLAB验证:不是替代ANSYS,而是检查物理口径

MATLAB部分分为两层。第一层用 Kirsch 公式绘制孔周应力随角度的变化,检查峰值是否出现在孔的上下缘;第二层按 Shigley 的有限宽板口径计算 312.5 Pa,并与 ANSYS 的最终最大 X 向正应力比较。

下面的伪代码可以直接作为程序结构。它不会冒充一个完整二维有限元求解器,而是承担独立理论复核的角色。

输入:w, d, t, p, E, ν,ANSYS最大应力

计算总拉力:F = |p| × w × t

计算毛截面应力:σ_gross = F / (w × t)

计算净截面应力:σ_net = F / [(w − d) × t]

生成孔周角度:θ = 0°…360°

Kirsch孔壁环向应力:σ_θ = σ_gross[1 − 2cos(2θ)]

转换为全局X应力:σ_x = σ_θ × sin²θ

读取Shigley曲线:d/w = 0.2 → Kt_net ≈ 2.5

有限宽板参考值:σ_ref = Kt_net × σ_net

计算ANSYS相对误差,输出曲线、柱状图和结果表

标题: 柱状图比较Kirsch无限板300 Pa、Shigley有限宽板312.5 Pa和ANSYS结果314.812 Pa。 - 说明 柱状图比较Kirsch无限板300 Pa、Shigley有限宽板312.5 Pa和ANSYS结果314.812 Pa。

图2 MATLAB整理的三种比较口径:无限板、有限宽板与ANSYS结果

五、ANSYS里的收敛历史是怎么产生的

这条曲线不是 Newton-Raphson 力残差曲线,而是自适应网格收敛历史。每个点都代表:生成一套网格、完整求解一次、再读取一次孔壁最大 X 向正应力。

官方案例在孔圆柱面预先设置 Refinement=1;在 Normal Stress X 结果下插入 Convergence,允许变化为10%;Solution中的 Max Refinement Loops 设置为2。因此归档记录了“初始网格+两次自适应细化”,一共三个求解点。

标题: 自适应网格收敛曲线:最大X向正应力由292.36 Pa上升至313.77 Pa和314.81 Pa。 - 说明 自适应网格收敛曲线:最大X向正应力由292.36 Pa上升至313.77 Pa和314.81 Pa。

图3 初始网格与两次自适应细化后的最大应力变化

求解点

最大σx / Pa

变化 / %

节点

单元

初始网格

292.36

5,025

3,053

第1次细化

313.77

7.0662

25,869

17,427

第2次细化

314.81

0.33054

65,443

45,191

 

ANSYS在每次求解后,利用 Zienkiewicz-Zhu(ZZ)型误差指标识别应力误差较大的单元,并优先细化孔边及其过渡区域。这是一种 h 自适应方法:不提高单元阶次,而是用更多、更小的单元替换局部粗单元。

表中的“变化(%)”由相邻两次结果的对称相对变化计算。用显示值近似表示为:

Changeᵢ = 2|Sᵢ − Sᵢ₋₁| / (|Sᵢ| + |Sᵢ₋₁|) × 100%

最后两次结果仅相差约0.33%,说明继续加密对目标量的影响已经很小。要注意:网格收敛只说明结果对离散尺度不再敏感,并不自动证明材料、边界条件和结果提取口径一定正确。

六、最终结果:既要看云图,也要看验收量

标题: ANSYS官方工程的Global X Normal Stress云图,孔的上下缘出现约314.8 Pa最大拉应力。 - 说明 ANSYS官方工程的Global X Normal Stress云图,孔的上下缘出现约314.8 Pa最大拉应力。

图4 直接读取官方工程结果文件得到的 Global X Normal Stress 场

孔的上下缘出现最大拉应力,位置与 Kirsch 理论一致;孔的左右侧则出现较低甚至压应力区域。云图首先回答“空间分布是否合理”,最大值表格再回答“指定验收量是否通过”。

比较对象

最大σx / Pa

与参考值的关系

Kirsch无限板

300.000

仅作无限板基线

Shigley/官方目标

312.500

验收参考值

ANSYS Mechanical

314.812

相对误差0.740%

 

Error = |314.812 − 312.5| / 312.5 × 100% = 0.740%

验证结论 最终网格变化0.33%,说明结果已基本网格稳定;相对Shigley有限宽板参考值误差0.74%,说明官方有限元模型通过该验收量验证。

七、复现这个案例时,最容易踩的五个坑

1. 把等效应力拿来比较:官方目标是孔壁 Global X Normal Stress 的最大值,不是 von Mises 应力。

2. 忽略名义应力定义:Shigley曲线以净截面应力为基准;直接使用100 Pa会把Kt的口径混乱。

3. 把Kirsch的300 Pa当作官方答案:Kirsch假定无限宽板,而该模型 d/w=0.2,有限宽度效应不可忽略。

4. 只看最后一张云图:至少保留节点数、单元数、相邻结果变化和参考值误差,才能形成验证证据链。

5. 把网格收敛等同于求解器收敛:图中的三个点是三套网格的完整解,不是单次线性方程求解内部的残差迭代。

八、这个案例真正想教会我们的是什么

圆孔板并不复杂,但它把有限元验证的基本逻辑串在了一起:先明确物理量,再统一理论口径;先用理论判断结果应该出现在哪里,再用网格收敛判断数值是否稳定;最后才把有限元结果与独立参考值比较。

完整验证链 工程问题 → 名义应力与参考公式 → MATLAB独立复核 → ANSYS建模 → 自适应网格收敛 → 结果口径核对 → 误差解释。

如果只记住“孔边要加密”,学生仍然只是学会了一个操作技巧。只有理解为什么目标值是312.5 Pa、为什么粗网格会低估应力、为什么0.33%与0.74%代表不同误差,这个案例才真正完成了从软件操作到CAE验证思维的转换。

参考资料

Ansys Workbench Verification Manual, Release 2024 R1, VM-WB-MECH-002, pp. 21–22.

Budynas, R. G., & Nisbett, J. K. Shigley’s Mechanical Engineering Design, 8th ed., Section 3–13, Figure 3–29 and Table A–15.

Kirsch, G. (1898). Die Theorie der Elastizität und die Bedürfnisse der Festigkeitslehre.

Ansys Help: Using Adaptive Convergence, Mechanical 2024 R2 documentation.

发布摘要:复现ANSYS官方圆孔板案例,从Shigley有限宽板应力集中系数出发,用MATLAB与自适应网格解释292.36 Pa如何收敛到314.81 Pa,并厘清Kirsch 300 Pa、官方目标312.5 Pa和最终误差0.74%的区别。

建议标签:#ANSYS #有限元 #应力集中 #网格收敛 #MATLAB #CAE验证

圆孔平板的应力,为什么越算越高?的图5

以下内容为付费内容,请购买后观看

matlab程序-理论计算-ansys分析结果-专属答疑

默认 最新