首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >材料的名义应力、应变与真实应力、应变转换公式的推导

材料的名义应力、应变与真实应力、应变转换公式的推导

作者头像
fem178
发布2021-05-18 15:16:53
13.6K0
发布2021-05-18 15:16:53
举报

材料的名义(Nominal)应力、应变是基于变形前的数据计算得到,

\sigma_N = \frac {F}{A_0} , \epsilon_N = \frac {\Delta L}{L_0}

其中

A_0

为试件初始截面面积,

L_0

为试件初始长度。名义应力、应变也叫工程(Engineering)应力、应变。

CAE软件需要采用基于变形后的应力、应变,即真实的应力、应变。

\sigma_T = \frac {F}{A} , \epsilon_T = \frac {\Delta L}{L}

其中

A

为试件当前截面面积,

L

为试件当前长度。

两种应力、应变的转化公式为:

\sigma_T = \sigma_N(1+\epsilon_N) , \epsilon_T = ln(1+\epsilon_N)

下面来推导这两个公式。

一) 了解定积分的精确定义。点击这里:

定积分的精确定义(重排版)

二) 根据试件的体积不变的原则可得

A_0L_0=AL

,即

\frac {A_0}{A} = \frac {L}{L_0}

于是

\begin{split} \sigma_T &= \frac {F}{A} \\ &=\frac {F}{A_0} \frac {A_0}{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) \end{split}

三) 假设荷载

F

分为

n

个增量步,且每个增量步产生相同的伸长量

\delta L

,如图所示

\delta L = \frac {L-L_0}{n}

总应变

\begin{split} \epsilon_T&=\epsilon_1+ \epsilon_2+\epsilon_3+\cdots +\epsilon_n \\ &= \frac {\delta L}{L_0+\delta L}+\frac {\delta L}{L_0+2\delta L}+\frac {\delta L}{L_0+3\delta L}+\cdots +\frac {\delta L}{L_0+n \delta L}\\ &=[\frac {1}{L_0+\frac {L-L_0}{n}\times1}+\frac {1}{L_0+\frac {L-L_0}{n}\times2}+\frac {1}{L_0+\frac {L-L_0}{n}\times3}+\cdots+\frac {1}{L_0+\frac {L-L_0}{n}\times n}]\frac {L-L_0}{n}\\ \end{split}

再和定积分的精确定义比较

\int_{a}^b = \sum_{i=1}^n f(a+\frac {b-a}{n}\times i) \frac {b-a}{n}

\begin{split} \epsilon_T &= \int_{L_0}^L \frac {1}{x} dx\\ &=ln(L-L_0)\\ &=ln(\frac {L-L_0+L_0}{L_0})\\ & =ln(1+\epsilon_N) \end{split}

import math
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']  # 正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False    # 正常显示负号


# 名义应力应变
eps_N   = np.array([0, 0.00060117, 0.0010815,0.0017279,0.0022288,0.0028608,0.00348034,
                0.00404227,0.0045566,0.0051164,0.0058212,0.00674012,0.0078904,0.0092845,
                0.010934,0.012828,0.014924,0.017178])
sigma_N = np.array([490.393,503.8289, 512.22608,520.62322,529.020377,537.41752,545.81467,554.21182,
            562.60897,571.00612,579.40327,587.800419,596.197567,604.594716,612.99186,
            621.3890,629.78616,638.18331])

n = len(sigma_N)
print(n)

#真实应力应变
sigma_T = np.zeros((n))
eps_T   = np.zeros((n))

for i in range(n):
    sigma_T[i] = sigma_N[i] *( 1 + eps_N[i] )
    eps_T[i]   = math.log( 1 + eps_N[i] )

v1 = np.array( [ 0 ] )
eps_N1 = np.hstack( (v1, eps_N) )
sigma_N1 = np.hstack( (v1, sigma_N) )
eps_T1 = np.hstack( (v1, eps_T) )
sigma_T1 = np.hstack( (v1, sigma_T) )

fig, axs = plt.subplots(1, 1,  figsize=(14,6) )

axs.plot(eps_N1, sigma_N1, label="M1", linewidth = 2) 
axs.plot(eps_T, sigma_T, label="M1", linewidth = 2, color = "dimgrey")

plt.legend(["Nominal","True"]) 
plt.xlim(-0.0001, 0.019)
plt.ylim(0, 760)
axs.set_xlabel('Strain', fontsize = 18)
axs.set_ylabel('Stress', fontsize = 18)
fig.savefig('./f118.png', dpi = 400) #保存图片 
plt.show()

这里弹性应变很小,弹性段几乎成铅锤。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数值分析与有限元编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档