1、几个耦合的例子一般说来,ANSYS的流固耦合主要有4种方式:1,sequential这需要用户进行APDL编程进行流固耦合sequentia指的是顺序耦合以采用MpCCI为例,你可以利用ANSYS和一个第三方CFD产品执行流固耦合分析。在这个方法中,基于网格的平行代码耦合界面(MpCCI) 将ANSYS和CFD程序耦合起来。即使网格上存在差别,MpCCI也能够实现流固界面的数据转换。ANSYS CD中包含有MpCCI库和一个相关实例。关于该方法的详细信息,参见ANSYS Coupled-Field Analysis Guide中的Sequential Couplin2,FSI solver流固
2、耦合的设置过程非常简单,推荐你使用这种方式3,multi-field solver这是FSI solver的扩展,你可以使用它实现流体,结构,热,电磁等的耦合4,直接采用特殊的单元进行直接耦合,耦合计算直接发生在单元刚度矩阵一个流固耦合的例子length=2width=3height=2/prep7et,1,63et,2,30 !选用FLUID30单元,用于流固耦合问题r,1,0.01mp,ex,1,2e11mp,nuxy,1,0.3mp,dens,1,7800mp,dens,2,1000 !定义Acoustics材料来描述流体材料-水mp,sonc,2,1400mp,mu,0,!block,
3、length,width,heightesize,0.5mshkey,1!type,1mat,1real,1asel,u,loc,y,widthamesh,allalls!type,2mat,2vmesh,allfini/soluantype,2modopt,unsym,10 !非对称模态提取方法处理流固耦合问题eqslv,frontmxpand,10,1nsel,s,loc,x,nsel,a,loc,x,lengthnsel,r,loc,yd,all,ux,uy,uz,nsel,s,loc,y,width,d,all,pres,0allsasel,u,loc,y,width,sfa,all,
4、fsi !定义流固耦合界面allssolvfini/post1set,firstplnsol,u,sum,2,1fini再给大家一个实例!考虑结构在水中的自振频率:例子是一加筋板在水中的模态分析。命令流如下:FINISH/CLEAR/FILENAME,plane/UNITS,SI/TITLE,plane/PREP7!*ELEMENT DEFINE*ET,63,63ET,4,beam4et,30,fluid30!*MATERIAL DEFINE*MP,EX,1,2.10E11MP,DENS,1,7850MP,NUXY,1,0.3mp,dens,30,1025mp,sonc,30,1500mp,m
5、u,30,0.5!*REAL CONSTANT*r,30,1e-06r,50,0.05r,75,0.375e-02,0.78125e-06,0.000016406k,1k,4,1kfill,1,4,2,1kgen,4,1,4,1,1/3,10a,1,2,12,11*do,i,0,2*do,j,0,2*10,10a,1+i+j,2+i+j,12+i+j,11+i+j*enddo*enddo!*fluid element*k,100,-14.5,-14.5k,101,-14.5,15.5k,102,15.5,15.5k,103,15.5,-14.5k,140,-14.5,-14.5,30k,141
6、,-14.5,15.5,30k,142,15.5,15.5,30k,143,15.5,-14.5,30a,100,101,102,103,4,14,24,34,33,32,31,21,11,1a,1,2,3,4,103,100a,140,141,142,143a,100,101,141,140a,101,102,142,141a,142,143,103,102a,140,143,103,100a,14,24,34,33,32,31,21,11,1,2,3,4asel,u,1,FLST,2,8,5,ORDE,2okok.orgFITEM,2,10okok.orgFITEM,2,-17okok.o
7、rgVA,P51Xokok.orgnummrg,allallsMSHKEY,0MSHAPE,0esize,1lsel,s,loc,y,1/3lsel,r,loc,x,0,1lsel,r,loc,z,0latt,1,75,4lmesh,alllsel,s,loc,y,2/3lsel,r,loc,x,0,1lsel,r,loc,z,0latt,1,75,4lmesh,alllsel,s,loc,x,1/3lsel,r,loc,y,0,1lsel,r,loc,z,0latt,1,75,4lmesh,alllsel,s,loc,x,2/3lsel,r,loc,y,0,1lsel,r,loc,z,0la
8、tt,1,75,4lmesh,allasel,s,1,9aatt,1,50,63amesh,allallsMSHAPE,1,3desize,3vsel,s,1type,30 $mat,30 $real,30vmesh,allallsFINISH/solualls!* 求解 *!*ANTYPE,MODALMODOPT,lanb,25,0SOLVEFINISH总是出现error 说矩阵不对称,不可以用lanb计算。总结:流体单元不能用对称的解法应该采用非对称解法。例子是一圆环在水中的模态分析。命令流如下:finish/clear/PREP7!定义单元类型ET,1,PLANE42 ! structu
9、ral elementET,2,FLUID29 ! acoustic fluid element with ux & uyET,3,129 ! acoustic infinite line elementr,3,0.31242,0,0ET,4,FLUID29,1,0 ! acoustic fluid element without ux & uy!材料属性MP,EX,1,2.068e11MP,DENS,1,7929MP,NUXY,1,0MP,DENS,2,1030MP,SONC,2,1460! 创建四分之一模型CYL4,0,0,0.254,0,0.26035,90CYL4,0,0,0.2603
10、5,0,0.31242,90! 选择属性,网格划分ASEL,S,AREA,1AATT,1,1,1,0LESIZE,1,16,1LESIZE,3,16,1LESIZE,2,1,1LESIZE,4,1,1MSHKEY,1MSHAPE,0,2D ! mapped quad meshAMESH,1ASEL,S,AREA,2AATT,2,1,2,0LESIZE,5,16,1LESIZE,7,16,1LESIZE,6,5LESIZE,8,5MSHKEY,0MSHAPE,0,2D ! mapped quad meshAMESH,2! 关于Y轴镜像nsym,x,1000,all ! offset node n
11、umber by 1000esym,1000,all! 关于y轴镜像nsym,y,2000,all ! offset node number by 2000esym,2000,allNUMMRG,ALL ! merge all quantitiesesel,s,type,1nsle,sesln,s,0nsle,sesel,invensle,semodif,all,type,4esel,allnsel,all! 指定无限吸收边界csys,1nsel,s,loc,x,0.31242type,3real,3mat,2esurfesel,allnsel,all! 标识流固交接面nsel,s,loc,x
12、,0.26035esel,s,type,2sf,all,fsi,1nsel,allesel,allFINISH/soluantype,modalmodopt,damp,10mxpand,10,yessolvefinish为了便于对比,也对圆环在空气中做了模态分析finish/clear/PREP7!定义单元类型ET,1,PLANE42 ! structural element!材料属性MP,EX,1,2.068e11MP,DENS,1,7929MP,NUXY,1,0! 创建四分之一模型CYL4,0,0,0.254,0,0.26035,90! 选择属性,网格划分ASEL,S,AREA,1AATT
13、,1,1,1,0LESIZE,1,16,1LESIZE,3,16,1LESIZE,2,1,1LESIZE,4,1,1MSHKEY,1MSHAPE,0,2D ! mapped quad meshAMESH,1! 关于Y轴镜像nsym,x,1000,all ! offset node number by 1000esym,1000,all! 关于y轴镜像nsym,y,2000,all ! offset node number by 2000esym,2000,allNUMMRG,ALL/soluantype,modalmodopt,lanb,10mxpand,10,yessolvefinish在水
14、中的自振频率为 SET TIME/FREQ LOAD STEP SUBSTEP CUMULATIVE 1-0.19544E-10 1 1 1 2 0.29640E-03 1 1 1 3-0.21663E-10 1 2 2 4-0.29640E-03 1 2 2 5 0.30870E-03 1 3 3 6 0.0000 1 3 3 7-0.30870E-03 1 4 4 8 0.0000 1 4 4 9-0.53726E-03 1 5 5 10 0.57522E-11 1 5 5 11 0.53726E-03 1 6 6 12-0.89057E-11 1 6 6 13 0.98059E-01 1
15、 7 7 14 35.232 1 7 7 15 0.98059E-01 1 8 8 16 -35.232 1 8 8 17 0.98061E-01 1 9 9 18 35.233 1 9 9 19 0.98061E-01 1 10 10 20 -35.233 1 10 10在空气中的自振频率为 SET TIME/FREQ LOAD STEP SUBSTEP CUMULATIVE 1 0.0000 1 1 1 2 0.0000 1 2 2 3 0.73609E-03 1 3 3 4 60.805 1 4 4 5 60.805 1 5 5 6 172.97 1 6 6 7 172.97 1 7 7
16、 8 334.40 1 8 8 9 334.40 1 9 9 10 546.59 1 10 10主要有以下疑问:1)考虑流固耦合,做模态分析时流体单元是否只能用fluid29(2d)和fluid30(3d),对于fluid129和fluid130在耦合中具体起到什么作用,能不能不设,而用边界约束条件代替?2)流体范围怎样确定,如本例中(CYL4,0,0,0.26035,0,0.31242,90),外半径为0.31242。如果不是环形的,如一块当水板,该怎样考虑?3)如果不考虑流体的压缩性,把声速设的很大,MP,SONC,2,1e20,就可以了。4)从自振频率可以看出,在水中和在空气中,圆环的自
17、振频率差别特别大,且振型也大相径庭,为什么?在水中时,模态提取方法用damp(为什么不能用unsym),特征值的虚部代表角频率,为什么第一阶为正,第二阶为负,而第三阶和第四阶都为0,第六阶、八阶、十阶都为负。应该是从小到大才对?5)在空气中时,模态提取方法用lanb,为什么第一阶第二阶的频率都为0。请高手指点迷津,急盼中对以上问题的解答:频率为零,一般是发生了刚体位移,估计你是把水抽走,而没有限制圆环。1。圆环在水中振动必然导致波动(其实就是声波)在水中传播,当声波到达水的另一个界面时就会发生反射(除非水和另一个相邻体的声阻抗是匹配的)。水和金属中的声速相差不大,即可压缩性相差不大。两种可压缩
18、性相差不大的物质的相互作用对两者影响都很大。圆环在水中振动,水对圆环的反作用是由于反射波引起的,流固耦合中采用fluid129和130就是最大程度的减弱反射波。2。声波从圆环开始传播,随着传播距离的增加,波阵面不断增大,振幅不断减小。同时由于水的衰减,声波也不断减弱。如果水的空间越大,则反射波返回圆环的路径越长,衰减也就越多,影响也就越小。fluid129和130对反射波的衰减(通过很小的反射实现)有限,因此还需要水要有足够的空间。fluid129和130离结构应该大于0.2(=c/f,c为水中声速)。以上的做法在误差允许的情况下等效于水在无限大水空间中的情况。如果是挡水板,水就是有限空间了,
19、情况也不一样。3。声速加大情况也不一样,就是不知是不是你所要的情况?4。空气作为介质,由于其声速比金属小很多,可压缩性大很多,影响可以忽略不计。而水的影响就不同了。这可能就是频率和振型不同的原因吧?我试了你的例子,各种提取方法都可以。5。空气的影响忽略不计,因此需要对圆环进行约束。你没有约束,那么就会发生静态位移即频率为零。圆环有两个对称轴,因此会发生频率成对出现的情况。也就是说,两个方向上有同样的振型。接触分析实例-包含初始间隙fini/clear,nostart/prep7et,1,82KEYOPT,1,3,3r,1,0.5mp,ex,1,1e9mp,prxy,1,0.3k,1,0,0k,
20、2,10,0k,3,10,5k,4,6.2,5k,5,7.5,3.4k,6,2.5,3.4k,7,3.8,5k,8,0,5a,1,2,3,4,5,6,7,8LFILLT,6,5,0.18, , LFILLT,5,4,0.18, , FLST,2,3,4 FITEM,2,9 FITEM,2,11 FITEM,2,10 AL,P51XFLST,2,3,4 FITEM,2,13 FITEM,2,14 FITEM,2,12 AL,P51XFLST,2,3,5,ORDE,2 FITEM,2,1 FITEM,2,-3 AADD,P51Xrect,0,10,4.8,5ASBA, 4, 1 gap=0.02k
21、,24,6.2-gap,5k,25,7.5-gap,3.4k,26,2.5+gap,3.4k,27,3.8+gap,5a,24,25,26,27LFILLT,4,3,0.2, , LFILLT,3,2,0.2, , FLST,2,3,4 FITEM,2,7 FITEM,2,10 FITEM,2,8 AL,P51XFLST,2,3,4 FITEM,2,13 FITEM,2,14 FITEM,2,11 AL,P51XFLST,3,2,5,ORDE,2 FITEM,3,3 FITEM,3,-4 ASBA, 1,P51X rect,3.8+gap,6.2-gap,5,10rect,3.8+gap,3.
22、8+gap+8,10,12FLST,2,3,5,ORDE,3 FITEM,2,1 FITEM,2,3 FITEM,2,5 AADD,P51X rect,3.8+gap+8,3.8+gap+8+2,10,12FLST,2,2,5,ORDE,2 FITEM,2,1 FITEM,2,4 AGLUE,P51X CYL4,2.0,1.8,0.6 CYL4,7.0,1.8,0.6FLST,2,3,5,ORDE,3 FITEM,2,2 FITEM,2,4 FITEM,2,-5 AOVLAP,P51Xesize,0.2amesh,allFLST,5,135,2,ORDE,32FITEM,5,485FITEM,
23、5,576FITEM,5,-577FITEM,5,621FITEM,5,-625FITEM,5,707FITEM,5,-711FITEM,5,716FITEM,5,741FITEM,5,-745FITEM,5,750FITEM,5,-751FITEM,5,766FITEM,5,797FITEM,5,-798FITEM,5,854FITEM,5,888FITEM,5,-938FITEM,5,1101FITEM,5,1103FITEM,5,1420FITEM,5,1628FITEM,5,1653FITEM,5,1696FITEM,5,1699FITEM,5,-1702 FITEM,5,1726FI
24、TEM,5,-1728 FITEM,5,1852FITEM,5,-1874 FITEM,5,2044FITEM,5,-2066 CM,_Y,ELEM ESEL, , , ,P51XCM,_Y1,ELEMCMSEL,S,_Y CMDELE,_Y EREF,_Y1, , ,1,0,1,1CMDELE,_Y1 ET,2,TARGE169 ET,3,CONTA172 R,3, , ,R,3,0,0,0.1, 10,0,0R,4, , ,R,4,0,0,0.1, 10,-0.02,0 lsel,s,9lsel,a,5lsel,a,12nsll,s,1type,3real,3esurf,allalls,l
25、sel,s,19lsel,a,20nsll,s,1type,3real,4esurf,allalls,lsel,s,7lsel,a,3lsel,a,11nsll,s,1type,2real,3esurf,allalls,lsel,s,25lsel,a,26nsll,s,1type,2real,4esurf,allalls,FLST,2,2,5,ORDE,2 FITEM,2,4 FITEM,2,-5 DA,P51X,ALL,FLST,2,1,4,ORDE,1 FITEM,2,6 SFL,P51X,PRES,500, /soluantype,0nlgeom,onoutres,all,allnsub
26、st,200,200,2neqit,1000solve耦合小程序最近用到耦合,写了一段小程序,奉献出来,与大家共享。如果有很多节点,每两个节点位置相同,如果将这些杂乱无章的节点耦合,是件很麻烦的事,可用这段程序,轻松解决。cpnum=0cmsel,s,n-zhong !需要耦合的节点*GET,n_num,NODE,COUNT, , , , !节点总数*do,i,1,n_numcmsel,s,n-zhong*GET,n_lowest,NODE,NUM,MIN, , , , !号码最小的节点*GET,n_x,NODE,n_lowest,LOC,X !该节点坐标*GET,n_y,NODE,n_low
27、est,LOC,Y*GET,n_z,NODE,n_lowest,LOC,ZNSEL,s,LOC,X,n_x-0.3,n_x+0.3 !寻找与该节点位置相同的节点NSEL,R,LOC,Y,n_y-0.3,n_y+0.3NSEL,R,LOC,z,n_z-0.3,n_z+0.3cm,n_cp_cp,node !位置相同的节点形成一个组cmsel,s,n-zhongcmsel,u,n_cp_cpcm,n-zhong,node !取消这些点后剩余的点形成组*GET,n_num_1,NODE,COUNT, , , , !节点总数*if,n_num_1,lt,2,exit !如果节点数小于二则退出cmsel
28、,s,n_cp_cp*GET,n_num,NODE,COUNT, , , ,*if,n_num,gt,1,thenCP,cpnum+1,ux,allCP,cpnum+2,uy,allCP,cpnum+3,uz,allcpnum=cpnum+3*else*endif*enddo该段程序可用CPINTF,UX,0.001CPINTF,UY,0.001CPINTF,UZ,0.001代替*DO,I,2,296,3CP,I,UX,I,I+2*ENDDO*DO,I,2,296,3CP,I,UY,I,I+2*ENDDO*DO,I,2,296,3CP,I,UZ,I,I+2*ENDDODK,1, , , ,0,UX,UY,UZ, , , ,以上几句改为:*DO,I,2,296,3CP,NEXT,ALL,I,I+2*ENDDODK,1, , , ,0,ALL或CPINTF,ALL,0.001因为你选用的单元有六个自由度,如果只约束三个,程序是不会运行的.另:三次循环语句的I相等,约束UY时,UX的耦合就被删掉了,最后只剩UZ了这样修改:c*耦合练习/PREP7K,1,0,0K,2,0.1,0L,1,2K,300,0,-10000LGEN,100,1,0.1,2ET,1,BEAM188MP,EX,1,2.1e11MP,PRXY,1,0.3MP,DENS
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1