真实应力/应变与工程(名义)应力/应变

0. 前言

工程应力/应变又叫名义(Nominal)应力/应变,它指的是通过工程方法测量得到的应力/应变。(一般工程上测量得到的就是屈服强度、抗拉强度和延伸率)

但是,通过工程方法测量计算得到的应力/应变,不能直接填入有限元软件中进行计算(具体原因将在文中进行说明),必须对其进行处理,将其转换成真实应力/应变。

PS: 现在网络上已经有很多关于工程应力/应变和真实应力/应变的说明,他们大多聚焦于如何推导工程应力/应变到真实应力/应变的转换公式上,对工程应力/应变的计算方法,以及为何需要进行转换的原因往往一带而过。
但是,有限元仿真是一种对现实材料力学性能的模拟,所有输入有限元仿真中的材料参数,都是基于力学试验测量得到的。如果我们不知道这些参数是如何测量得到的(在本文中即工程应力/应变是如何得到的),那么我们对于这些参数带入有限元软件中计算后可能产生的误差,以及产生误差的原因也是一无所知的,仿真就变的毫无意义了。

本文会详细解释工程应力/应变的计算方法(非常简单),并基于此说明:

1. 为什么不能直接将工程应力/应变输入有限元软件中?

2. 如何获得真实应力/应变?

3. 工程中采用有限元仿真方法进行弹塑性分析时可能存在的误差以及误差产生的原因。

1. 工程应力/应变的测量计算方法

大部分材料力学教材的第一章都会给出下图所示的金属材料应变-应力曲线,该应变-应力曲线表征的是金属材料在拉伸试验中,应变-应力的对应关系。
金属材料应变-应力曲线
基于该应变-应力曲线,可将金属材料的整个拉伸过程简单分为四个阶段,分别是:

  1. 弹性阶段:此时应变-应力曲线为直线,即应力÷应变的数值固定(该数值即为弹性模量),如果在这一段卸载应力,材料产生的变形是可以恢复的;

  2. 屈服阶段:此时应变增大,但应力不再增加(或波动),从这一步开始,卸载应力后,材料变形无法恢复(这一阶段对应的最小应力值即为我们工程上所定义的屈服强度);

  3. 强化阶段:此时随着应变增大,应力再次开始增大,但应变-应力关系不再是弹性阶段的直线关系,而是一条曲线,该曲线的最高点,即应力最大点,对应材料的抗拉强度,抗拉强度是金属在静拉伸条件下能够承载的最大应力;

  4. 颈缩和断裂阶段:此时试件的某一局部变形显著增加,横截面积急剧减小,出现颈缩现象,试样很快会被拉断。

现在我们得到了弹性模量、屈服强度和抗拉强度的定义,下图所示为低碳钢拉伸试验曲线,我们可以基于该曲线中的试验数据,计算得到低碳钢的力学性能参数。

这是在b站找到的一个比较完整的低碳钢拉伸试验,后面我们使用的数据都是从这个试验中扣出来的(●’◡’●),没有试验经验的同学,可以看看这个视频。拉伸试验

低碳钢拉伸试验曲线
该低碳钢试件初始长度为 L 0 = 100 m m L_0=100mm L0=100mm,直径 D 0 = 10 m m D_0=10mm D0=10mm的圆柱形,试件初始横截面积 A 0 A_0 A0

基于图中第一个测点(黑圈内)的试验数据( Δ L 1 = 0.185 m m , F 1 = 31.62 K N \Delta L_1 = 0.185mm,F_1=31.62KN ΔL1=0.185mmF1=31.62KN)可求得材料弹性模量:
E = σ ϵ = F 1 A 0 δ L 1 L 0 = 217 G P a E = \frac{\sigma}{\epsilon} = \frac{\frac{F_1}{A_0}}{ \frac{\delta L_1}{L_0}} = 217GPa E=ϵσ=L0δL1A0F1=217GPa
基于图中第二个测点(黑圈内)的试验数据( Δ L 2 = 2.39 m m , F 2 = 31.62 K N \Delta L_2 = 2.39mm,F_2=31.62KN ΔL2=2.39mmF2=31.62KN)可求得材料屈服强度:
σ y i e l d = F 2 A 0 = 350 M P a \sigma_{yield} = \frac{F_2}{A_0} = 350MPa σyield=A0F2=350MPa
基于图中第三个测点(黑圈内)的试验数据( Δ L 3 = 18.755 m m , F 3 = 36.792 K N \Delta L_3 = 18.755mm,F_3=36.792KN ΔL3=18.755mmF3=36.792KN)可求得材料抗拉强度与材料延伸率:
σ t e n s i l e = F 3 A 0 = 468.446 M P a \sigma_{tensile} = \frac{F_3}{A_0} = 468.446MPa σtensile=A0F3=468.446MPa
δ = L − L 0 L 0 = 18.755 % \delta = \frac{L-L_0}{L_0} = 18.755\% δ=L0LL0=18.755%

注意:
1. 这里我们计算的并非试件的断后延伸率,而是其均匀延伸率;
2. 延伸率和应变是不同的概念,我们实际输入有限元软件中的参数是应变而非延伸率;
3. 抗拉强度点处的工程应变在数值上与均匀延伸率相等

断后延伸率:
顾名思义,断后延伸率指的是一直拉到材料断裂后测量得到的试件延伸率,视频中给出的延伸率30%指的就是断后延伸率。断后延伸率包含了材料整体的塑性变形以及发生颈缩后材料颈缩区域的局部变形,对于颈缩明显的材料,其断后延伸率可能掩盖了材料实际的均匀变形能力。
工程上给定的延伸率很可能就是指断后延伸率,实际仿真过程中需要进行甄别

均匀延伸率:
均匀延伸率指的是试件材料整体发生的均匀的变形,其比断后延伸率更具有工程价值。一般认为从屈服应力到最大应力点(抗拉强度点)之间,试件的变形是均匀的。本文中采用试件在抗拉强度位置时对应的延伸率作为均匀延伸率

应变和延伸率的区别:
简单来说,应变指的是材料在变形过程中随着应力变化而产生的尺寸变化,在应变-应力曲线上显示为横坐标,而延伸率指的是材料断裂后材料的伸长量与原尺寸的比值(断后延伸率);在拉伸过程中,应变是一个实时变化的值,而延伸率是一个确定的值。

工程应变的计算方法:
刚刚我们提到了应变和延伸率是不同的概念,但是又补充说明,抗拉强度点处的工程应变等于均匀延伸率,这看起来似乎有些矛盾。
但是,要知道工程上计算试件当前应变的方法是非常简单粗暴的,即: ϵ = Δ L L 0 \epsilon = \frac{\Delta L}{L_0} ϵ=L0ΔL,这里的 Δ L \Delta L ΔL对应的就是当前位置试件的拉伸量,这个拉伸量一直在变化,只是在抗拉强度点处,试件拉伸量与试件原始长度的比值恰好为试件的均匀延伸率。

现在,我们已经基于试验数据得到了该低碳钢的力学性能参数。but…… Something was off

发现问题了吗?

1. 试件的长度是不断变化的,但是工程应变的计算似乎忽视了这一点?

试件在最开始被拉伸的时候,其初始长度为 L 0 L_0 L0,下一时刻,试件的长度变成 L 1 L_1 L1,在这个时刻内,试件的应变用 ( L 1 − L 0 ) L 0 \frac{(L_1-L_0)}{L_0} L0(L1L0)计算似乎是合理的;
但是,当试件的长度在第二个时刻变为 L 2 L_2 L2的时候,试件的应变应该使用 ( L 2 − L 1 ) L 1 + ( L 1 − L 0 ) L 0 \frac{(L_2-L_1)}{L_1} + \frac{(L_1-L_0)}{L_0} L1(L2L1)+L0(L1L0)去计算,还是使用 ( L 2 − L 0 ) L 0 \frac{(L_2-L_0)}{L_0} L0(L2L0)去计算呢?

2. 在拉伸试验中,试件的长度发生了变化,那么试件的横截面积呢?

考虑到试件的体积不变,当试件的长度增大的时候,试件的横截面积自然变小了。 但在工程上计算屈服强度和抗拉强度的时候,我们使用的还是原始的横截面积 A 0 A_0 A0。这必然导致我们计算得到的应力大小与实际应力大小存在偏差,准确的说,工程应力会偏小。

真实应力/应变就是修正了这两个问题后得到的材料力学性能参数

2. 真实应力/应变的计算方法

假设:工程应力为 σ N \sigma_N σN、工程应变为 ϵ N \epsilon_N ϵN、真实应力为 σ T \sigma_T σT、工程应力为 ϵ T \epsilon_T ϵT、试件伸长后长度为 L L L、试件初始长度为 L 0 L_0 L0

真实应力/应变可以通过工程应力/应变计算得到。

2.1 真实应力/应变的计算公式如下:

σ T = σ N ( 1 + ϵ N ) (1) \sigma_T = \sigma_N (1+\epsilon_N) \tag{1} σT=σN(1+ϵN)(1)
ϵ T = l n ( 1 + ϵ N ) (2) \epsilon_T = ln (1+\epsilon_N) \tag{2} ϵT=ln(1+ϵN)(2)

2.2 该公式的推导过程如下:

我们的已知条件包括:

1)工程应力与工程应变表达式:
σ N = F A 0 ; ϵ N = L − L 0 L 0 (3) \sigma_N = \frac{F}{A_0} ;\epsilon_N = \frac{L - L_0}{L_0} \tag{3} σN=A0FϵN=L0LL0(3)
2)真实应力与真实应变表达式:
σ T = F A ; ϵ T = ∫ L 0 L d L L = l n ( L L 0 ) (4) \sigma_T = \frac{F}{A} ;\epsilon_T = \int_{L_0}^L \frac{dL}{L}=ln(\frac{L}{L_0}) \tag{4} σT=AFϵT=L0LLdL=ln(L0L)(4)
3)材料的体积守恒:
A × L = A 0 × L 0 (5) A × L = A_0 × L_0 \tag{5} A×L=A0×L0(5)

首先,对式(4)中真实应变的表达式 ϵ T = l n ( L L 0 ) \epsilon_T=ln(\frac{L}{L_0}) ϵT=ln(L0L)进行解释说明:

还记得之前我们提出的那个问题吗?

试件的应变应该使用 ( L 2 − L 1 ) L 1 + ( L 1 − L 0 ) L 0 \frac{(L_2-L_1)}{L_1} + \frac{(L_1-L_0)}{L_0} L1(L2L1)+L0(L1L0)去计算,还是使用 ( L 2 − L 0 ) L 0 \frac{(L_2-L_0)}{L_0} L0(L2L0)去计算?

答案是应当使用 ( L 2 − L 1 ) L 1 + ( L 1 − L 0 ) L 0 \frac{(L_2-L_1)}{L_1} + \frac{(L_1-L_0)}{L_0} L1(L2L1)+L0(L1L0)去计算

因此,当我们从微分的角度出发,把试件的整个变形过程理解成无数次微小的变形,每次试件都被拉长一点点,每次变形的应变都与当前材料的长度相关,就可以得到如下的表达式:
ϵ = ( L 1 − L 0 ) L 0 + ( L 2 − L 1 ) L 1 + ( L 3 − L 2 ) L 2 + … … + ( L n − L n − 1 ) L n (6) \epsilon = \frac{(L_1-L_0)}{L_0} + \frac{(L_2-L_1)}{L_1} + \frac{(L_3-L_2)}{L_2} + …… + \frac{(L_n-L_{n-1})}{L_n} \tag{6} ϵ=L0(L1L0)+L1(L2L1)+L2(L3L2)+……+Ln(LnLn1)(6)

更进一步的,该表达式可以整理为:
ϵ = ∑ i = 0 n L i + 1 − L i L i (7) \epsilon = \sum_{i=0}^n \frac{L_{i+1} - L_{i}}{L_i} \tag{7} ϵ=i=0nLiLi+1Li(7)
n n n趋向于无穷大的时候,每一次拉长过程中 L L L的变化量,都可以近似为无限小的微分 d L dL dL,因此,有如下推导过程:
ϵ = ∫ L 0 L d L L = l n ( L L 0 ) = l n ( L − L 0 + L 0 L 0 ) = l n ( 1 + ϵ N ) (8) \epsilon = \int_{L_0}^L \frac{dL}{L} = ln(\frac{L}{L_0}) = ln(\frac{L-L_0+L_0}{L_0}) = ln (1+\epsilon_N) \tag{8} ϵ=L0LLdL=ln(L0L)=ln(L0LL0+L0)=ln(1+ϵN)(8)

回到刚刚那个问题,为什么我们应当使用 ( L 2 − L 1 ) L 1 + ( L 1 − L 0 ) L 0 \frac{(L_2-L_1)}{L_1} + \frac{(L_1-L_0)}{L_0} L1(L2L1)+L0(L1L0)作为真实应变?

从物理直观上来解释,试件的变形总是基于当前试件的长度产生的。从数学的角度出发可以给出更直观的解释。下面给出了一个经典的数学案例对其进行说明:

假设存在一根圆柱试件,其初始长度为100mm,我们对其进行两次拉伸。
第一步: 将该圆柱试件从100mm拉伸到150mm;
第二步: 将该圆柱试件从150mm拉伸到180mm;

当我们采用工程应变的方法计算试件应变的时候,有:
第一步应变: ϵ 1 = 150 − 100 100 = 0.5 \epsilon_1 = \frac{150-100}{100} = 0.5 ϵ1=100150100=0.5
第二步应变: ϵ 2 = 180 − 150 150 = 0.2 \epsilon_2 = \frac{180-150}{150} = 0.2 ϵ2=150180150=0.2

当我们采用真实应变的方法计算试件应变的时候,有:
第一步应变: ϵ 1 = l n ( 150 100 ) = 0.4054 \epsilon_1 = ln(\frac{150}{100}) = 0.4054 ϵ1=ln(100150)=0.4054
第二步应变: ϵ 2 = l n ( 180 150 ) = 0.1823 \epsilon_2 = ln(\frac{180}{150}) = 0.1823 ϵ2=ln(150180)=0.1823

如果我们将该圆柱试件从100mm一步拉伸到180mm,理论上该圆柱的拉伸效果相同,总应变应当也相同。
此时:
工程应变: ϵ N = 180 − 100 100 = 0.8 ≠ 0.5 + 0.2 \epsilon_N = \frac{180-100}{100} = 0.8 \neq 0.5 + 0.2 ϵN=100180100=0.8=0.5+0.2
真实应变: ϵ T = l n ( 180 100 ) = 0.5877 = l n ( 180 150 ) + l n ( 150 100 ) \epsilon_T = ln(\frac{180}{100}) = 0.5877 = ln(\frac{180}{150}) + ln(\frac{150}{100}) ϵT=ln(100180)=0.5877=ln(150180)+ln(100150)

由上述案例可知,真实应变满足可加性,但是工程应变不满足

事实上,在有限元仿真的过程中,我们也是通过一个一个微小的的增量步计算得到最终的仿真结果的。当一个增量步的计算结束之后,结构的尺寸发生变化,下一个增量步就会基于新的尺寸再次进行计算,这与真实应变的计算思路是一致。也正是因为如此,我们输入有限元软件中的应变必须是真实应变而非工程应变。

现在我们已经得到了材料的真实应变表达式,基于式(3)(4)(5)可简单推导得到材料真实应力表达式如下,这里不再赘述:
σ T = F A = F A 0 L L 0 = F A 0 L − L 0 + L 0 L 0 = σ N ( 1 + ϵ N ) (9) \sigma_T = \frac{F}{A} = \frac{F}{A_0} \frac{L}{L_0} = \frac{F}{A_0} \frac{L - L_0 + L_0}{L_0} = \sigma_N(1+\epsilon_N) \tag{9} σT=AF=A0FL0L=A0FL0LL0+L0=σN(1+ϵN)(9)

3. 使用ABAQUS进行拉伸试验有限元仿真

INP文件见资源里:真实应力/应变与工程(名义)应力/应变中,第三节对应的ABAQUS仿真INP文件

我们之前已经提到,工程上会提供给仿真设计师的材料塑性力学性能参数,往往仅包括:屈服强度、抗拉强度、延伸率(甚至这里的延伸率大概率是断后延伸率 ),这导致仿真计算过程中几乎不可避免的存在偏差。

下面我将对比以下两种塑性材料参数下仿真计算结果的差别:

1. 将拉伸试验中获得的完整力学性能参数输入有限元软件中;
2. 仅输入屈服强度、抗拉强度和延伸率这三个力学性能参数;

所建立的几何模型即为之前提到的低碳钢材料试验试件模型。
模型边界条件为:固定该模型中间部位节点在Z方向的位移,同时在该几何模型左右两侧施加位移边界条件。(左右两侧各向外拉伸15mm,总拉伸长度30mm)
试件几何模型及边界条件

3.1 完整力学性能参数

从低碳钢拉伸试验曲线中获得完整数据,并将这些数据处理为真实应力/应变的形式,所获得的应力/应变数据如下表所示:
有限元软件输入条件

对于上表数据,需注意:
(1)ABAQUS塑性材料性能数据的起始点应变一般为0,这里的0指的是塑性应变为0,并非弹性段变形为0;
(2)从这个角度出发,后面所有的塑性应变计算过程中都应该减去弹性段的变形,但由于弹性段变形相较于塑性段而言太小了,一般会直接忽略这一误差;

3.2 仅输入屈服强度、抗拉强度与延伸率

将我们之前计算得到的屈服强度、抗拉强度和延伸率转换为真实应力/应变数据带入有限元软件中:
有限元软件输入条件

对于上表数据,需注意:
(1)实际仿真过程中,当材料达到抗拉强度后,我们就认为材料已经发生破坏,因此不需要计算后续工况。所以工程上往往塑性段给到抗拉强度点的应力/应变就足够了;

3.3 对比分析结果

从两种仿真结果中各选取一个节点,提取该节点在仿真过程中的应力变化曲线。
(由于仿真软件中认为材料是严格均匀的发生拉伸变形的,因此试件仿真结果中所有节点应力相等,下面两张应力云图都是如此。)

分析结果应力云图(3.1)

3.1对应的仿真结果应力云图

分析结果应力云图(3.2)

3.2对应的仿真结果应力云图

两种材料属性下,杆件拉伸长度与节点应力变化曲线

观察该曲线可知,当我们采用工程上常用的那种,通过屈服强度、抗拉强度、延伸率三个参数确定塑性段力学性能的方法,计算得到的塑性段应力其实相较于实际情况可能存在较大偏差只是大部分时候,我们仿真计算的目的主要是判断结构是否达到屈服强度以及结构是否达到抗拉强度,对于塑性段的中间过程偏差并没有那么关心。

但是,认识到仿真结果的问题在哪里这件事,其实比仿真结果和真实结果恰好吻合更有意义(●’◡’●)

杆件拉伸长度与节点应力变化曲线

4. 其他

通过两个点(屈服、抗拉点)确定材料塑性段力学性能的方法其实是一种线性假设,即假设从屈曲强度到抗拉强度这一段,应力和应变近似为线性关系,这种方法适用于只有两个点的应力/应变参数的时候。如果我们有超过三个点的力学性能参数,其实可以采用幂律硬化之类的拟合公式去获取更贴近实际情况的硬化曲线;

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐