ANSYS绘制弯矩

  • 格式:doc
  • 大小:133.50 KB
  • 文档页数:7

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默认的结果输出格式是云图格式,而这种彩色云图打印为黑白图像时对比很不明显,无法表达清楚,对于发表文章非常不便。

发文章所用的结果图最好是等值线图,并且最好是黑白的等值线图。

一般借用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/CLABEL,1,-1/replot7.出图GUI:plotCtrls—>Capture Image=================================================================== =========【原创】下面部分为作者自己总结对于beam3单元其他的单元类型,可以参考ansys帮助文档中给出的相关单元的参数。