首页/文章/ 详情

ANSYS APDL | 编织网复合材料仿真 | 梁-梁接触

11月前浏览7922

前言

        编织,在广义上是指将线状或条状的材料,经过重复交叠过程,形成一个平面或立体的技术,透过编织制作出来的作品,称作编织物编织品在实际工程材料中,有很多类似的编织材料,典型的有碳纤维材料。
        三维编织复合材料因其整体复杂的空间纤维结构,显著地提高了材料的比强度和比刚度,从根本上克服了传统层合复合材料层间强度低、易分层等致命弱点,还使其具有优良的力学性能,如:良好的抗冲击损伤性能、耐疲劳性能和耐烧蚀性能等,以及结构整体性好、可设计性强等诸多优点,受到工程界的普遍关注,成为航空、航天、能源、重大战略装备、轨道交通、汽车轻量化、碳/碳复材、城市基建、生物医疗、体育用品等领域的重要结构材料

编织梁框架仿真问题描述

        如下图所示,梁单元—梁单元 编织网材料为对象,进一步模拟小球掉落在这样的网状材料上的瞬态问题。

        其中关键问题在于如何形成梁单元与梁单元重复交叠的模型。这里就体现有限元方法中对物理世界的模型化的能力,在真实世界中,这种重复交叠,我们很容易就能勾织出,但是在有限元中,怎么处理呢。

    本文的一个思路就是先构造如下图原位梁框架,此时,梁单元间无任何联系,仅仅是穿模的一个状态,然后,需要对所有的梁单元上建立接触属性,且接触单元被赋予单元生死的属性,进一步,在接触单元抑制的状态下,对每个需要交错的位置施加载荷,之后,激活接触属性,此时,原位梁框架由于接触属性,就不会出现穿模的现象,而是我们需要的上下交错的一个状态。最后,进行小球落下的分析

  • 采用的单元包括Beam188, 接触属性材料TARGET170和CONTA176单元接触对,CONTA176为线-线接触,相关命令流及Keyopt如下













et,1,188et,2,188et,3,170et,4,176keyopt,4,3,1et,5,170et,6,176keyopt,6,3,1r,1r,2r,3,DIM_BEAM_RADIUS,DIM_BEAM_RADIUSr,5,DIM_SPHERE_RADIUS,DIM_BEAM_RADIUS
  • 材料本构选择双线性各向同性强化模型,具体材料设置如下:

















mp,ex  ,1,10e6mp,nuxy,1,0.3tb,biso,1,1tbdata,1,50e3,10e4mp,ex  ,2,10e6mp,nuxy,2,0.3tb,biso,2,1tbdata,1,50e3,10e4tb,fric,3,1,,isotbdata,1,0.1tb,fric,5,1,,isotbdata,1,0.4sectype,1,beam,ctubesecdata,DIM_BEAM_RINNER,DIM_BEAM_RADIUSsectype,2,beam,ctubesecdata,DIM_BEAM_RINNER,DIM_BEAM_RADIUS
  • 载荷施加:如下图,需要在每个连接点施加一个向上一个向下的载荷力,这里类似于真实编织过程中一个向上提,一个穿过去的过程。

具体通过Do循环施加,如下命令流:















*do,ICOUNT,1,NUM_BEAM_LINES  *do,JCOUNT,1,NUM_BEAM_LINES    *if,mod(ICOUNT+JCOUNT,2),eq,0,then      FRC_BEAM_TEMP=FRC_BEAM_OFFSET    *else      FRC_BEAM_TEMP=-FRC_BEAM_OFFSET    *endif    esel,s,type,,1    nsle    f,node(DIM_BEAM_SPACING/2+(ICOUNT-1)*DIM_BEAM_SPACING,0,DIM_BEAM_SPACING/2+(JCOUNT-1)*DIM_BEAM_SPACING),fy,FRC_BEAM_TEMP    esel,s,type,,2    nsle    f,node(DIM_BEAM_SPACING/2+(ICOUNT-1)*DIM_BEAM_SPACING,0,DIM_BEAM_SPACING/2+(JCOUNT-1)*DIM_BEAM_SPACING),fy,-FRC_BEAM_TEMP  *enddo*enddo
  • 载荷步设置

    1:抑制接触单元属性,施加上述各位置载荷力

    2:激活接触单元,求解  

    3:激活小球,给小球施加向下位移载荷

  • 最终状态位移变形云图,这个时候就可以看出梁与梁之间的编织属性了

完整命令流


































































































































































finish/clear
DIM_BEAM_RADIUS   = 2DIM_BEAM_RINNER   = 1.5DIM_BEAM_LENGTH   = 120DIM_BEAM_SPACING  = 20DIM_SPHERE_RADIUS = 30
NUM_BEAM_LINES  = DIM_BEAM_LENGTH/DIM_BEAM_SPACING
FRC_BEAM_OFFSET = 1e5
/view,1,1,2,3/auto/pnum,type,1/num,1/eshape,1
/prep7et,1,188et,2,188et,3,170et,4,176keyopt,4,3,1et,5,170et,6,176keyopt,6,3,1r,1r,2r,3,DIM_BEAM_RADIUS,DIM_BEAM_RADIUSr,5,DIM_SPHERE_RADIUS,DIM_BEAM_RADIUS
mp,ex  ,1,10e6mp,nuxy,1,0.3tb,biso,1,1tbdata,1,50e3,10e4mp,ex  ,2,10e6mp,nuxy,2,0.3tb,biso,2,1tbdata,1,50e3,10e4tb,fric,3,1,,isotbdata,1,0.1tb,fric,5,1,,isotbdata,1,0.4sectype,1,beam,ctubesecdata,DIM_BEAM_RINNER,DIM_BEAM_RADIUSsectype,2,beam,ctubesecdata,DIM_BEAM_RINNER,DIM_BEAM_RADIUS
k,1,0,,DIM_BEAM_SPACING/2k,2,DIM_BEAM_LENGTH,,DIM_BEAM_SPACING/2l,1,2latt,1,1,1,,,,1esize,5lmesh,all*get,NUM_NODE_MAX,node,,num,maxdegen,NUM_BEAM_LINES,NUM_NODE_MAX,all,,,0,0,0,0,0,0,0,DIM_BEAM_SPACINGnumcmp,nodelsel,noneallsel,below,linek,3,DIM_BEAM_SPACING/2,,0k,4,DIM_BEAM_SPACING/2,,DIM_BEAM_LENGTHl,3,4latt,2,2,2,,,,2lmesh,all*get,NUM_NODE_MAX,node,,num,maxdegen,NUM_BEAM_LINES,NUM_NODE_MAX,all,,,0,0,0,0,0,DIM_BEAM_SPACING,0,0numcmp,node
esel,s,type,,1nsletype,3$real,3$mat,3$tsha,lineesurfesel,s,type,,2nsletype,4$real,3$mat,3esurf
esel,s,type,,1,2nsletype,6$real,5$mat,5esurfesel,s,type,,1nsleeslnesel,r,type,,6ensym,0,,0,all
nsel,nonen,,DIM_BEAM_LENGTH/2,DIM_SPHERE_RADIUS+2*DIM_BEAM_RADIUS,DIM_BEAM_LENGTH/2type,5$real,5$mat,5$tsha,spheNUM_NODE_PILOT=ndnext(0)e,NUM_NODE_PILOTtsha,piloe,NUM_NODE_PILOT
d,NUM_NODE_PILOT,all
nsel,s,loc,x,0nsel,a,loc,x,DIM_BEAM_LENGTHnsel,a,loc,z,0nsel,a,loc,z,DIM_BEAM_LENGTHd,all,uxd,all,uyd,all,uz
*do,ICOUNT,1,NUM_BEAM_LINES  *do,JCOUNT,1,NUM_BEAM_LINES    *if,mod(ICOUNT+JCOUNT,2),eq,0,then      FRC_BEAM_TEMP=FRC_BEAM_OFFSET    *else      FRC_BEAM_TEMP=-FRC_BEAM_OFFSET    *endif    esel,s,type,,1    nsle    f,node(DIM_BEAM_SPACING/2+(ICOUNT-1)*DIM_BEAM_SPACING,0,DIM_BEAM_SPACING/2+(JCOUNT-1)*DIM_BEAM_SPACING),fy,FRC_BEAM_TEMP    esel,s,type,,2    nsle    f,node(DIM_BEAM_SPACING/2+(ICOUNT-1)*DIM_BEAM_SPACING,0,DIM_BEAM_SPACING/2+(JCOUNT-1)*DIM_BEAM_SPACING),fy,-FRC_BEAM_TEMP  *enddo*enddo
allsel,allfinish
/solunlgeom,onrescon,define,none   !无多重启动文件outres,all,allnsubst,10
esel,s,type,,3,6ekill,all
allsel,all/title,Apply forces to form net pattern (no contact active)solve
esel,s,type,,3,4ealive,all
allsel,all/title,Finish net pattern by activating contact (resolve interference)nsubst,10solve
esel,s,type,,5,6ealive,alld,NUM_NODE_PILOT,uy,-5*DIM_BEAM_RADIUS
allsel,all/title,Push down with rigid sphere on netNSUBS,10solve
finish/eof/post1set,lastplnsol,u,sum

读。

来源:芷行说
ACTWorkbench疲劳复合材料碰撞非线性电路拓扑优化二次开发航空航天轨道交通汽车MATLABUM裂纹GID材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-12-02
最近编辑:11月前
芷行说
本科 | 固体力学博士... 芷行说,致力精品,专注于有限元...
获赞 29粉丝 30文章 39课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈