应力张量 — CAE术语解说
应力张量
FEM结果中出现σxx、σyy、τxy等6个应力分量,这就是「应力张量」吗?
应力张量的理论基础
应力张量的基本概念
应力张量在教科书中写成3x3的矩阵,为什么叫「张量」而不是普通矩阵?两者有什么本质差别?
关键区别在于「如何对坐标变换作出反应」。普通矩阵坐标一变,分量就会杂乱无章地改变,但应力张量的分量按照特定规则进行变换。比如,拉伸试样倾斜45度后再测量应力,垂直应力之外还会出现剪切应力。这种关系用
应力张量有3x3=9个分量,可CAE软件出力「Mises应力」这样的标量值1个就能评估。为什么信息没有丢失?
信息没有丢失,只是根据特定破坏准则进行了「总结」。Mises应力(等效应力)的定义是
主应力怎么具体计算?CAE软件内部在进行什么计算?
计算应力张量的特征值和特征向量。具体地说,求解特征方程
应力张量的数值计算方法
FEM中的应力计算
听说FEM先求位移u,然后从中计算应力σ。为什么「从位移求应力」会降低精度?
根本原因在位移近似函数(形状函数)与应力的关系。用形状函数N对位移进行插值:
软件中看到「应力平滑化」功能,具体在干什么?是不是造假?
不是造假,是一种后处理「使数值结果更接近现实」的手段。典型做法是「节点平均化」。各积分点求出的单元应力,汇聚到共享节点,计算平均值。Abaqus可以设置「平均化阈值」,默认75%。意思是相邻单元应力差在75%以内就平均化,超过则不平均化显示。在应力集中部位,若不关闭平均化,会有漏掉峰值应力的危险。
求解器解的联立一次方程
求解器得到位移u之「后」,在后处理阶段进行。具体流程是:1. 求解器从全局刚度矩阵K和荷载向量F解出位移u。2. 在各单元循环中,从单元节点位移u_e计算单元应变ε_e(用B矩阵:ε_e = B u_e)。3. 用本构矩阵D计算单元应力σ_e = D ε_e。这一计算由单元定式化所属模块进行,Ansys叫「单元库」(Element Library),Abaqus叫「单元程序」(Element Routine)。结果首先在积分点(高斯点)水平得到。
应力张量的实务应用
分析工作流和验证
实际设计中做应力评估,Mises应力、主应力、剪切应力……看哪个好,选择标准是什么?
根据材料的破坏模式和设计规范。大原则是:
1. 延性材料(钢、铝)的静强度:看Mises等效应力。汽车车体(SPCC)、机械架台(SS400)等。许可值用屈服强度(比如245MPa)乘以安全系数(1.5~2)。
2. 脆性材料(铸铁、玻璃):看最大主应力(第一主应力)。铸铁制支架(FC250)等。以抗拉强度为基准。
3. 疲劳强度:剪切应力或主应力振幅很重要。JIS B 8265(压力容器结构)等使用修正Goodman线图。
首先查材料数据表和相关规范(JIS、ISO、ASME)。
网格越细,应力越来越大。这种情况下,细到什么程度才能说「正确」?
只要有几何学奇点,网格越细应力就越发散。正确的做法是「抽取设计上有意义的值」。实务步骤:
1. 测量缺口根部的曲率半径R(例R=1mm)。
2. 对应这个R,分别用1/4、1/8、1/16的单元大小进行计算,跟踪最大应力的变化。
3. 变化在例如5%以内时的网格大小就采用。或者,使用结构应力法。IIW(国际焊接学会)建议和Autodesk Nastran的「结构应力」功能,用线性外推奇点附近的应力,降低网格依赖性。
分析结果应力与简单公式算出的理论值相差10%以上。该信哪个?
不要急着决定「信谁」,先找出不一致的原因。检查清单:
1. 边界条件:理论式是「单纯支撑」,但FEM用「面约束」抑制刚体运动,有没有可能?面约束会提高局部刚性,应力被低估。
2. 荷载方式:集中荷载和分布荷载的差异。
3. 截面二次矩:理论值用的数值和FEM三维模型实际数值相符吗?
4. 应力评估位置:理论值在「中立轴最远处」,FEM看的是节点平均化值?
先制作简单形状(梁、板)的验证模型,用严密的网格和边界条件对标准问题求解,确认求解器本身的可信性。这是必不可少的工作。
应力张量的软件对比
主要软件的应力输出功能
Ansys Mechanical和Abaqus/CAE在应力张量分量显示上有区别吗?
输出的分量本身相同,但默认坐标系和输出控制不一样。
Ansys:默认「全局直交坐标系(Global Cartesian)」。输出X、Y、Z方向的法向应力和剪切应力。用户可以定义「局部坐标系」,输出该方向的应力分量,功能强大。比如输出螺栓轴向应力。
Abaqus:默认也是全局坐标系,输出变量请求指定「S」后,所有应力分量都输出。输出变量的筛选设置很细致。
另外Ansys APDL用「RSYS」命令能切换结果坐标系,老用户喜欢这个功能。
COMSOL Multiphysics以「多物理场」著称,应力张量的处理有特别的地方吗?
COMSOL的特点在于不同物理场产生的应力能自然叠加的「多重物理耦合」。比如,
1. 热应力:温度场算出的热应变应力和机械荷载应力自动线性叠加。
2. 压电效应:电场与应力场耦合。产生的应力张量取决于电变量。
3. 自定义物理场:用户定义PDE后,也能定义相应的「应力」类变量。
其他软件需要手工合并独立分析结果,但COMSOL定式化为一个耦合问题求解,整合性好。
免费/低价CAE软件(FreeCAD的FEM模块或CalculiX)能正确计算应力张量吗?
计算算法的核心部分已成熟,简单线性静力分析能正确计算。CalculiX(兼容Abaqus输入格式)实绩丰富。但要注意:
1. 单元库:商用软件(Ansys 200多种)相比支持的单元少得多。复杂的复合材料壳单元或超弹性单元没有或很弱。
2. 后处理和验证功能:应力平滑化选项、局部坐标系输出、自动收敛判定等功能不如商用软件。
3. 材料模型:非线性、蠕变、疲劳等高级材料模型不足。
学习和简单部件检讨足够,但做产品设计判断时,必须用商用软件验证或与试验对照。
应力张量故障排除
应力相关的常见错误
分析执行时,出现「单元应变/应力极大」警告。原因是什么?
主要原因三个:
1. 刚体运动(Rigid Body Motion):约束不足。最常见。检查位移结果,物体整体在动吗?Ansys打开「弱弹簧」选项易检出。
2. 材料常数单位不一致:Young模量应该200GPa (=200,000 MPa),却输成200,同时长度单位是mm,应力就会差1000倍。
3. 单元畸变:纵横比超1000的极细长单元,数值误差会产生异常应力。检查网格质量。
应力等值线图单元边界处颜色断裂(齿形)。这是网格粗的原因吗?
不只是粗网格的问题。这是「单元非连续应力」的显示。前述通过,FEM计算的应力在单元内连续,但单元间不相等。对策是:
1. 应用节点平均化:大多数软件默认打开。Abaqus的「在变形形状上绘制等值线」选项中选「平均化」。
2. 平均化后还有齿形,说明网格本身有问题。应力梯度陡峭部分(缺口根部)网格太粗。要特定位置局部细分网格。
3. 异种单元混合:固体单元和壳单元接合处,应力会不连续,这是自然的。分别评估。
线性静力分析,最大Mises应力超过材料屈服强度。立刻意味着「破坏」吗?
不立刻意味着破坏。线性分析假定「应力-应变关系恒为线性」,屈服后的应力重分布和局部塑化无法考虑。屈服强度被超过时的正确步骤是:
1. 确认应力集中原因:尖锐的角或微小缺口,现实不存在的几何奇点导致过大估计吗?
2. 转向弹塑性分析:定义材料塑性数据(比如二直线硬化),进行非线性静力分析。Ansys用「多线性随动硬化」等。
3. 重新考虑许可应力:某些规范(比如建筑)用极限状态设计法,一时超过屈服但不全局崩溃的情况被允许。
线性分析中屈服强度被超过的结果,要作为「这个区域需要更精细评估」的警告信号。