ansys查轴力弯矩新版

更新时间:2023-10-01 09:06:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

查轴力:首先定义单元表grneralpostproc>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,MJ 2.标注弯矩图

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',THEN ITFINUM=1 ITFJNUM=7

*ELSEIF,ITFTYPE,EQ,'MFORY',THEN ITFINUM=2 ITFJNUM=8

*ELSEIF,ITFTYPE,EQ,'MFORZ',THEN ITFINUM=3 ITFJNUM=9

*ELSEIF,ITFTYPE,EQ,'MMOMX',THEN ITFINUM=4 ITFJNUM=10

*ELSEIF,ITFTYPE,EQ,'MMOMY',THEN ITFINUM=5 ITFJNUM=11

*ELSEIF,ITFTYPE,EQ,'MMOMZ',THEN ITFINUM=6 ITFJNUM=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,1 UNNOD(I+1)=NDNEXT(I) *ENDDO

*ELSE

UNNODNUM=0 *ENDIF

!选出所需的单元和节点包 CMSEL,S,EASSEMBLY CMSEL,S,NASSEMBLY

!获得当前选中单元总数(存入变量SELELENUM) *GET,SELELENUM,ELEM,0,COUNT

!定义长度为SELELENUM的数组(ELENUM),以存放选中单元的单元编号

*DIM,ELENUM,ARRAY,SELELENUM

!将选中单元的编号按顺序存入数组ELENUM *DO,I,0,SELELENUM-1,1 ELENUM(I+1)=ELNEXT(I) *ENDDO

!获得当前选中节点总数(存入变量SELNODNUM) *GET,SELNODNUM,NODE,0,COUNT

!定义长度为SELNODNUM的数组(NODNUM),以存放选中单元的单元编号 *DIM,NODNUM,ARRAY,SELNODNUM

!将选中单元的编号按顺序存入数组NODNUM *DO,I,0,SELNODNUM-1,1 NODNUM(I+1)=NDNEXT(I) *ENDDO

!定义所需的线性单元内力ETABLE,节点I的内力存入数组ITNFI, !节点J的内力存入数组ITNFJ ETABLE,ITNFI,SMISC,ITFINUM ETABLE,ITNFJ,SMISC,ITFJNUM

!定义所需的结果数组,并将其置零 ETABLE,ITNFINEO,SMISC,5 SADD,ITNFINEO,ITNFI,,1 ETABLE,ITNFJNEO,SMISC,11 SADD,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),THEN INDEX=1 *ELSE *ENDIF *ENDDO *ELSE

*ENDIF

*DO,J,1,SELELENUM,1

!选出和节点K相连的线性单元中,I节点(对线性单元而言)为节点K的单元编号 *IF,NELEM(ELENUM(J),1),EQ,NODNUM(K),THEN ELEI=ELENUM(J) *EXIT *ELSE *ENDIF *ENDDO

*DO,J,1,SELELENUM,1

!选出和节点K相连的线性单元中,J节点(对线性单元而言)为节点K的单元编号 *IF,NELEM(ELENUM(J),2),EQ,NODNUM(K),THEN ELEJ=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,ETAVE DETAB,ELEJ,ITNFJNEO,ETAVE *ELSE *ENDIF *ELSE *ENDIF *ENDDO

/UDOC,1,LOGO,OFF

PLLS,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 /rep

4.对等值线中的等值线符号(图中为A,B,C等)的疏密进行调整

GUI:plotCtrls—>Style—>Contours—> Contours Labeling 在Key Vector mode contour label 中选中on every Nth elem,然后在N= 输入框中输入合适的数值,例如5,多试几次,直到疏密合适

命令:/clabel,1,5

5.将彩色等值线变为黑色

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 /replot

7.出图

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

本文来源:https://www.bwwdw.com/article/41vd.html

Top