ANSYS-apdl命令流笔记3------生死单元法

📅 发布时间:2026/10/17 1:36:55
ANSYS-apdl命令流笔记3------生死单元法
生死单元法文章目录生死单元法前言一、单元杀死过程二、单元生成三、完整命令总结前言通过生成和杀死单元可以模拟那些单元数随着载荷步的进行不断增加对按照要求排序后生成和杀死的单元施加载荷和约束进行循环求解达到特殊求解要求。如焊接等。一、单元杀死过程有限元模型单元杀死过程......!前面步骤参考前面笔记 *do,I,1,nse!对中间区域单元进行循环 ekill,neorder(i)!杀死排序后的单元 esel,s,live!单元选择 eplot!单元显示 *enddo二、单元生成.........!前面步骤参考前面笔记 allsel,all /seg,multi,ealive,0.2!将生成单元动画显示间隔0.2秒 *do,I,1,nse!对中间区域单元循环 ealive,neorder(i)!生成排序后的单元 esel,s,live!选择没有杀死的单元 eplot!单元显示 esel,all *do,j,1,4 d,nelem(neorder(i),j),temp,max_tem!对单元节点约束 *enddo *enddo /seg,off,ealive,0.2!结束单元动画生成 anim,1,1三、完整命令finish /clear,start /filname,lell /title,fff /prep7 /unit,si et,1,13,4 et,2,13,4 ! mptemp,1,20,500,800,1200,1500 mpdata,ex,1,1,2.09e11,1.72e11,1.33e11,0.84e11,0.45e11 mpdata,ex,2,1,2.16e11,1.78e11,1.42e11,1.04e11,0.68e11 mpdata,ex,3,1,2.12e11,1.75e11,1.39e11,1.07e11,0.83e11 tb,bkin,1,5 tbtemp,20,1 tbdata,1,315e6,2.09e10 tbtemp,500,2 tbdata,1,212e6,1.72e10 tbtemp,800,3 tbdata,1,153e6,1.33e10 tbtemp,1200,4 tbdata,1,93e6,0.84e10 tbtemp,1500,5 tbdata,1,33e6,0.45e10 !材料1 ! tb,bkin,2,5 tbtemp,20,1 tbdata,1,330e6,2.12e10 tbtemp,500,2 tbdata,1,213e6,1.75e10 tbtemp,800,3 tbdata,1,153e6,1.39e10 tbtemp,1200,4 tbdata,1,73e6,1.07e10 tbtemp,1500,5 tbdata,1,13e6,0.83e10 !材料2 ! tb,bkin,3,5 tbtemp,20,1 tbdata,1,314e6,2.16e10 tbtemp,500,2 tbdata,1,203e6,1.78e10 tbtemp,800,3 tbdata,1,143e6,1.42e10 tbtemp,1200,4 tbdata,1,63e6,1.04e10 tbtemp,1500,5 tbdata,1,13e6,0.68e10! !材料3 ! mp,dens,1,7850 mp,dens,2,7770 mp,dens,3,7860 !密度 mp,alpx,1,1.23e-5 mp,alpx,2,1.38e-5 mp,alpx,3,1.48e-5 !线膨胀系数 mp,nuxy,1,0.3 mp,nuxy,2,0.29 mp,nuxy,3,0.29 !泊松比 mp,kxx,1,33 mp,kxx,2,32 mp,kxx,3,34 !导热系数 mp,c,1,561 mp,c,2,683 mp,c,3,983 !比热容 mp,murx,1,1 mp,murx.2.1 mp,murx,3,1 !相对磁导率 mp,reft,1,20 mp,reft,2,1500 mp,reft,3,20 !参考温度 ! ! *AFUN,DEG csys,0 width1 beight0.3 ar0.14*tan(30) ex0.01*tan(60) dfarex cfdf/cos(60) ! k,1,0,0,0 k,2,width/2-0.01-ar,0,0 k,3,width/20.01ar,0,0 k,4,width,0,0 k,5,width/2-0.01,beight/2-0.01,0 k,6,width/20.01,beight/2-0.01,0 k,7,width/2-0.01,beight/20.01,0 k,8,width/20.01,beight/20.01,0 k,9,0,beight,0 k,10,width/2-0.01-ar,beight,0 k,11,width/20.01ar,beight,0 k,12,width,beight,0 ! n,1,width/20.01ar,beight,0 !模型中的A点 n,2,width,beight,0 !B点 n,3,width/20.01ar,0,0 !C点 larc,10,11,7,cf larc,2,3,5,cf a,1,2,5,7,10,9 a,10,7,5,2,3,6,8,11 a,3,4,12,11,8,6 /traid,off !关掉坐标的三角符号显示 /plots,info,0 !关掉图形屏幕中信息的显示 /devices,vector,1 !采用向量标示 esize,0.03 type,2 mat,2 amesh,2 esize,0.03 type,1 mat,1 amesh,1 mat,3 amesh,3 nummrg,all numcmp,all /image,save,vmesh,bmp /devices,vector,0 !采用光栅显示模式 finish ! /solu *get,minx,node,,mnloc,x nsel,s,loc,x,minx d,all,ux,0 d,all,temp,20 *get,miny,node,,mnloc,y nsel,s,loc,y,miny d,all,uy,0 nsel,all *get,maxx,node,,mxloc,x nsel,s,loc,x,maxx d,all,temp,20 ! *set,nna,2 esel,all *get,emax,elem,,num,max asel,s,area,,nna esla *get,nse,elem,,count *dim,ne,,nse *dim,n1,,nse *dim,n2,,nse *dim,nex,,nse *dim,ney,,nse *dim,neorder,,nse ii0 *do,I,1,emax *if,esel(i),eq,1,then iiii1 ne(ii)i *endif *enddo !将焊缝处单元编号存于数组中 *do,I,1,nse *get,ney(i),elem,ne(i),cent,y *get,nex(i),elem,ne(i),cent,x *enddo !将焊缝区单元质心x,y坐标分别放入nex,ney数组中 d0 *do,I,1,nse *if,ney(i),ge,beight/2,then dd1 n2(d)ne(i) *endif *enddo c0 *do,I,1,nse *if,ney(i),lt,beight/2,then cc1 n1(c)ne(i) *endif *enddo !将焊缝上面单元存于n2中下面存于n1中 esel,none *do,I,1,d esel,a,elem,,n2(i) *enddo !选取焊缝上边单元 eplot *create,shanghanf,mac mine0 *dim,ne2,,d *dim,nex2,,d *dim,ney2,,d *do,i1,1,d esel,u,elem,,mine *get,nse2,elem,,count ii0 *do,I,1,emax *if,esel(i),eq,1,then iiii1 ne2(ii)i *endif *enddo *do,I,1,nse2 *get,ney2(i),elem,ne2(i),cent,y *get,nex2(i),elem,ne2(i),cent,x *enddo miny1e10 minx1e10 *do,I,1,nse2 *if,ney2(i),lt,miny,then minyney2(i) minxnex2(i) minene2(i) *else *if,ney2(i),eq,miny,then *if,nex2(i),lt,minx,then minyney2(i) minxnex2(i) minene2(i) *endif *endif *endif *enddo neorder(i1)mine *enddo !对上半部分单元按y轴进行排序 *end *create,xiahanf,mac maxe0 esel,none *do,I,1,c esel,a,elem,,n1(i) *enddo *dim,ne1,,c *dim,nex1,,c *dim,ney1,,c *do,i1,1,c esel,u,elem,,maxe *get,nse3,elem,,count ii0 *do,I,1,emax *if,esel(i),eq,1,then iiii1 ne1(ii)i *endif *enddo *do,I,1,nse3 *get,ney1(i),elem,ne1(i),cent,y *get,nex1(i),elem,ne1(i),cent,x *enddo maxy-1e10 maxx-1e10 *do,I,1,nse3 *if,ney1(i),gt,maxy,then maxyney1(i) maxxnex1(i) maxene1(i) *else *if,ney1(i),eq,maxy,then *if,nex1(i),lt,maxx,then maxyney1(i) maxxnex1(i) maxene1(i) *endif *endif *endif *enddo neorder(i1d)maxe *enddo *end shanghanf xiahanf ! max_tem1500 dt11e-3 dt5 t0 esel,all eplot /auto,1 /replot *do,I,1,nse ekill,neorder(i) esel,s,live eplot *enddo eplot allsel,all /seg,multi,ealive,0.2 *do,I,1,nse ealive,neorder(i) esel,s,live eplot esel,all *do,j,1,4 d,nelem(neorder(i),j),temp,max_tem *enddo *enddo /seg,off,ealive,0.2 anim,1,总结生死单元法可以对按照某种条件排序后的单元进行生成和杀死在这个过程中单元上的载荷及约束也会跟着生成和杀死这可以很容易的对那些动态单元进行模拟。