ansys查轴力弯矩新版
- 格式:docx
- 大小:18.47 KB
- 文档页数:6
ANSYS绘制弯矩、剪力、轴力图1.绘制弯矩图建立弯矩单元表。
例如梁单元i节点单元表名称为imom,j节点单元表名称为jmom,ETABLE,NI,SMISC,1 !单元I点轴力ETABLE,NJ,SMISC,7 !单元J点轴力ETABLE,QI,SMISC,2 !单元I点剪力ETABLE,QJ,SMISC,8 !单元J点剪力ETABLE,MI,SMISC,6 !单元I点弯矩ETABLE,MJ,SMISC,12 !单元J点弯矩plls,MI,MJ2.标注弯矩图PLOTCTRLS>>NUMBERING>>SVAL ON即可在画出弯矩图的同时在图上标出弯矩值的大小3.调整弯矩图如果弯矩图方向错误,则绘制弯矩图命令为plls,imom,jmom,-1同一个节点处两边的单元内力有细微差别,导致内力数字标注出现重影。
观察上面整体轴力图也可以发现,一段一段的,好像马赛克,其实上面整体弯矩图也是,不过不是很明显罢了。
这是EULER-BEONOULI梁理论以及ANSYS输出定义造成的(详细原因就不展开了,看看梁理论的书和ANSYS的说明吧)。
为了修正重影和节点两边内力值不一样的问题,遍制了宏文件ITFAVG.MAC命令文件内容如下:!---------------------------------------------------------------------!宏:ITFAVG.MAC(INTERNAL FORCE AVERAGE MACRO)!获取线性单元内力,并对单元边界处的内力进行平衡!输入信息!内力类型:MFORX,MFORY,MFORZ,MMOMX,MMOMY,MMOMZ*ASK,ITFTYPE,'PLEASE INPUT THE TYPE OF INTERNAL FORCE','MMOMY'!需处理的单元包*ASK,EASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF ELEMENTS TO BE PROCESSED!','EOUTER'!需处理的节点包*ASK,NASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF NODE TO BE PROCESSED!','NOUTER'!无需处理的节点包*ASK,UNASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF THE UNCHANGED NODE!(NONE IF THERE'S NO SUCH COMPONENT)','NONE'/POST1!输入信息:内力类型,欲处理单元的集合,欲处理节点的集合!ITFTYPE='MMOMY'!EASSEMBLY='EOUTER'!NASSEMBLY='NOUTER'!按内力类型确定ANSYS输出信息SMISC的编号*IF,ITFTYPE,EQ,'MFORX',THENITFINUM=1ITFJNUM=7*ELSEIF,ITFTYPE,EQ,'MFORY',THENITFINUM=2ITFJNUM=8*ELSEIF,ITFTYPE,EQ,'MFORZ',THENITFINUM=3ITFJNUM=9*ELSEIF,ITFTYPE,EQ,'MMOMX',THENITFINUM=4ITFJNUM=10*ELSEIF,ITFTYPE,EQ,'MMOMY',THENITFINUM=5ITFJNUM=11*ELSEIF,ITFTYPE,EQ,'MMOMZ',THENITFINUM=6ITFJNUM=12*ELSE*ENDIF!对不需平均的节点进行处理*IF,UNASSEMBLY,NE,'NONE',THEN!选出不进行处理的节点包并获取不进行处理节点的数目CMSEL,S,UNASSEMBLY*GET,UNNODNUM,NODE,0,COUNT!定义长度为UNNODNUM的数组(UNNOD),以存放选中单元的单元编号*DIM,UNNOD,ARRAY,UNNODNUM!将选中单元的编号按顺序存入数组UNNOD*DO,I,0,UNNODNUM-1,1UNNOD(I+1)=NDNEXT(I)*ENDDO*ELSEUNNODNUM=0*ENDIF!选出所需的单元和节点包CMSEL,S,EASSEMBLYCMSEL,S,NASSEMBLY!获得当前选中单元总数(存入变量SELELENUM)*GET,SELELENUM,ELEM,0,COUNT!定义长度为SELELENUM的数组(ELENUM),以存放选中单元的单元编号*DIM,ELENUM,ARRAY,SELELENUM!将选中单元的编号按顺序存入数组ELENUM*DO,I,0,SELELENUM-1,1ELENUM(I+1)=ELNEXT(I)*ENDDO!获得当前选中节点总数(存入变量SELNODNUM)*GET,SELNODNUM,NODE,0,COUNT!定义长度为SELNODNUM的数组(NODNUM),以存放选中单元的单元编号*DIM,NODNUM,ARRAY,SELNODNUM!将选中单元的编号按顺序存入数组NODNUM*DO,I,0,SELNODNUM-1,1NODNUM(I+1)=NDNEXT(I)*ENDDO!定义所需的线性单元内力ETABLE,节点I的内力存入数组ITNFI,!节点J的内力存入数组ITNFJETABLE,ITNFI,SMISC,ITFINUMETABLE,ITNFJ,SMISC,ITFJNUM!定义所需的结果数组,并将其置零ETABLE,ITNFINEO,SMISC,5SADD,ITNFINEO,ITNFI,,1ETABLE,ITNFJNEO,SMISC,11SADD,ITNFJNEO,ITNFJ,,1*DO,K,1,SELNODNUM,1!处理不需平均的节点INDEX=0*IF,UNNODNUM,GE,1,THEN*DO,J,1,UNNODNUM*IF,NODNUM(K),EQ,UNNOD(J),THENINDEX=1*ELSE*ENDIF*ENDDO*ELSE*ENDIF*DO,J,1,SELELENUM,1!选出和节点K相连的线性单元中,I节点(对线性单元而言)为节点K的单元编号*IF,NELEM(ELENUM(J),1),EQ,NODNUM(K),THENELEI=ELENUM(J)*EXIT*ELSE*ENDIF*ENDDO*DO,J,1,SELELENUM,1!选出和节点K相连的线性单元中,J节点(对线性单元而言)为节点K的单元编号*IF,NELEM(ELENUM(J),2),EQ,NODNUM(K),THENELEJ=ELENUM(J)*EXIT*ELSE*ENDIF*ENDDO*IF,INDEX,EQ,0,THEN*IF,ELEJ,NE,0,THEN !有可能出现ELEJ为0的情况!取出I节点为节点K的单元的I节点端的内力放入参数ETELEI*GET,ETELEI,ELEM,ELEI,ETAB,ITNFI!取出J节点为节点K的单元的J节点端的内力放入参数ETELEJ*GET,ETELEJ,ELEM,ELEJ,ETAB,ITNFJ!平均节点K的单元的I节点端的内力和节点K的单元的J节点端的内力ETAVE=(ETELEI+ETELEJ)/2!将平均后的内力存入结果数组中DETAB,ELEI,ITNFINEO,ETAVEDETAB,ELEJ,ITNFJNEO,ETAVE*ELSE*ENDIF*ELSE*ENDIF*ENDDO/UDOC,1,LOGO,OFFPLLS,ITNFINEO,ITNFJNEO!END OF ITFAVG.MAC(2)对体和面来说,ANSYS默认的结果输出格式是云图格式,而这种彩色云图打印为黑白图像时对比很不明显,无法表达清楚,对于发表文章非常不便。
Ansys应用技巧ansys中如何生成命令流方法:GUI是:Utility Menu>File>Write DB Log FileANSYS中弯矩、剪力图的绘制GUI:General Postproc-plot Result-Contour Plot-Line Element Result弹出画单元结果的对话框,分别在Labi和Labj依次选取SMIS6和SMIS12〔弯矩图〕、SMIS1和SMIS7〔轴力图〕、SMIS2和SMIS8〔剪力图〕! 建立单元表ETABLE,NI,SMISC,1 !单元I点轴力ETABLE,NJ,SMISC,7 !单元J点轴力ETABLE,QI,SMISC,2 !单元I点剪力ETABLE,QJ,SMISC,8 !单元J点剪力ETABLE,MI,SMISC,6 !单元I点弯矩ETABLE,MJ,SMISC,12 !单元J点弯矩! 更新单元表ETABLE,REFL! 画轴力分布图/TITLE,Axial force diagramPLLS,NI,NJ,1.0,0/image,save,'Axial_force_%T%',jpg! 画剪力分布图/TITLE,Shearing force diagramPLLS,QI,QJ,1.0,0/image,save,'Shearing_force_%T%',jpg! 画弯矩分布图/TITLE,Bending moment diagramPLLS,MI,MJ,-0.8,0/image,save,'Bending_moment_%T%',jpg另:自定义截面梁剪力弯矩显示finish/clear/verify/replot!自定义截面/prep7et,1,plane82rectng,0,1.0,0,0.6,cyl4,0.28,0.25,0.18,-180,cyl4,0.28,0.35,0.18,180,cyl4,0.72,0.25,0.18,-180,cyl4,0.72,0.35,0.18,180, rectng,0.1,0.46,0.25,0.35, rectng,0.54,0.9,0.25,0.35, asel,u,,,1cm,area0,areaallsel,allasba,1,area0amesh,all!读入截面文件secwrite,jiemian,sect,,1 aclear,alladele,all,,1ldele,all,,,1finish/clear/prep7et,1,beam44keyopt,1,6,1mp,dens,1,2600mp,ex,1,3.06e10 mp,prxy,1,0.2 sectype,1,beam,mesh,sect1 secoffset,cent,,,secread,'jiemian','sect','',mesh k,1k,2,10k,3,0,3lstr,1,2latt,1,,1,,3,,1lmesh,all/eshape,1eplotdk,1,ux,0,,,uy,uzdk,2,uy,0,,,uzf,12,fy,-1/soluantype,staticsolvefinish/post1pldisp,2plnsol,u,y,2!显示剪力etable,sheari,smisc,3etable,shearj,smisc,9plls,sheari,shearj,-1!显示弯矩etable,mforcei,smisc,5etable,mforcej,smisc,11plls,mforcei,mforcej,-1ansys如何绘制弯矩图Ansy中弯矩图,云图绘制总结在回答别人问题时,利用前人的回复和总结,自己进展了总结改正,发表在这里,供各位参考〔1〕ANSYS弯矩等可以直接标注在图上吗?如何实现?如果三维问题,在剖面上标出某一结构的轴心力、弯矩等,如何实现〔2〕后处理图形,其等值线的数值能否直接标注在图上,而不是采用图例的形式后处理结果往往用云图表示,下跟一图例表示数值大小,能够实现等值线直接标注在图上回答〔1〕1.绘制弯矩图建立弯矩单元表。
ansys中如何生成命令流方法:GUI是:Utility Menu>File>Write DB Log File怎么用ansys绘制弯矩,剪力图:GUI: General Postproc-> lot Result->Contour Plot->Line Element Result弹出画单元结果的对话框,分别在Labi和Labj依次选取SMIS6和SMIS12(弯矩图)、SMIS1和SMIS7(轴力图)、SMIS2和SMIS8(剪力图)! 建立单元表ETABLE,NI,SMISC,1 !单元I点轴力ETABLE,NJ,SMISC,7 !单元J点轴力ETABLE,QI,SMISC,2 !单元I点剪力ETABLE,QJ,SMISC,8 !单元J点剪力ETABLE,MI,SMISC,6 !单元I点弯矩ETABLE,MJ,SMISC,12 !单元J点弯矩! 更新单元表ETABLE,REFL! 画轴力分布图/TITLE,Axial force diagramPLLS,NI,NJ,1.0,0/image,save,'Axial_force_%T%',jpg! 画剪力分布图/TITLE,Shearing force diagramPLLS,QI,QJ,1.0,0/image,save,'Shearing_force_%T%',jpg! 画弯矩分布图/TITLE,Bending moment diagramPLLS,MI,MJ,-0.8,0/image,save,'Bending_moment_%T%',jpgANSYS中弯矩、剪力图的绘制GUI:General Postproc-plot Result-Contour Plot-Line Element Result弹出画单元结果的对话框,分别在Labi和Labj依次选取SMIS6和SMIS12(弯矩图)、SMIS1和SMIS7(轴力图)、SMIS2和SMIS8(剪力图)! 建立单元表ETABLE,NI,SMISC,1 !单元I点轴力ETABLE,NJ,SMISC,7 !单元J点轴力ETABLE,QI,SMISC,2 !单元I点剪力ETABLE,QJ,SMISC,8 !单元J点剪力ETABLE,MI,SMISC,6 !单元I点弯矩ETABLE,MJ,SMISC,12 !单元J点弯矩 ! 更新单元表ETABLE,REFL! 画轴力分布图/TITLE,Axial force diagramPLLS,NI,NJ,1.0,0/image,save,'Axial_force_%T%',jpg! 画剪力分布图/TITLE,Shearing force diagram PLLS,QI,QJ,1.0,0/image,save,'Shearing_force_%T%',jpg ! 画弯矩分布图/TITLE,Bending moment diagram PLLS,MI,MJ,-0.8,0/image,save,'Bending_moment_%T%',jpg另:自定义截面梁剪力弯矩显示finish/clear/verify/replot!自定义截面/prep7et,1,plane82rectng,0,1.0,0,0.6,cyl4,0.28,0.25,0.18,-180,cyl4,0.28,0.35,0.18,180,cyl4,0.72,0.25,0.18,-180,cyl4,0.72,0.35,0.18,180,rectng,0.1,0.46,0.25,0.35,rectng,0.54,0.9,0.25,0.35,asel,u,,,1cm,area0,areaallsel,allasba,1,area0esize,0.1amesh,all!读入截面文件secwrite,jiemian,sect,,1 aclear,alladele,all,,1ldele,all,,,1finish/clear/prep7et,1,beam44keyopt,1,6,1mp,dens,1,2600mp,ex,1,3.06e10 mp,prxy,1,0.2 sectype,1,beam,mesh,sect1 secoffset,cent,,,secread,'jiemian','sect','',mesh k,1k,2,10k,3,0,3lstr,1,2latt,1,,1,,3,,1lesize,all,0.5lmesh,all/eshape,1eplotdk,1,ux,0,,,uy,uzdk,2,uy,0,,,uzf,12,fy,-1/soluantype,staticsolvefinish/post1pldisp,2plnsol,u,y,2!显示剪力etable,sheari,smisc,3etable,shearj,smisc,9plls,sheari,shearj,-1!显示弯矩etable,mforcei,smisc,5etable,mforcej,smisc,11plls,mforcei,mforcej,-1ansys如何绘制弯矩图Ansy中弯矩图,云图绘制总结在回答别人问题时,利用前人的回复和总结,自己进行了总结改正,发表在这里,供各位参考(1)ANSYS弯矩等可以直接标注在图上吗?如何实现?如果三维问题,在剖面上标出某一结构的轴心力、弯矩等,如何实现(2)后处理图形,其等值线的数值能否直接标注在图上,而不是采用图例的形式后处理结果往往用云图表示,下跟一图例表示数值大小,能够实现等值线直接标注在图上回答(1)1.绘制弯矩图建立弯矩单元表。
作者:于椅上作品编号:785632589421G 101创作日期:2020年12月20日实用文库汇编之ansys中如何生成命令流方法:GUI是:Utility Menu>File>Write DB Log File怎么用ansys绘制弯矩,剪力图:GUI: General Postproc-> lot Result->Contour Plot->Line Element Result弹出画单元结果的对话框,分别在Labi和Labj依次选取SMIS6和SMIS12(弯矩图)、SMIS1和SMIS7(轴力图)、SMIS2和SMIS8(剪力图)! 建立单元表ETABLE,NI,SMISC,1 !单元I点轴力ETABLE,NJ,SMISC,7 !单元J点轴力ETABLE,QI,SMISC,2 !单元I点剪力ETABLE,QJ,SMISC,8 !单元J点剪力ETABLE,MI,SMISC,6 !单元I点弯矩ETABLE,MJ,SMISC,12 !单元J点弯矩! 更新单元表ETABLE,REFL! 画轴力分布图/TITLE,Axial force diagramPLLS,NI,NJ,1.0,0/image,save,'Axial_force_%T%',jpg! 画剪力分布图/TITLE,Shearing force diagramPLLS,QI,QJ,1.0,0/image,save,'Shearing_force_%T%',jpg! 画弯矩分布图/TITLE,Bending moment diagramPLLS,MI,MJ,-0.8,0/image,save,'Bending_moment_%T%',jpgANSYS中弯矩、剪力图的绘制GUI:General Postproc-plot Result-Contour Plot-Line Element Result弹出画单元结果的对话框,分别在Labi和Labj依次选取SMIS6和SMIS12(弯矩图)、SMIS1和SMIS7(轴力图)、SMIS2和SMIS8(剪力图)! 建立单元表ETABLE,NI,SMISC,1 !单元I点轴力ETABLE,NJ,SMISC,7 !单元J点轴力ETABLE,QI,SMISC,2 !单元I点剪力ETABLE,QJ,SMISC,8 !单元J点剪力ETABLE,MI,SMISC,6 !单元I点弯矩ETABLE,MJ,SMISC,12 !单元J点弯矩! 更新单元表ETABLE,REFL! 画轴力分布图/TITLE,Axial force diagramPLLS,NI,NJ,1.0,0/image,save,'Axial_force_%T%',jpg! 画剪力分布图/TITLE,Shearing force diagramPLLS,QI,QJ,1.0,0/image,save,'Shearing_force_%T%',jpg! 画弯矩分布图/TITLE,Bending moment diagramPLLS,MI,MJ,-0.8,0/image,save,'Bending_moment_%T%',jpg另:自定义截面梁剪力弯矩显示finish/clear/verify/replot!自定义截面/prep7et,1,plane82rectng,0,1.0,0,0.6,cyl4,0.28,0.25,0.18,-180,cyl4,0.28,0.35,0.18,180,cyl4,0.72,0.25,0.18,-180,cyl4,0.72,0.35,0.18,180, rectng,0.1,0.46,0.25,0.35, rectng,0.54,0.9,0.25,0.35,asel,u,,,1cm,area0,areaallsel,allasba,1,area0esize,0.1amesh,all!读入截面文件secwrite,jiemian,sect,,1 aclear,alladele,all,,1ldele,all,,,1finish/clear/prep7et,1,beam44keyopt,1,6,1mp,dens,1,2600mp,ex,1,3.06e10 mp,prxy,1,0.2 sectype,1,beam,mesh,sect1 secoffset,cent,,,secread,'jiemian','sect','',mesh k,1k,2,10k,3,0,3lstr,1,2latt,1,,1,,3,,1lesize,all,0.5lmesh,all/eshape,1eplotdk,1,ux,0,,,uy,uzdk,2,uy,0,,,uzf,12,fy,-1/soluantype,staticsolvefinish/post1pldisp,2plnsol,u,y,2!显示剪力etable,sheari,smisc,3 etable,shearj,smisc,9plls,sheari,shearj,-1!显示弯矩etable,mforcei,smisc,5etable,mforcej,smisc,11plls,mforcei,mforcej,-1ansys如何绘制弯矩图Ansy中弯矩图,云图绘制总结在回答别人问题时,利用前人的回复和总结,自己进行了总结改正,发表在这里,供各位参考(1)ANSYS弯矩等可以直接标注在图上吗?如何实现?如果三维问题,在剖面上标出某一结构的轴心力、弯矩等,如何实现(2)后处理图形,其等值线的数值能否直接标注在图上,而不是采用图例的形式后处理结果往往用云图表示,下跟一图例表示数值大小,能够实现等值线直接标注在图上回答(1)1.绘制弯矩图建立弯矩单元表。
1.绘制弯矩图建立弯矩单元表。
例如梁单元i节点单元表名称为imom,j节点单元表名称为jmom,ETABLE,NI,SMISC,1 !单元I点轴力ETABLE,NJ,SMISC,7 !单元J点轴力ETABLE,QI,SMISC,2 !单元I点剪力ETABLE,QJ,SMISC,8 !单元J点剪力ETABLE,MI,SMISC,6 !单元I点弯矩ETABLE,MJ,SMISC,12 !单元J点弯矩plls,MI,MJ2.标注弯矩图PLOTCTRLS>>NUMBERING>>SVAL ON即可在画出弯矩图的同时在图上标出弯矩值的大小3.调整弯矩图如果弯矩图方向错误,则绘制弯矩图命令为plls,imom,jmom,-1同一个节点处两边的单元内力有细微差别,导致内力数字标注出现重影。
观察上面整体轴力图也可以发现,一段一段的,好像马赛克,其实上面整体弯矩图也是,不过不是很明显罢了。
这是EULER-BEONOULI梁理论以及ANSYS输出定义造成的(详细原因就不展开了,看看梁理论的书和ANSYS的说明吧)。
为了修正重影和节点两边内力值不一样的问题,遍制了宏文件ITFAVG.MAC命令文件内容如下:!---------------------------------------------------------------------!宏:ITFAVG.MAC(INTERNAL FORCE AVERAGE MACRO)!获取线性单元内力,并对单元边界处的内力进行平衡!输入信息!内力类型:MFORX,MFORY,MFORZ,MMOMX,MMOMY,MMOMZ*ASK,ITFTYPE,'PLEASE INPUT THE TYPE OF INTERNAL FORCE','MMOMY'!需处理的单元包*ASK,EASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF ELEMENTS TO BE PROCESSED!','EOUTER'!需处理的节点包*ASK,NASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF NODE TO BE PROCESSED!','NOUTER'!无需处理的节点包*ASK,UNASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF THE UNCHANGED NODE!(NONE IF THERE'S NO SUCH COMPONENT)','NONE'/POST1!输入信息:内力类型,欲处理单元的集合,欲处理节点的集合!ITFTYPE='MMOMY'!EASSEMBLY='EOUTER'!NASSEMBLY='NOUTER'!按内力类型确定ANSYS输出信息SMISC的编号*IF,ITFTYPE,EQ,'MFORX',THENITFINUM=1ITFJNUM=7*ELSEIF,ITFTYPE,EQ,'MFORY',THENITFINUM=2ITFJNUM=8*ELSEIF,ITFTYPE,EQ,'MFORZ',THENITFINUM=3ITFJNUM=9*ELSEIF,ITFTYPE,EQ,'MMOMX',THENITFINUM=4ITFJNUM=10*ELSEIF,ITFTYPE,EQ,'MMOMY',THENITFINUM=5ITFJNUM=11*ELSEIF,ITFTYPE,EQ,'MMOMZ',THENITFINUM=6ITFJNUM=12*ELSE*ENDIF!对不需平均的节点进行处理*IF,UNASSEMBLY,NE,'NONE',THEN!选出不进行处理的节点包并获取不进行处理节点的数目CMSEL,S,UNASSEMBLY*GET,UNNODNUM,NODE,0,COUNT!定义长度为UNNODNUM的数组(UNNOD),以存放选中单元的单元编号*DIM,UNNOD,ARRAY,UNNODNUM!将选中单元的编号按顺序存入数组UNNOD*DO,I,0,UNNODNUM-1,1UNNOD(I+1)=NDNEXT(I)*ENDDO*ELSEUNNODNUM=0*ENDIF!选出所需的单元和节点包CMSEL,S,EASSEMBLYCMSEL,S,NASSEMBLY!获得当前选中单元总数(存入变量SELELENUM)*GET,SELELENUM,ELEM,0,COUNT!定义长度为SELELENUM的数组(ELENUM),以存放选中单元的单元编号*DIM,ELENUM,ARRAY,SELELENUM!将选中单元的编号按顺序存入数组ELENUM*DO,I,0,SELELENUM-1,1ELENUM(I+1)=ELNEXT(I)*ENDDO!获得当前选中节点总数(存入变量SELNODNUM)*GET,SELNODNUM,NODE,0,COUNT!定义长度为SELNODNUM的数组(NODNUM),以存放选中单元的单元编号*DIM,NODNUM,ARRAY,SELNODNUM!将选中单元的编号按顺序存入数组NODNUM*DO,I,0,SELNODNUM-1,1NODNUM(I+1)=NDNEXT(I)*ENDDO!定义所需的线性单元内力ETABLE,节点I的内力存入数组ITNFI,!节点J的内力存入数组ITNFJETABLE,ITNFI,SMISC,ITFINUMETABLE,ITNFJ,SMISC,ITFJNUM!定义所需的结果数组,并将其置零ETABLE,ITNFINEO,SMISC,5SADD,ITNFINEO,ITNFI,,1ETABLE,ITNFJNEO,SMISC,11SADD,ITNFJNEO,ITNFJ,,1*DO,K,1,SELNODNUM,1!处理不需平均的节点INDEX=0*IF,UNNODNUM,GE,1,THEN*DO,J,1,UNNODNUM*IF,NODNUM(K),EQ,UNNOD(J),THENINDEX=1*ELSE*ENDIF*ENDDO*ELSE*ENDIF*DO,J,1,SELELENUM,1!选出和节点K相连的线性单元中,I节点(对线性单元而言)为节点K的单元编号*IF,NELEM(ELENUM(J),1),EQ,NODNUM(K),THENELEI=ELENUM(J)*EXIT*ELSE*ENDIF*ENDDO*DO,J,1,SELELENUM,1!选出和节点K相连的线性单元中,J节点(对线性单元而言)为节点K的单元编号*IF,NELEM(ELENUM(J),2),EQ,NODNUM(K),THENELEJ=ELENUM(J)*EXIT*ELSE*ENDIF*ENDDO*IF,INDEX,EQ,0,THEN*IF,ELEJ,NE,0,THEN !有可能出现ELEJ为0的情况!取出I节点为节点K的单元的I节点端的内力放入参数ETELEI*GET,ETELEI,ELEM,ELEI,ETAB,ITNFI!取出J节点为节点K的单元的J节点端的内力放入参数ETELEJ*GET,ETELEJ,ELEM,ELEJ,ETAB,ITNFJ!平均节点K的单元的I节点端的内力和节点K的单元的J节点端的内力ETAVE=(ETELEI+ETELEJ)/2!将平均后的内力存入结果数组中DETAB,ELEI,ITNFINEO,ETAVEDETAB,ELEJ,ITNFJNEO,ETAVE*ELSE*ENDIF*ELSE*ENDIF*ENDDO/UDOC,1,LOGO,OFFPLLS,ITNFINEO,ITNFJNEO!END OF ITFAVG.MAC(2)对体和面来说,ANSYS默认的结果输出格式是云图格式,而这种彩色云图打印为黑白图像时对比很不明显,无法表达清楚,对于发表文章非常不便。
ANSYS的查询命令ANSYS的查询命令Introduction to Inquiry Functions [John Crawford]:Here is just about everything I know about inquiry functions. They are similar to *GET functions in usage, and have two input arguments. Here's an example.a=ndinqr(33,1)In this case, "a" will be assigned a value of -1 if node 33 is unselected, 0 if it is undefined, and 1 if it is selected. This is an example of using an inquiry function to obtain information about a specific entity, in this case node 33.An alternative use of an inquiry function is to find more generic data about a certain kind of entities. The following example illustrates this.a=ndinqr(0,14)This will assign to parameter "a" the highest node number defined in the model. Notice that the first argument is zero, and the second argument is 14.Here are the inquiry functions I am aware of.ndinqr(node,key) node number or zero, and key numberelmiqr(elem,key)kpinqr(keypoint,key)lsinqr(line,key)arinqr(area,key)vlinqr(volume,key)rlinqr(real,key)gapiqr(gap element,key)masiqr(master DOF,key)ceinqr(constraint equation,key)cpinqr(coupled set,key)csyiqr(coord system,key)etyiqr(element type,key)foriqr(nodal force,key)All of these work pretty much the same, with the first argument used as either an entity ID number (for data about a specific node, element, etc.) or a zero if the information is about a class of element (number of selected nodes, etc.)The key numbers are defined as follows.key=1 return select status (for a specific entity)key=12 return number of defined entities (KP's, nodes, etc.)key=13 return number of selected entitieskey=14 return the highest ID number in useThere a few other inquiry functions which have a slightlydifferent format.mpinqr(mat,prop,key) material property table number, property number, key additional key=3 for number of temps used in a specific propertydget(node,idof,kcmplx) node number, displacement pointer, complex key displacement pointers are...1=ux, 2=uy, 3=uz, 4=rotx, 5=roty, 6=rotz, 7=ax, 8=ay 9=az, 10=vx, 11=vy, 12=vz, 19=pres, 20=temp, 21=volt, 22=mag, 23=enke, 24=ends, 25=emf, 26=currcomplex key=0 for real, 1 for imaginaryfget(node,idof,kcomplx) same definition as dget, but for forces this timeUseful Inquiry Functions [John Crawford]:Nodesndinqr(node,key)node - node number, should be 0 for key = 12, 13, 14key - information needed= 1, return select status:= 12, return number of defined nodes= 13, return number of selected nodes= 14, return highest node number defined= -2, superelement flag= -3, master degrees of freedom bit pattern= -4, active degrees of freedom bit pattern= -5, solid model attachment= -6, pack nodal line parametric valueoutput arguments:for key = 1= 0, node is undefined.= 1, node is selected.Elementelmiqr(ielem,key)ielem - element number, should be zero for key = 12, 13, or 14ielem - 单元号,key为12 13 14时,为0key - information flag= 1, return select status=1,返回选择状态= 12, return number of defined elements= 13, return number of selected elements= 14, return maximum element number used= -1, material number= -2, type.= -3, real.= 4, element section ID number= 5, coordinate system number= 7, solid model referenceoutput arguments:for key = 1= 0, element is undefined= -1, element is unselectedKeypointskpinqr(kpid,key)kpid - keypoint may be 0 for key = 12, 13, 14key - information flag.= 1, select= 12, number of defined= 13, number of selected= 14, highest number defined= -1, material number= -2, type= -3, real number= -4, node number, if meshed= -7, element number, if meshedoutput arguments:for key = 1= -1, unselected= 0, undefined= 1, selectedLineslsinqr(lsid,key)lsid - line segment for inquire may be 0 for key = 12, 13, 14key - item to be returned= 1, select status= 2, length (in model units)= 12 number of defined= 13, number of selected= 14, highest number defined= -1, material number= -2, type= -3, real number= -4, number of nodes= -5, esys number= -6, number of elements= -8, number of element divs in existing mesh= -9, keypoint 1= -10, keypoint 2= -15, section id= -16, number of element divs for next mesh= -17, 0 = hard / 1 = soft NDIV= -18, 0 = hard / 1 = soft SPACEAreaarinqr(areaid,key)areaid - area for inquiry, may be 0 for key = 12, 13, 14 key - key to information needed about the areaid= 1, return select status= 12, return number of defined= 13, return number of selected= 14, return highest number defined= -1, return material= -2, return type= -3, return real= -4, return number of nodes= -6, return number of elements= -7, return pointer to area in foreign db = -8, return element shape= -9, return mid-node element key= -10, return element coordinate system = -11, return area constraint information output arguments:for key = 1= 0, areaid is undefined= -1, areaid is unselected= 1, areaid is selectedfor key = - 11= 0, no constraint on this area= 1, symmetry constraint= 2, anti-symmetry= 3, both symmetry and anti-symmetryVolumesvlinqr(vnmi,key)vnmi - volume for inquiry, may be 0 for key = 12, 13, 14 key - information flag= 1, return select status= 12, return number of defined= 13, return number of selected= 14, return highest number defined= -1, material= -2, type= -3, real= -4, number of nodes= -6, number of elements= -8, element shape= -9, mid-node element key= -10, element coordinate systemoutput arguments:for key = 1= 0, node is undefined= -1, node is unselected= 1, node is selected= 0, real constant table is undefined.= -1, real constant table is unselected.= 1, real constant table is selectedElement Typeetyiqr(itype,key)itype - element type number, should be 0 for key = 12 and 14key - item to be returned= 1, return select status:= 12, return number of defined element types= 14, return highest element type number definedoutput arguments:for key = 1= 0, element type is undefined= -1, element type is unselected= 1, element type is selectedReal Constantsrlinqr(nreal,key)nreal - real constant table number, should be 0 for key = 12, 13, 14key - information flag= 1, select status= 12, number of defined real constant tables= 13, number of selected real constant tables= 14, highest real constant table definedoutput arguments:for key = 1= 0, real constant table is undefined.= -1, real constant table is unselected.= 1, real constant table is selectedSection Tablesectinqr(nsect,key)nsect - section id table number, should be 0 for key = 12, 13, 14key - information flag= 1, select status= 12, return number of defined section id tables= 13, return number of selected section id tables= 14, return highest section id table definedoutput arguments:for key = 1= 0, section id table is undefined.= -1, section id table is unselected.= 1, section id table is selectedMaterialsmpinqr(mat,iprop,key)mat - material number, should be 0 for key = 12 and 14iprop - property reference numberiprop = 0, test for existence of any material propertywith this material number (with key = 1)key - key as to the information needed about material property= 1, return select status:= 12, number of defined material properties= 14, highest material property number definedoutput arguments:for key = 1, iprop = 0 (test for existence of any material property with this material number)EX = 1, EY = 2, EZ = 3, NUXY = 4, NUYZ = 5, NUXZ = 6, GXY = 7, GYZ = 8, GXZ = 9, ALPX = 10, ALPY = 11, ALPZ = 12, DENS = 13, MU =14, DAMP = 15, KXX = 16, KYY = 17, KZZ = 18, RSVX = 19, RSVY = 20, RSVZ = 21, C = 22, HF =23, VISC = 24, EMIS = 25, ENTH = 26, LSST = 27, PRXY = 28, PRYZ = 29, PRXZ = 30, MURX = 31, MURY = 32, MURZ = 33, PERX = 34, PERY = 35, PERZ = 36, MGXX = 37, MGYY = 38, MGZZ = 39, EGXX = 40, EGYY = 41, EGZZ = 42, TGXX = 43, TGYY = 44, TGZZ = 45, SONC = 46, SLIM = 47, ELIM = 48, oRTH = 54, CABL = 55, RIGI = 56, HGLS = 57, BM = 58, QRAT = 59, REFT = 60, PLAS = 61, CREE = 62, FAIL = 63, BH = 64, PIEZ = 65, SWEL = 66, WATE = 67, CONC = 68, PFLO = 69, ANEL = 70, ACOU = 71, EVIS = 72, USER = 73, NL = 74, HYPE = 75, NNEW = 76, MOON = 77, oGDE = 78, SUTH = 79, WIND = 80for key = 1 (otherwise)= 0, material prop is undefined= 1, material prop is selectedConstraint Equationsceinqr(ceid,key)ceid - constraint equation numberkey - inquiry key, should be zero for key = 12, 13, 14= 1, return select status= 1, equation is selected= 0, equation is undefined= -1, equation is unselected= 12, return number of defined constraint equations= 13, return number of selected constraint equations= 14, return number of highest numbered constraint equation defined= -1, return master degrees of freedom for this equationCouplescpinqr(cpid,key)cpid - coupled set numberkey - inquiry key, should be zero for key = 12, 13, 14= 1, return select status= 12, return number of defined coupled sets= 13, return number of selected coupled sets= 14, return the number of the highest numbered coupled setoutput arguments:for key = 1= 1, coupled set is selected= 0, coupled set in undefined= -1, coupled set in unseletedCoordinate Systemcsyiqr(csysid,key)csysid - coordinate system reference number, should be zero for key = 12 or 14key - information flag.= 1, return status:= 12, number of defined coordinate systems= 14, maximum coordinate system reference number used.output arguments:for key = 1= 0, coordinate system is not defined= -1, coordinate system is not selected= 1, coordinate system is selectedWarning and Error Messageskey - item to be returned= 3, total number of notes displayed= 4, total number of warnings displayed= 5, total number of errors displayed= 6, total number of fatals displayedInquiry Functions for Sections [Grama Bhashyam]:I have looked at the code and can confirm Tyllinen Juha's observation. It will work in 5.5, 5.6, and not likely to change."Quick testing seems to indicate that Section number would be available with sn = elmiqr(n,-4), where n is the element number. At least that is the way it worked in 5.5.1 with Beam188 and Beam189."Other possibilites for element characteristics-1, material number-2, element type-3, real constant number-4, Element Section ID number-5, coordinate system numberAdditional Inquiry Function [Juha Tyllinen]:Some time ago I dug out one additional Key:NUMS value for the entity:elmiqr(0,25)kpinqr(0,25)lsinqr(0,25)arinqr(0,25)vlinqr(0,25)It is sometimes handy for use in macros.在ANSYS操作过程或条件语句中,常常需要知道有关模型的许多参数值,如选择集中的单元数、节点数,最大节点号等。
查轴力:首先定义单元表 grneral postproc>element table >define table add 左侧选by sequence num,右侧选择smisc, 在下面输入smisc,1 然后在plot results>contour plot》line elem res 查看弯矩1.绘制弯矩图建立弯矩单元表。
例如梁单元i节点单元表名称为imom,j节点单元表名称为jmom,ETABLE,NI,SMISC,1 !单元I点轴力ETABLE,NJ,SMISC,7 !单元J点轴力ETABLE,QI,SMISC,2 !单元I点剪力ETABLE,QJ,SMISC,8 !单元J点剪力ETABLE,MI,SMISC,6 !单元I点弯矩ETABLE,MJ,SMISC,12 !单元J点弯矩plls,MI,MJ2.标注弯矩图PLOTCTRLS>>NUMBERING>>SVAL ON即可在画出弯矩图的同时在图上标出弯矩值的大小3.调整弯矩图如果弯矩图方向错误,则绘制弯矩图命令为plls,imom,jmom,-1同一个节点处两边的单元力有细微差别,导致力数字标注出现重影。
观察上面整体轴力图也可以发现,一段一段的,好像马赛克,其实上面整体弯矩图也是,不过不是很明显罢了。
这是EULER-BEONOULI梁理论以及ANSYS输出定义造成的(详细原因就不展开了,看看梁理论的书和ANSYS的说明吧)。
为了修正重影和节点两边力值不一样的问题,遍制了宏文件ITFAVG.MAC命令文件容如下:!---------------------------------------------------------------------!宏:ITFAVG.MAC(INTERNAL FORCE AVERAGE MACRO)!获取线性单元力,并对单元边界处的力进行平衡!输入信息!力类型:MFORX,MFORY,MFORZ,MMOMX,MMOMY,MMOMZ*ASK,ITFTYPE,'PLEASE INPUT THE TYPE OF INTERNAL FORCE','MMOMY'!需处理的单元包*ASK,EASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF ELEMENTS TO BE PROCESSED!', 'EOUTER'!需处理的节点包*ASK,NASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF NODE TO BE PROCESSED!','NOU TER'!无需处理的节点包*ASK,UNASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF THE UNCHANGED NODE!(NONE I F THERE'S NO SUCH COMPONENT)','NONE'/POST1!输入信息:力类型,欲处理单元的集合,欲处理节点的集合!ITFTYPE='MMOMY'!EASSEMBLY='EOUTER'!NASSEMBLY='NOUTER'!按力类型确定ANSYS输出信息SMISC的编号*IF,ITFTYPE,EQ,'MFORX',THENITFINUM=1ITFJNUM=7*ELSEIF,ITFTYPE,EQ,'MFORY',THENITFINUM=2ITFJNUM=8*ELSEIF,ITFTYPE,EQ,'MFORZ',THENITFINUM=3ITFJNUM=9*ELSEIF,ITFTYPE,EQ,'MMOMX',THENITFINUM=4ITFJNUM=10*ELSEIF,ITFTYPE,EQ,'MMOMY',THENITFINUM=5ITFJNUM=11*ELSEIF,ITFTYPE,EQ,'MMOMZ',THENITFINUM=6ITFJNUM=12*ELSE*ENDIF!对不需平均的节点进行处理*IF,UNASSEMBLY,NE,'NONE',THEN!选出不进行处理的节点包并获取不进行处理节点的数目CMSEL,S,UNASSEMBLY*GET,UNNODNUM,NODE,0,COUNT!定义长度为UNNODNUM的数组(UNNOD),以存放选中单元的单元编号*DIM,UNNOD,ARRAY,UNNODNUM!将选中单元的编号按顺序存入数组UNNOD*DO,I,0,UNNODNUM-1,1UNNOD(I+1)=NDNEXT(I)*ENDDOUNNODNUM=0*ENDIF!选出所需的单元和节点包CMSEL,S,EASSEMBLYCMSEL,S,NASSEMBLY!获得当前选中单元总数(存入变量SELELENUM)*GET,SELELENUM,ELEM,0,COUNT!定义长度为SELELENUM的数组(ELENUM),以存放选中单元的单元编号*DIM,ELENUM,ARRAY,SELELENUM!将选中单元的编号按顺序存入数组ELENUM*DO,I,0,SELELENUM-1,1ELENUM(I+1)=ELNEXT(I)*ENDDO!获得当前选中节点总数(存入变量SELNODNUM)*GET,SELNODNUM,NODE,0,COUNT!定义长度为SELNODNUM的数组(NODNUM),以存放选中单元的单元编号*DIM,NODNUM,ARRAY,SELNODNUM!将选中单元的编号按顺序存入数组NODNUM*DO,I,0,SELNODNUM-1,1NODNUM(I+1)=NDNEXT(I)*ENDDO!定义所需的线性单元力ETABLE,节点I的力存入数组ITNFI,!节点J的力存入数组ITNFJETABLE,ITNFI,SMISC,ITFINUMETABLE,ITNFJ,SMISC,ITFJNUM!定义所需的结果数组,并将其置零ETABLE,ITNFINEO,SMISC,5SADD,ITNFINEO,ITNFI,,1ETABLE,ITNFJNEO,SMISC,11SADD,ITNFJNEO,ITNFJ,,1*DO,K,1,SELNODNUM,1!处理不需平均的节点INDEX=0*IF,UNNODNUM,GE,1,THEN*DO,J,1,UNNODNUM*IF,NODNUM(K),EQ,UNNOD(J),THENINDEX=1*ELSE*ENDIF*ENDDO*ELSE*DO,J,1,SELELENUM,1!选出和节点K相连的线性单元中,I节点(对线性单元而言)为节点K的单元编号*IF,NELEM(ELENUM(J),1),EQ,NODNUM(K),THENELEI=ELENUM(J)*EXIT*ELSE*ENDIF*ENDDO*DO,J,1,SELELENUM,1!选出和节点K相连的线性单元中,J节点(对线性单元而言)为节点K的单元编号*IF,NELEM(ELENUM(J),2),EQ,NODNUM(K),THENELEJ=ELENUM(J)*EXIT*ELSE*ENDIF*ENDDO*IF,INDEX,EQ,0,THEN*IF,ELEJ,NE,0,THEN !有可能出现ELEJ为0的情况!取出I节点为节点K的单元的I节点端的力放入参数ETELEI*GET,ETELEI,ELEM,ELEI,ETAB,ITNFI!取出J节点为节点K的单元的J节点端的力放入参数ETELEJ*GET,ETELEJ,ELEM,ELEJ,ETAB,ITNFJ!平均节点K的单元的I节点端的力和节点K的单元的J节点端的力ETAVE=(ETELEI+ETELEJ)/2!将平均后的力存入结果数组中DETAB,ELEI,ITNFINEO,ETAVEDETAB,ELEJ,ITNFJNEO,ETAVE*ELSE*ENDIF*ELSE*ENDIF*ENDDO/UDOC,1,LOGO,OFFPLLS,ITNFINEO,ITNFJNEO!END OF ITFAVG.MAC(2)对体和面来说,ANSYS默认的结果输出格式是云图格式,而这种彩色云图打印为黑白图像时对比很不明显,无法表达清楚,对于发表文章非常不便。
查轴力:首先定义单元表grneral postproc>element table >define table add 左侧选by sequence num,右侧选择smisc, 在下面输入smisc,1 然后在plot results>contour plot》line elem res 查看弯矩1.绘制弯矩图建立弯矩单元表。
例如梁单元i节点单元表名称为imom,j节点单元表名称为jmom,ETABLE,NI,SMISC,1 !单元I点轴力ETABLE,NJ,SMISC,7 !单元J点轴力ETABLE,QI,SMISC,2 !单元I点剪力ETABLE,QJ,SMISC,8 !单元J点剪力ETABLE,MI,SMISC,6 !单元I点弯矩ETABLE,MJ,SMISC,12 !单元J点弯矩plls,MI,MJ2.标注弯矩图PLOTCTRLS>>NUMBERING>>SVAL ON即可在画出弯矩图的同时在图上标出弯矩值的大小3.调整弯矩图如果弯矩图方向错误,则绘制弯矩图命令为plls,imom,jmom,-1同一个节点处两边的单元内力有细微差别,导致内力数字标注出现重影。
观察上面整体轴力图也可以发现,一段一段的,好像马赛克,其实上面整体弯矩图也是,不过不是很明显罢了。
这是EULER-BEONOULI梁理论以及ANSYS输出定义造成的(详细原因就不展开了,看看梁理论的书和ANSYS的说明吧)。
为了修正重影和节点两边内力值不一样的问题,遍制了宏文件ITFAVG.MAC命令文件内容如下:!---------------------------------------------------------------------!宏:ITFAVG.MAC(INTERNAL FORCE AVERAGE MACRO)!获取线性单元内力,并对单元边界处的内力进行平衡!输入信息!内力类型:MFORX,MFORY,MFORZ,MMOMX,MMOMY,MMOMZ*ASK,ITFTYPE,'PLEASE INPUT THE TYPE OF INTERNAL FORCE','MMOMY'!需处理的单元包*ASK,EASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF ELEMENTS TO BE PROCESSED!','EOUTER'!需处理的节点包*ASK,NASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF NODE TO BE PROCESSED!','NOU TER'!无需处理的节点包*ASK,UNASSEMBLY,'PLEASE INPUT THE COMPONENT NAME OF THE UNCHANGED NODE!(NONE I F THERE'S NO SUCH COMPONENT)','NONE'/POST1!输入信息:内力类型,欲处理单元的集合,欲处理节点的集合!ITFTYPE='MMOMY'!EASSEMBLY='EOUTER'!NASSEMBLY='NOUTER'!按内力类型确定ANSYS输出信息SMISC的编号*IF,ITFTYPE,EQ,'MFORX',THENITFINUM=1ITFJNUM=7*ELSEIF,ITFTYPE,EQ,'MFORY',THENITFINUM=2ITFJNUM=8*ELSEIF,ITFTYPE,EQ,'MFORZ',THENITFINUM=3ITFJNUM=9*ELSEIF,ITFTYPE,EQ,'MMOMX',THENITFINUM=4ITFJNUM=10*ELSEIF,ITFTYPE,EQ,'MMOMY',THENITFINUM=5ITFJNUM=11*ELSEIF,ITFTYPE,EQ,'MMOMZ',THENITFINUM=6ITFJNUM=12*ELSE*ENDIF!对不需平均的节点进行处理*IF,UNASSEMBLY,NE,'NONE',THEN!选出不进行处理的节点包并获取不进行处理节点的数目CMSEL,S,UNASSEMBLY*GET,UNNODNUM,NODE,0,COUNT!定义长度为UNNODNUM的数组(UNNOD),以存放选中单元的单元编号*DIM,UNNOD,ARRAY,UNNODNUM!将选中单元的编号按顺序存入数组UNNOD*DO,I,0,UNNODNUM-1,1UNNOD(I+1)=NDNEXT(I)*ENDDOUNNODNUM=0*ENDIF!选出所需的单元和节点包CMSEL,S,EASSEMBLYCMSEL,S,NASSEMBLY!获得当前选中单元总数(存入变量SELELENUM)*GET,SELELENUM,ELEM,0,COUNT!定义长度为SELELENUM的数组(ELENUM),以存放选中单元的单元编号*DIM,ELENUM,ARRAY,SELELENUM!将选中单元的编号按顺序存入数组ELENUM*DO,I,0,SELELENUM-1,1ELENUM(I+1)=ELNEXT(I)*ENDDO!获得当前选中节点总数(存入变量SELNODNUM)*GET,SELNODNUM,NODE,0,COUNT!定义长度为SELNODNUM的数组(NODNUM),以存放选中单元的单元编号*DIM,NODNUM,ARRAY,SELNODNUM!将选中单元的编号按顺序存入数组NODNUM*DO,I,0,SELNODNUM-1,1NODNUM(I+1)=NDNEXT(I)*ENDDO!定义所需的线性单元内力ETABLE,节点I的内力存入数组ITNFI,!节点J的内力存入数组ITNFJETABLE,ITNFI,SMISC,ITFINUMETABLE,ITNFJ,SMISC,ITFJNUM!定义所需的结果数组,并将其置零ETABLE,ITNFINEO,SMISC,5SADD,ITNFINEO,ITNFI,,1ETABLE,ITNFJNEO,SMISC,11SADD,ITNFJNEO,ITNFJ,,1*DO,K,1,SELNODNUM,1!处理不需平均的节点INDEX=0*IF,UNNODNUM,GE,1,THEN*DO,J,1,UNNODNUM*IF,NODNUM(K),EQ,UNNOD(J),THENINDEX=1*ELSE*ENDIF*ENDDO*ELSE*DO,J,1,SELELENUM,1!选出和节点K相连的线性单元中,I节点(对线性单元而言)为节点K的单元编号*IF,NELEM(ELENUM(J),1),EQ,NODNUM(K),THENELEI=ELENUM(J)*EXIT*ELSE*ENDIF*ENDDO*DO,J,1,SELELENUM,1!选出和节点K相连的线性单元中,J节点(对线性单元而言)为节点K的单元编号*IF,NELEM(ELENUM(J),2),EQ,NODNUM(K),THENELEJ=ELENUM(J)*EXIT*ELSE*ENDIF*ENDDO*IF,INDEX,EQ,0,THEN*IF,ELEJ,NE,0,THEN !有可能出现ELEJ为0的情况!取出I节点为节点K的单元的I节点端的内力放入参数ETELEI*GET,ETELEI,ELEM,ELEI,ETAB,ITNFI!取出J节点为节点K的单元的J节点端的内力放入参数ETELEJ*GET,ETELEJ,ELEM,ELEJ,ETAB,ITNFJ!平均节点K的单元的I节点端的内力和节点K的单元的J节点端的内力ETAVE=(ETELEI+ETELEJ)/2!将平均后的内力存入结果数组中DETAB,ELEI,ITNFINEO,ETAVEDETAB,ELEJ,ITNFJNEO,ETAVE*ELSE*ENDIF*ELSE*ENDIF*ENDDO/UDOC,1,LOGO,OFFPLLS,ITNFINEO,ITNFJNEO!END OF ITFAVG.MAC(2)对体和面来说,ANSYS默认的结果输出格式是云图格式,而这种彩色云图打印为黑白图像时对比很不明显,无法表达清楚,对于发表文章非常不便。
发文章所用的结果图最好是等值线图,并且最好是黑白的等值线图。
一般借用photoshop等第三方软件,很麻烦,效果也不好。
ansys本身也能实现这项功能。
1.将要输出的结果调出,这时为彩色云图;2.将云图转换为等值线图的形式GUI:plotCtrls—>Device Options—>[/DEVI]中的vector mode 选为on命令:/DEVICE,VECTOR,1这时结果为彩色等值线,若直接输出,打印为黑白图像时仍然不清晰,为此需进行以下几步将图像转换为黑白形式;3. 将背景变为白色命令:jpgprf,500,100,1/rep4.对等值线中的等值线符号(图中为A,B,C等)的疏密进行调整GUI:plotCtrls—>Style—>Contours—> Contours Labeling 在Key Vector mode contour label 中选中on every Nth elem,然后在N= 输入框中输入合适的数值,例如5,多试几次,直到疏密合适命令:/clabel,1,55.将彩色等值线变为黑色GUI:plotCtrls—>Style—>Colors—>Contours Colors 将Items Numbered 1,Items Numbered 2等复选框中的颜色均选为黑色,图像即可变为黑白等值线图像命令:/color,cntr,whit,1 等等6.修改在显示等值线时,图形中太多的标识字母(A、B等)使得等值线图完全看不清楚。
请问有没有什么方法可以去掉图形的这些标识字母呢在plotCtrls下面的style下面的contours下面的contour Labeling,在弹出的contour labeling options里面的vector mode contour labels选off后处理中画出了结构的等值线图,可否将等值线边的字母改为相应的数值标注/PNUM,SVAL,1/replot如果还想将等值线的字母去掉/PNUM,SVAL,1/replot如果还想将等值线的字母去掉/PNUM,SVAL,1/CLABEL,1,-1/replot7.出图GUI:plotCtrls—>Capture Image! 建立单元表ETABLE,NI,SMISC,1 !单元I点轴力ETABLE,NJ,SMISC,7 !单元J点轴力ETABLE,QI,SMISC,2 !单元I点剪力ETABLE,QJ,SMISC,8 !单元J点剪力ETABLE,MI,SMISC,6 !单元I点弯矩ETABLE,MJ,SMISC,12 !单元J点弯矩! 更新单元表ETABLE,REFL! 画轴力分布图/TITLE,Axial force diagram PLLS,NI,NJ,1.0,0/image,save,'Axial_force_%T%',jpg! 画剪力分布图/TITLE,Shearing force diagram PLLS,QI,QJ,1.0,0/image,save,'Shearing_force_%T%',jpg ! 画弯矩分布图/TITLE,Bending moment diagram PLLS,MI,MJ,-0.8,0/image,save,'Bending_moment_%T%',jp。