Abaqus模拟案例系列:复合材料热压罐固化残余应力仿真-采用顺序耦合方法与指定子程序计算温度...
abaqus模拟案例系列-复合材料热压罐固化残余应力仿真,采用顺序耦合数值模拟方法,采用子程序hetval、disp、usdfld(film)先计算温度场,采用umat、uexpan、usdfld再计算应力场,采用CHILE(a)线弹性模型,树脂型号3501-6。

复合材料热压罐固化仿真这事儿,说难不难说简单也不简单。今天咱们拿Abaqus折腾3501-6树脂基复合材料的固化残余应力,手把手看看怎么用顺序耦合方法搞掂温度场和应力场。先说温度场计算这块,重点在子程序的配合使用。

热分析阶段最核心的是HETVAL子程序处理固化放热。别被ABAQUS官方文档吓到,固化反应热计算关键就那几行代码。看这段核心逻辑:
SUBROUTINE HETVAL(...)
REAL*8 :: alpha, dalphaDT
alpha = 1.0 - exp(-(TIME/3600.0)**2) ! 固化度计算
dalphaDT = 2*(TIME/3600.0)*exp(-(TIME/3600.0)**2)/3600.0
H(1) = 350.0 * dalphaDT ! 树脂3501-6放热率
DH(1,1) = 350.0 * (-2*(TIME/3600.0**2)*exp(-(TIME/3600.0)**2) )
这里TIME单位是秒,所以用3600做时间换算。固化度公式建议根据DSC测试数据调整,别直接照搬我这个指数函数。特别注意DH矩阵的求导,搞错了会导致温度场计算发散。

边界条件处理用DISP子程序控制热压罐的热对流。有个坑要注意:当零件温度超过热压罐设定值时,得切换成自然对流系数。代码里加个条件判断就解决:
IF (TEMP(KSTEP).GT.180.0) THEN
FILM(1) = 25.0 ! 自然对流系数
ELSE
FILM(1) = 120.0 ! 强制对流系数
ENDIF
温度场算准了才能继续搞应力场。这里有个骚操作:用USDFLD把固化度场存到状态变量里,后面UMAT直接调用。注意场变量的传递要保证单元类型一致,别用C3D8T之类的减缩单元,否则数据对不上。

abaqus模拟案例系列-复合材料热压罐固化残余应力仿真,采用顺序耦合数值模拟方法,采用子程序hetval、disp、usdfld(film)先计算温度场,采用umat、uexpan、usdfld再计算应力场,采用CHILE(a)线弹性模型,树脂型号3501-6。

应力计算上UMAT是关键。复合材料的各向异性处理要特别注意,特别是纤维方向的刚度变化。看这段弹性矩阵设置:
DO K1=1, NTENS
DO K2=1, NTENS
DDSDDE(K1,K2) = 0.0
ENDDO
ENDDO
E1 = 120.0e3 * (1.0 + 0.2*STATEV(1)) ! 纵向模量随固化度变化
DDSDDE(1,1) = E1/(1.0 - NU12*NU21)
DDSDDE(2,2) = E2/(1.0 - NU12*NU21)
...(其余分量省略)
这里STATEV(1)存的就是固化度。注意树脂模量不是固定值,实测3501-6树脂在完全固化时模量能达到4.2GPa,得做成场变量函数。

化学收缩应变用UEXPAN处理最方便。别傻乎乎地在UMAT里算应变增量,直接:
EXPAN(1) = 0.01*STATEV(1) ! 纤维方向
EXPAN(2) = 0.35*STATEV(1) ! 横向
EXPAN(3) = 0.35*STATEV(1) ! 厚度方向
实测数据表明3501-6树脂的横向收缩是纵向的30倍左右,这个比例系数得根据具体纤维含量调整。

最后说下CHILE模型的应用要点。虽然叫线弹性模型,但通过场变量实现了等效固化度影响。在材料定义里要关联多个场变量:
mdb.models['Model-1'].materials['Composite'].Elastic(
table=((120e3, 8.5e3, 8.5e3, 0.3, 0.3, 0.3), ),
fieldDepends=(ON, ON, ON, OFF, OFF, OFF))
三个弹性参数分别对应三个场变量依赖。别忘了在USDFLD里更新这些场变量,否则材料参数不会自动变化。
算完别急着看云图,先检查log文件里的单元状态。复合材料容易因为刚度突变导致单元扭曲,特别是固化度从0到1跳变的位置。建议用自动稳定设置,加个小量的阻尼:
step.StabilizationMagnitude=0.0002
step.ContinueDampingFactors=ON
最后提醒:温度场和应力场的网格可以不一样,但映射精度要控制好。个人习惯用节点温度插值,比直接映射单元结果更准。搞不定的话,直接沿用相同网格最保险。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)