《Mechanics of Solid Polymers》5.3.10 8链模型
5.3.108链模型Arruda和Boyce提出的八链(EC)模型是一种超弹性模型,旨在描述弹性体的变形行为。EC模型的基本假设是,链状高分子(也称为链分子)在平均情况下位于单位立方体的对角线上,如图5.18所示。链的单位长度由表示,并由和未变形链的长度决定。它直接得出。在该模型中,高分子被认为是n个长度为ℓ的刚性链相连。根据这个FJC模型,在无外力作用下端-到端的自由长度为ℓ。有效形变链长为:其中、和是主变形伸长率,可以得到有效链伸长率:图5.18位于单位立方体中的分子链模型其中,这表明,扭转形变伸长率实际上与第一不变量I1∗有关。基于这一物理模型,8链材料模型被定义为各向同性的超弹性材料,其Helmholtz自由能,仅依赖于两个变形不变量和,及温度θ0。通过注意到有效链伸长与第一不变量b*的关系=[I₁*(b*)/3]¹/²,可以得出单位参考体积下的Helmholtz可以写成Ψ(λ̄*,J,θ₀)的形式,或者用主伸长率λ₁,λ₂,λ₃来表示为Ψ(I₁*,J,θ₀),其中I₁*=I₁(b*)=tr(b*)。利用连续介质力学的公式(5.41),可以得到该情况下柯西应力张量σ的表达式(5.98)。当不依赖于I₂*时,该表达式可以简化为:或者表示成有效链伸长的表达式:单位参考体积下的亥姆霍兹自由能(Ψ)可以通过实验观察确定,该观察表明,对于弹性体,内能通常不是外加畸变伸长(λ*)的函数[16],即e₀(J,θ₀)。因此,亥姆霍兹自由能的函数形式为:注意,由于假设体积变化很小,因此忽略了η₀(,J)中对J的依赖性。对小体积变形的假设也使得柯西应力张量σ的压力分量和体积变形J之间的关系可以近似为线性:其中κ为体积模量。这给出了内能e₀(J)=κJ(J/2-1)。然后,可以根据公式(5.99)计算柯西应力,得到:为了完全确定本构关系,现在只需要确定熵如何依赖于有效链伸长。根据链式法则,我们得到:因此,为了最终确定本构方程,只需要确定单个高分子的熵如何依赖于其端到端距离就足够了。这个推导在5.3.5节中有详细讨论。利用公式(5.70),公式(5.102)现在可以写成:其中是分子所能承受的最大(完全伸展)伸长。对于不可压缩单轴变形的特殊情况,方程(5.104)简化为:对于由定义的简单剪切,剪切应力由下式给出:其中材料的初始剪切模量由下式给出:将其代入(5.104)中,得到八链模型的柯西应力为:在这个方程中,是材料参数。对于八链模型的不可压缩版本,单轴、平面和等双轴变形的柯西应力由以下表达式给出:可压缩的八链(EC)模型包含三个材料参数:剪切模量μ、极限链伸长λlock和体积模量κ。EC模型不依赖于I₂,并且其预测精度与Gent模型相似[29]。通过与Treloar[16]的硫化天然橡胶数据进行比较,图5.19展示了EC模型预测弹性体行为的准确性。该图显示,在这种情况下,EC模型比NH模型和Mooney-Rivlin模型更准确,并且与Yeoh模型的准确性几乎相同。该图还显示,EC模型略微低估了双轴响应。由于该模型是基于I₁的,并且不包含任何对I₂的依赖性,因此这是符合预期的。对于不可压缩单轴加载,可以使用以下代码将EC材料模型在Matlab中实现:MatlabCode:function[stress]=mat_EC(time,strain,params)%mat_ECArruda-Boyceeight-Chainhyperelasticmodel%Incompressibleuniaxialloading%Thisfunctionisusingtruestressandstrainmu=params(1);lambdaL=params(2);lambda=exp(strain);lambdaChain=sqrt((lambda.^2+2./lambda)/3);stress=mu./lambdaChain.*invLangevin(lambdaChain./lambda).*(lambda.^2-1./lambda);endfunction[res]=invLangevin(x)%INVLANGEVINImplementationoftheinverseLangevinfunctionx(find(x>1))=1-eps;x(find(x<-1))=-1+eps;res=zeros(size(x));index=find(abs(x)<0.839);res(index)=1.314*tan(1.59.*x(index))+0.911249.*x(index);index=find(abs(x)>=0.839);res(index)=1./(sign(x(index))-x(index));end对于不可压缩单向加载情况NH模型可以用以下Python代码实现:PythonCode:defInvLangevin(x):EPS=spacing(1)iftype(x)==float:#xisascalarifx>=1-EPS:x=1-EPSifx<=-1+EPS:x=-1+EPSifabs(x)<0.839:return1.31435*tan(1.59*x)+0.911249*x#xisanarray=x[x>1-EPS]=1-EPSx[x<-1+EPS]=-1+EPSindex=abs(x)<0.839res=zeros(size(x))res[index]=1.31435*tan(1.59*x[index])+0.911249*x[index]index=abs(x)>=0.839res[index]=1.0/(sign(x[index])-x[index])returnres#PythonCode:'EC_incompressible_uniaxial.py'frompylabimport*fromPolymer_Mechanics_Chap05import*defEightChain(trueStrain,params):"""Arruda-Boyceeight-chainmodel.Incompressibleuniaxialloading.Returnstruestress."""mu=params[0]lambdaL=params[1]lam=exp(trueStrain)lamChain=sqrt((lam**2+2/lam)/3)returnmu/lamChain*invLangevin(lamChain/lambdaL)/invLangevin(1/lambdaL)*(lam**2-1/lam)trueStrain=linspace(0,0.8,10)trueStress=EightChain(trueStrain,[1.0,3.0])plot(trueStrain,trueStress,'r-')xlabel('TrueStrain')ylabel('TrueStress(MPa)')grid('on')show()以下代码示例展示了一种实现可压缩单轴加载的EC材料模型的方法。附加到"Polymer_Mechanics_Chap05.py"的代码:defEC_3D(stretch,param):"""八链模型。通过拉伸指定的3D加载。param:[mu,lambdaL,kappa]。返回真实应力。"""L1=stretch[0]L2=stretch[1]L3=stretch[2]F=array([[L1,0,0],[0,L2,0],[0,0,L3]])J=det(F)bstar=J**(-2.0/3.0)*dot(F,F.T)lamChain=sqrt(trace(bstar)/3)devbstar=bstar-trace(bstar)/3*eye(3)returnparam[0]/(J*lamChain)*invLangevin(lamChain/param[1])/\invLangevin(1/param[1])*devbstar+param[2]*(J-1)*eye(3)Python代码:"EC_compressible_uniaxial.py"frompylabimport*fromPolymer_Mechanics_Chap05import*trueStrain=linspace(0,0.8,100)trueStress=uniaxial_stress(EC_3D,trueStrain,[1.0,3.0,100])plot(trueStrain,trueStress,'b-')xlabel('TrueStrain')ylabel('TrueStress(MPa)')grid('on')show()图像由Python代码创建:来源:ABAQUS仿真世界