工程应力定义为载荷(F)与原始截面积(A0)的比值:
工程应变定义为长度变化(ΔL=L−L0)与原始长度(L0)的比值:
真实应力考虑了变形过程中截面积的变化,定义为载荷(F)与当前截面积(A)的比值:
真实应变考虑了长度的瞬时变化,定义为长度变化的积分:
假设材料在变形过程中体积不变(即 A0L0=AL),则有:
将 A 代入真实应力的定义:
根据真实应变的定义:
真实应力与工程应力的关系:
真实应变与工程应变的关系:
小变形情况:当应变很小时(εeng≪1),真实应力与工程应力、真实应变与工程应变的差异可以忽略。
大变形情况:当应变较大时,必须使用真实应力和真实应变来描述材料的变形行为。
体积不变假设:上述推导基于体积不变假设(即材料不可压缩),对于可压缩材料需要修正。
假设某材料的工程应力-应变数据如下:
工程应力:σeng=300MPa
工程应变:εeng=0.1
计算真实应力和真实应变:
真实应力:σtrue=300⋅(1+0.1)=330MPa
真实应变:·εtrue=ln(1+0.1)≈0.0953
通过以上推导和示例,可以清楚地理解工程应力-应变与真实应力-应变之间的关系,并在实际分析中正确应用。
附插件代码:
以下是一个用于Abaqus的Python插件代码,用于将工程应力-应变数据转换为真实应力-应变数据。该插件提供了一个用户界面,允许用户输入工程应力-应变数据,并自动计算并输出真实应力-应变数据。
输入工程应力-应变数据。
计算真实应力和真实应变。
输出真实应力-应变数据,并显示在Abaqus界面中。
abaqusGui kernelAccess mdb session math log AFXForm self owner AFXForm__init__self owner selfowner owner selfeng_stress_input AFXTextFieldpself ncols labelText selfeng_strain_input AFXTextFieldpself ncols labelText selfconvert_button AFXButtonpself text tgtself selselfconvert_data self eng_stress selfeng_stress_inputgetTextsplit eng_strain selfeng_strain_inputgetTextsplit eng_stress eng_strain AFXDialogselfwriteToMessageArea true_stress true_strain i eng_stress true_stressappendeng_stressi eng_straini true_strainappendlog eng_straini result_message joinx.2f x true_stress result_message joinx.4f x true_strain AFXDialogselfwriteToMessageArearesult_message toolset getAFXAppgetAFXMainWindowgetPluginToolset toolsetregisterGuiMenuButton buttonText StressStrainConvertertoolset kernelInitString author version description
将上述代码保存为stressStrainPlugin.py
文件。
将文件放置在Abaqus的插件目录中(如abaqus_plugins
)。
启动Abaqus/CAE,在菜单栏中会看到应力应变转换器
按钮。
输入工程应力-应变数据(逗号分隔),点击“转换为真实应力应变”按钮,插件将自动计算并输出真实应力-应变数据。
工程应力:200, 300, 400
工程应变:0.1, 0.2, 0.3
真实应力:220.00, 360.00, 520.00
真实应变:0.0953, 0.1823, 0.2624
输入数据应为逗号分隔的数值。
工程应力和工程应变的数据长度必须一致。
插件假设材料在变形过程中体积不变(即不可压缩)。
通过这个插件,用户可以方便地将工程应力-应变数据转换为真实应力-应变数据,并在Abaqus中进一步使用。
【免责声明】本文来自DS,版权归原作者所有,仅用于学习等,对文中观点判断均保持中立,若您认为文中来源标注与事实不符,若有涉及版权等请告知,将及时修订删除,谢谢大家的关注!