von Mises应力 — CAE用语解释

分类:用语集 | 2026-01-15
CAE visualization for von mises stress - technical simulation diagram

von Mises应力

🧑‍🎓

老师,在结构分析结果中,我经常看到von Mises应力的等值线图。为什么要看von Mises应力,而不是普通的应力呢?

von Mises应力的理论基础

von Mises应力的定义和目的

🧑‍🎓

von Mises应力是什么意思呢?它和简单的拉伸应力或压缩应力有什么区别吗?

🎓

根本的区别在于von Mises应力是一个"标量量"。材料内的某一点存在3个方向的法向应力和3个剪切应力,共6个应力张量分量。von Mises应力是将这6个分量转换为一个数值的"等价应力",主要用于预测延性材料的屈服。用公式表示如下:

$$ \sigma_{v} = \sqrt{ \frac{(\sigma_1 - \sigma_2)^2 + (\sigma_2 - \sigma_3)^2 + (\sigma_3 - \sigma_1)^2}{2} } $$

其中σ₁、σ₂、σ₃是主应力。

🧑‍🎓

为什么需要这样复杂的组合来计算呢?只看最大的主应力σ₁不行吗?

🎓

有些情况不行。比如考虑静水压状态,即从三个方向均匀压缩的情况。如果σ₁=σ₂=σ₃=-100MPa,最大主应力是-100MPa,但von Mises应力计算结果为0MPa。实际上,在静水压下,钢材不会屈服,能够承受非常高的压力。von Mises公式是基于剪切应变能,它评估的是引起"形状变化"的"偏差应力"的大小。

🧑‍🎓

偏差应力?形状变化?也就是说,你是在看导致材料"变形"的驱动力,对吗?

🎓

完全正确。应力张量可以分解为引起体积变化的"静水压分量"和引起形状变化(即剪切变形)的"偏差应力分量"。von Mises应力代表后者的大小。在简单的单轴拉伸试验中,如果屈服应力为$$ \sigma_Y $$,那么对于任何复杂的应力状态,当$$ \sigma_{v} < \sigma_Y $$时就不会屈服。这就是von Mises屈服条件。

von Mises应力的数值计算方法

FEM中的计算和输出

🧑‍🎓

FEM求解器求解整体刚度方程$$ \mathbf{K} \mathbf{u} = \mathbf{F} $$得到位移u,那von Mises应力是怎样计算出来的呢?

🎓

大致流程如下。首先,从节点位移u通过形状函数的微分(B矩阵)计算单元内部的应变$$ \boldsymbol{\epsilon} $$$$ \boldsymbol{\epsilon} = \mathbf{B} \mathbf{u} $$。接着,通过本构关系(胡克定律)求得应力$$ \boldsymbol{\sigma} $$$$ \boldsymbol{\sigma} = \mathbf{D} \boldsymbol{\epsilon} $$。当在高斯积分点等处获得6分量的应力张量$$ \boldsymbol{\sigma} $$后,就计算主应力,代入前面的von Mises公式。

🧑‍🎓

我看结果的时候,值是在节点上显示的。积分点的值是怎样传到节点的呢?

🎓

很好的观察。这是"应力平滑化"或"外推/平均化"处理。在单元内部的多个积分点计算得到的应力,用形状函数外推到单元的节点位置。然后,对连接到某个节点的所有单元来的外推值进行平均,作为该节点的应力值。这样做是为了避免单元间应力不连续,便于结果解释。Ansys默认执行此操作。

🧑‍🎓

平均化会导致应力被低估吗?特别是在应力集中部分。

🎓

你的担忧是合理的。特别是在网格较粗的情况下,平均化会导致峰值应力被低估,出现"平滑化误差"。因此,为了获得可靠的峰值应力,必须在应力集中部分进行足够细致的网格划分。此外,一些软件如Abaqus提供了关闭平均化处理、查看"单元各值"的选项,使用平均化前更严格的值作为评估依据。

von Mises应力的实务应用

结果评估工作流程

🧑‍🎓

分析完成后,出现了von Mises应力的等值线图。最大值为400MPa,超过了材料的屈服应力350MPa。这立即意味着"危险"吗?

🎓

不能仓促下结论。首先要确认最大应力出现在"什么位置"。如果400MPa只在尖锐的角或螺栓孔边缘等应力集中部分的"一点"出现,周围立即降到200MPa以下,那么这很可能是局部弹塑性行为,不会直接导致整体破损。相反,如果大范围区域都超过350MPa,则表示整个结构可能屈服,危险性较高。

🧑‍🎓

应力集中部分的一点应力较高时,应该如何评估?

🎓

实务中有几种方法。首先,细化网格以确认解的收敛性。如果细化网格后最大应力仍然无限上升,那就是理论奇点,现实中材料会通过塑性变形应力缓解。其次,沿评估线(路径)查看应力值,看表面下方一定深度处的应力。根据JIS B 8265(压力容器结构)等规范,在板厚的1/4或1/2处评估应力的"应力线分类"。在某些情况下,一点的峰值会被忽略。

🧑‍🎓

材料的屈服应力来自拉伸试验,分析中直接使用这个值可以吗?

🎓

通常,设计时要考虑安全系数。例如,汽车零件的一般静强度评估中,以材料最低保证值(Min. Yield Strength)乘以安全系数1.0~1.2来设定许可应力。也就是说,屈服应力为350MPa的材料,许可von Mises应力约为290~350MPa。如果考虑疲劳,则用完全弹性分析得到的应力幅与修正的Goodman线图等进行疲劳寿命评估。

von Mises应力的软件比较

主要软件中的处理

🧑‍🎓

Ansys Mechanical和Abaqus/CAE在von Mises应力的显示方法和计算选项上有区别吗?

🎓

基本概念相同,但术语和设置位置不同。Ansys中,默认的"Equivalent Stress"就是von Mises应力。后处理中可选择"Averaged"或"Unaveraged"。而Abaqus中输出变量名为"S, Mises"。平均化的控制在"Visualization"模块的"Result Options"中设置"Averaging threshold",或选择"Compute values"中的"At integration points"来显示单元各值的非平均形式。

🧑‍🎓

COMSOL Multiphysics呢?既然号称"多物理场",它在结构分析中的处理方式如何?

🎓

COMSOL使用"固体力学"接口进行分析。后处理中"应力"变量组里有"von Mises stress"。特点是即使进行热应力或压电效应等多物理场耦合分析,也能自动从全应力计算并显示von Mises应力。另外,"派生量"功能可以轻松计算任意点、线、面上von Mises应力的最大值、平均值、积分值等。

🧑‍🎓

免费或低价软件,比如FreeCAD的FEM工作台或CalculiX,情况怎样?

🎓

CalculiX(也可作为FreeCAD的求解器)在输出文件(.frd)中写出"应力分量",后处理时计算von Mises应力。FreeCAD的FEM后处理可选择"von Mises stress"显示等值线。但与商业软件相比,平均化算法的控制和复杂路径上的应力评估功能有限。另外,von Mises应力的表记方式在不同软件间也有差异(von Mises、Mises、Equivalent Stress等)。

von Mises应力的故障排除

常见错误和解释

🧑‍🎓

分析结果中,施加荷载或约束的地方von Mises应力异常高,出现现实中不可能存在的数值(如几十GPa)。为什么?

🎓

这是"边界条件奇点"引起的。点荷载或尖锐边界的完全约束从理论上讲会导致应力无穷大。FEM是离散化的,所以不会达到无穷大,但网格越细,应力值越高。实务中忽略这部分应力。对策包括:将荷载分布在小面积上、通过刚体单元(RBE2等)施加约束、用现实的螺栓连接或接触条件建模等。

🧑‍🎓

用壳单元或梁单元的模型评估von Mises应力时,有什么注意事项吗?

🎓

有很大的注意事项。壳单元假设板厚方向的应力(σ₃)为0(平面应力状态)。因此,在板厚方向受压的情况下(如涉及局部屈曲),von Mises应力可能被低估。梁单元的情况是,有时考虑剪切和扭转应力计算"复合等价应力",有时不考虑。必须查阅所用软件的手册,了解该单元是从哪些应力分量计算von Mises应力的。

🧑‍🎓

进行非线性分析(材料非线性或接触)后,von Mises应力超过屈服应力的区域存在,但软件显示"已塑性化"。这怎么矛盾?

🎓

这不是矛盾。非线性分析"最终阶段"输出的von Mises应力是该时刻"计算出的应力"。材料屈服后,根据应变硬化规律,应力可能再次上升(例如线性硬化模型)。此时von Mises应力会超过屈服应力。重要的是该部位是否"有屈服历史"。Abaqus中用"PEEQ(等效塑性应变)"是否大于0判断;Ansys用"Plastic Strain"是否大于0。仅凭von Mises应力无法判断。

🧑‍🎓

组合多个荷载工况(如来自不同方向的荷载)时,能否将各工况的von Mises应力相加?

🎓

绝对不能。von Mises应力是应力张量的非线性函数。在线性系统中,荷载工况A的应力张量$$ \boldsymbol{\sigma}_A $$和工况B的$$ \boldsymbol{\sigma}_B $$相加得到$$ \boldsymbol{\sigma}_{A+B} $$计算von Mises应力,与$$ \sigma_{v}(\boldsymbol{\sigma}_A) + \sigma_{v}(\boldsymbol{\sigma}_B) $$完全不同。正确方法是先对各工况的应力张量进行线性叠加(叠加原理),再从合成应力张量计算von Mises应力。大多数前处理软件都有"荷载工况组合"功能。

本文章的评价
谢谢您的回答!
有帮助
希望更
详细
报告
错误
有帮助
0
希望更详细
0
报告错误
0
编写:NovaSolver贡献者
匿名工程师 & AI — 网站地图
查看个人资料