本例使用UMAT用户子程序进行复合材料单层板的应力分析和渐进损伤压缩强度分析,介绍UMAT用户子程序编写方法及在Abaqus/CAE中的设置。本章使用最大应变强度理论作为复合材料单层板的失效准则,相应的Fortran程序简单易读,便于理解UAMT子程序的工作原理。 知识要点: 强度分析 UMAT用户子程序 最大应变理论 刚度折减 | 讲师:孔祥宏 版本:Abq ipart难度: 关键词:亮闪闪强度分析,UMAT |
本章通过两个实例介绍UMAT用户子程序在复合材料单层板的应力分析和强度分析中的应用。在第一个实例中,对一个简单的复合材料单层板进行应力分析,UMAT子程序主要计算应力,不进行强度分析,本例用于验证UMAT子程序的计算精度。在第二个实例中,对复合材料单层板进行渐进损伤强度分析,UMAT子程序用于应力计算、强度分析和刚度折减。 本章所用复合材料为T700/BA9916,材料属性如表&-1所示。 表&-1 T700/BA9916材料属性
| |||||||||||||||||||||||||||||||||||||||||||||
在使用UMAT用户子程序进行高级应用之前,应该先了解UMAT子程序,熟悉UMAT子程序的工作原理,了解UMAT中的参数、变量的含义。为了便于读者快速了解和使用UMAT,本例通过复合材料单层板的应力分析来介绍一个简单的UMAT子程序。 读者可将本例中的单层板替换为层压板,进行对比分析。 | |
复合材料单层板几何尺寸为15mm×10mm×,纤维方向为45°,单层板的3D实体模型如图&-1所示,X轴方向为0°方向,左侧面施加X轴向对称边界条件,下侧面施加Y轴向对称边界条件,垂直于Z轴且Z=0的平面施加Z轴向对称边界条件,右侧面施加100MPa的拉力。 图&-1 单层板边界条件及加载情况 | 本例中单位系统为mm、MPa。 |
本例使用的UMAT用户子程序的全部代码如下,字母C及“!”之后为注释内容。 1 SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 2 1 RPL,DDSDDT,DRPLDE,DRPLDT, 3 2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME, 4 3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT, 5 4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC) 6C 7 INCLUDE '' 8C 9 CHARACTER快乐英语网*80 CMNAME 10 DIMENSION STRESS(NTENS),STATEV(NSTATV), 11 1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS), 12 2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1), 13 3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3), 14 4 JSTEP(4) 15 16 DIMENSION EG(6), XNU(3,3), STRAND(6), C(6,6), STRESS0(6) 17C**************************** 18C EG.....E1,E2,E3,G12,G13,G23 19C NU12,NU21,NU13,NU31,NU23,NU32 20C STRAINT AT THE END OF THE INCREMENT 21C C.....6X6 STIFFNESS MATRIX 22C STRESS AT THE BEGINNING OF THE INCREMENT 23C**************************** 24C INITIALIZE XNU & C MATRIX 25 XNU=0 26 C=0 27C GET THE MATERIAL PROPERTIES---ENGINEERING CONSTANTS 28 EG(1) = PROPS(1) !E1,YOUNG'S MODULUS IN DIRECTION 1 29 EG(2) = PROPS(2) !E2,YOUNG'S MODULUS IN DIRECTION 2 30 EG(3) = EG(2) !E3,YOUNG'S MODULUS IN DIRECTION 3 31 XNU(1,2) = PROPS(3) !POISON'S RATIO POI_12 32 XNU(2,1) = XNU(1,2)*EG(2)/EG(1) !POISON'S RATIO POI_21 33 XNU(1,3) = XNU(1,2) !POISON'S RATIO POI_13 34 XNU(3,1) = XNU(1,3)*EG(3)/EG(1) !POISON'S RATIO POI_31 印度支那是什么意思35 XNU(2,3) = PROPS(4) !POISON'S RATIO POI_23 36 XNU(3,2) = XNU(2,3)*EG(3)/EG(2) !POISON'S RATIO POI_32 37 EG(4) = PROPS(5) !G12,SHEAR MODULUS IN 12 PLANE 38 EG(5) = EG(4) !G13,SHEAR MODULUS IN 13 PLANE 39 EG(6) = PROPS(6) how are you doing!G23,SHEAR MODULUS IN 23 PLANE 40C**************************** 41C FILL THE 6X6 STIFFNESS MATRIX C(6,6) 42 RNU = 1/(1-XNU(1,2)*XNU(2,1)-XNU(1,3)*XNU(3,1)- 43 1 XNU(3,2)*XNU(2,3)-2*XNU(1,3)*XNU(2,1)*XNU(3,2)) 44C STIFFNESS MATRIX C(6,6) 45 C(1,1) = EG(1)*(1-XNU(2,3)*XNU(3,2))*RNU 46 C(2,2) = EG(2)*(1-XNU(1,3)*XNU(3,1))*RNU 47 C(3,3) = EG(3)*(1-XNU(1,2)*XNU(2,1))*RNU 48 C(4,4) = EG(4) 49 C(5,5) = EG(5) 50 C(6,6) = EG(6) 51 C(1,2) = EG(1)*(XNU(2,1)+XNU(3,1)*XNU(2,3))*RNU 52 C(2,1) = C(1,2) 53 C(1,3) = EG(1)*(XNU(3,1)+XNU(2,1)*XNU(3,2))*RNU 54 C(3,1) = C(1,3) 55 C(2,3) = EG(2)*(XNU(3,2)+XNU(1,2)*XNU(3,1))*RNU 56 C(3,2) = C(2,3) 57C**************************** 58C CALCULATE STRAIN 59 DO I = 1, 6 60 STRAND(I) = STRAN(I)+DSTRAN(I) 61 ENDDO 62C CALCULATE STRESS 63 DO I = 1, 6 64 STRESS0(I) = STRESS(I) 65 STRESS(I) = 0 66 DO J = 1, 6 67 STRESS(I) = STRESS(I)+C(I,J)*STRAND(J) 68 ENDDO 69 ENDDOduty是什么意思 70C CALCULATE SSE 71 DO I = 1, 6 72 SSE = SSE+*(STRESS0(I)+STRESS(I))*DSTRAN(I) 73 ENDDO 74C**************************** 75C UPDATE DDSDDE 中ip76 DO I = 1, 6 77 DO J = 1, 6 78 DDSDDE(I,J) = C(I,J) 79 ENDDO 80 ENDDO 81 RETURN 82 END 第1到14行及第81、82行为UMAT子程序固定格式,其中,第1到5行括号内的变量为UMAT子程序中可以使用的变量,第10到14行定义各变量数组的维数和长度。部分主要变量的含义如表&-2所示。 表&-2 UMAT部分变量名及其含义
第15到83行为用户自己编写的固定格式的Fortran程序,用于计算刚度矩阵、应力、应变能、雅克比矩阵。由于本例中没有使用状态变量,因此不需要更新STATEV,只需要更新STRESS、DDSDDE和SSE即可。 第16行定义了5个数组,其中EG、STRAND、STRESS0为一维数组,XNU、C为二维数组。第18到22行为注释部分,EG存放材料的3个弹性模量和3个剪切模量;STRAND存放当前增量步结束时的应变(E11, E22, ...);STRESS0存放增量步开始时的应力(S11, S22, ...);XNU为3×3的二维矩阵,存放泊松比ν12、ν21、ν13、ν31、ν23、ν32;C为6×6的刚度矩阵。 第25、26行初始化二维数组XNU、C,使其每个元素都为0。 第28到39行,读取材料常数,计算泊松比。泊松比的计算公式如下。 (&-1) 第42到56行,计算刚度矩阵。刚度矩阵的计算公式如下。 (&-2) 对于本例所用材料,由于E2=E3,G12=G13,ν12=ν13,所以ν21=ν31、ν23=ν32职称英语成绩查询2013,可以将式(&-2)化简后在UMAT中计算刚度矩阵。本例为保证的可读性,刚度矩阵的计算没有化简,直接按照式(&-2)编写。 第59到61行,计算当前增量步的应变,计算公式如式(&-3),式中上标表示增量步序号。 (&-3) 第63到69行,将当前分析步开始时的应力STRESS的值赋给STRESS0,然后计算当前增量步的应力并赋给STRESS,当前增量步的应力计算如式(&-4),式中上标表示增量步序号,应力σi和应变εi为列向量。 (&-4) 第71到73行,计算应变能,如式(&-5)所示,式中上标表示增量步序号;下标表示应力、应变增量的分量序号,其中下标为1、2、3表示正应力、正应变增量,4、5、6表示剪应力、剪应变增量。 (&-5) 第76到80行为更新雅克比矩阵。由于没有对刚度矩阵没变化,应力与应变的关系如式(&-4)所示,所以应力增量与应变增量的关系如式(&-6)所示,所以雅克比矩阵就等于刚度矩阵。 (&-6) 第76到80行可简写为一行,如下所示: DDSDDE(1:6,1:6) = C(1:6,1:6),或DDSDDE = C | UMAT中的剪应变为工程剪应变。 | ||||||||||||||||||||
本文发布于:2023-05-21 16:58:50,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/90/117315.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |