首页/文章/ 详情

Abaqus-之线性粘弹性5-终章(流变模型)

1年前浏览3861

介绍

       这是关于线性粘弹性系列的第 5 部分。在本文中,将展示线性粘弹性的积分方程形式,实际上与具有线性弹簧和阻尼并联网络的流变学模型相同。这一发现之所以重要有两个原因:

(1)对于大多数人来说,想象弹簧阻尼系统的行为比积分方程更容易;

(2)它提供了一种将线性粘弹性更容易推广到非线性粘弹性的方法。

Maxwell 模型理论

        为了证明线性粘弹性的积分形式与线性流变模型相同,我将首先分析由线性弹簧与线性阻尼串联的麦克斯韦模型。总应变由下式给出:

ε=ε1+ε2

回想一下,线性弹簧的定义是:σ=Eε1,线性阻尼的定义是ε ̇2=σ/η。

从这些方程中,我们可以以不同的方式制定力平衡。这里有 2 个选项(一个在应变 ε2 方面,一个在应力方面):


阶跃应变响应

现在,我们可以计算加载阶跃应变的麦克斯韦模型在时间t=0:   ε(t)=ε0时的应力响应。通过将其插入基于应力的平衡方程中,我们直接得到:

从中我们直接得到规一化的松弛模量:

这与我从第 1 部分中的积分公式得出的表达式相同。因此,麦克斯韦弹簧-阻尼模型的行为与单项Prony级数线性粘弹性模型完全相同!而一个多项Prony级数模型相当于多个并联的麦克斯韦单元。

应力计算

在本系列的第 2 部分中,我展示了如何根据线性粘弹性的积分形式计算应力响应。在本文中,展示了应力方程也可以作为一阶常微分方程。在接下来的小节中,将研究应力的前向和后向欧拉数值解方案。

前向欧拉解

应力的前向欧拉解由下式给出:

下图显示了麦克斯韦模型的加载-卸载应力响应,E=1 MPa,η=1 MPa s,最大应变= 0.1,应变率=0.01/s。在图中,绘制了三个案例的响应,这些案例分别使用 15、25 和 55 个时间增量步来求解。正如预期的那样,如果使用的时间增量不足,前向欧拉方法可能会变得不稳定。我用来生成图像的Julia代码显示在下图下方。




































using Plotsfunction calc_strain(time, maxStrain, strainRate)  t1 = maxStrain / strainRate  if time < t1    return strainRate * time  else    return maxStrain - (time - t1) * strainRate  endend
function calc_stress(E, eta, maxStrain, strainRate, N)  time = range(0, 2*maxStrain/strainRate, length=N)  strain = zeros(N)  for i in 1:N    strain[i] = calc_strain(time[i], maxStrain, strainRate)  end  stress = zeros(N)  for i in 2:N    de = strain[i] - strain[i-1]    dt = time[i] - time[i-1]    stress[i] = (1 - dt/(eta/E)) * stress[i-1] + E * de  end  return time, strain, stressend
time, strain, stress = calc_stress(1, 1, 0.1, 0.01, 55)plot(strain, stress, label="Forward Euler (N=55)", linewidth=2)time, strain, stress = calc_stress(1, 1, 0.1, 0.01, 25)plot!(strain, stress, label="Forward Euler (N=25)", linewidth=2)time, strain, stress = calc_stress(1, 1, 0.1, 0.01, 15)plot!(strain, stress, label="Forward Euler (N=15)", linewidth=2)
plot!(size=(1000,800), framestyle=:box)plot!(tickfontsize=14, guidefontsize=16, xlabel="Strain", ylabel="Stress")savefig("Forward_Euler.png")

后向欧拉法求解

后向欧拉法由下式给出:

下图显示了具有与上述相同属性的麦克斯韦模型的加载-卸载应力响应。该图显示了分别使用 15、25 和 55 个时间增量步来解决问题的三个案例的响应。可见后向欧拉方法比前向欧拉方法更稳定,但时间增量的数量仍然需要比较大才能得到准确的解。我用来生成图像的Julia代码显示在下图下方。




































using Plotsfunction calc_strain(time, maxStrain, strainRate)  t1 = maxStrain / strainRate  if time < t1    return strainRate * time  else    return maxStrain - (time - t1) * strainRate  endend
function calc_stress(E, eta, maxStrain, strainRate, N)  time = range(0, 2*maxStrain/strainRate, length=N)  strain = zeros(N)  for i in 1:N    strain[i] = calc_strain(time[i], maxStrain, strainRate)  end  stress = zeros(N)  for i in 2:N    de = strain[i] - strain[i-1]    dt = time[i] - time[i-1]    stress[i] = (stress[i-1] + E*de) / (1 + dt/(eta/E))  end  return time, strain, stressend
time, strain, stress = calc_stress(1, 1, 0.1, 0.01, 55)plot(strain, stress, label="Backward Euler (N=55)", linewidth=2)time, strain, stress = calc_stress(1, 1, 0.1, 0.01, 25)plot!(strain, stress, label="Backward Euler (N=25)", linewidth=2)time, strain, stress = calc_stress(1, 1, 0.1, 0.01, 15)plot!(strain, stress, label="Backward Euler (N=15)", linewidth=2)
plot!(size=(1000,800), framestyle=:box)plot!(tickfontsize=14, guidefontsize=16, xlabel="Strain", ylabel="Stress")savefig("Backward_Euler.png")

非线性粘弹性初探

从玻尔兹曼叠加原理开始了关于线性粘弹性的系列。然后,我展示了如何直接推导应力的积分方程公式。这种方法的一个问题是,将其推广到非线性粘弹性理论并不容易。本文讨论的流变学方法的好处之一是,很容易将其扩展到非线性粘弹性理论。例如,一种方法是用非线性阻尼替换线性阻尼。一个常见的例子是对阻尼使用以下方程:

这个流动方程是简化版本的Bergstrom-Boyce模型,用于预测类橡胶材料的非线性粘弹性响应。

总结

  • 线性粘弹性通常根据积分方程推导,但也等效于弹簧-阻尼模型。

  • 非线性粘弹性可以从弹簧-阻尼流变模型发展出来


来源:ABAQUS仿真世界
MaxwellAbaqus非线性理论材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-08-17
最近编辑:1年前
yunduan082
硕士 | 仿真主任工程... Abaqus仿真世界
获赞 152粉丝 215文章 307课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈