ANSYS中弯矩、剪力图的绘制

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

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

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 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%',jpg

ANSYS中弯矩、剪力图的绘制

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 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%',jpg 另:自定义截面梁剪力弯矩显示 finish /clear /verify /replot !自定义截面 /prep7

et,1,plane82

rectng,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,,,1

cm,area0,area allsel,all asba,1,area0 esize,0.1 amesh,all

!读入截面文件

secwrite,jiemian,sect,,1 aclear,all adele,all,,1 ldele,all,,,1 finish /clear /prep7

et,1,beam44

keyopt,1,6,1 mp,dens,1,2600

mp,ex,1,3.06e10 mp,prxy,1,0.2

sectype,1,beam,mesh,sect1 secoffset,cent,,,

secread,'jiemian','sect','',mesh k,1 k,2,10 k,3,0,3 lstr,1,2

latt,1,,1,,3,,1 lesize,all,0.5 lmesh,all /eshape,1 eplot

dk,1,ux,0,,,uy,uz dk,2,uy,0,,,uz f,12,fy,-1 /solu

antype,static solve finish /post1

pldisp,2 plnsol,u,y,2 !显示剪力

etable,sheari,smisc,3 etable,shearj,smisc,9 plls,sheari,shearj,-1 !显示弯矩

etable,mforcei,smisc,5 etable,mforcej,smisc,11 plls,mforcei,mforcej,-1

ansys如何绘制弯矩图

Ansy中弯矩图,云图绘制总结

在回答别人问题时,利用前人的回复和总结,自己进行了总结改正,发表在这里,供各位参考 (1)ANSYS弯矩等可以直接标注在图上吗?如何实现?

如果三维问题,在剖面上标出某一结构的轴心力、弯矩等,如何实现

(2)后处理图形,其等值线的数值能否直接标注在图上,而不是采用图例的形式

后处理结果往往用云图表示,下跟一图例表示数值大小,能够实现等值线直接标注在图上 回答

(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,imom,jmom

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 /CLABEL,1,-1 /replot

7.出图

GUI:plotCtrls—>Capture Image

ANSYS中如何加弯矩或扭矩 A转矩一般有三种施加的方法:

第一种,将矩转换成一对一对的力偶,直接施加在对应的节点上面.

第二种,在构件中心部位建立一个节点,定义为MASS21单元,然后跟其他受力节点藕荷,形成刚性区域,就是用CERIG命令.然后直接加转矩到主节点,即中心节点上面

第三种,使用MPC184单元.是在构件中心部位建立一个节点,跟其他受力节点分别形成

多根刚性梁,,从而形成刚性面.最后也是直接加载荷到中心节点上面,通过刚性梁来传递载荷.

上面三种方法计算的结果基本一致,我做过实验的.

只不过是后两种情况都是形成刚性区域,但是CERIG命令是要在小变形或者小旋转才能用,只支持静力,线形分析.

而第三种方法适用多种情况,不仅支持大应变,还支持非线形情况. 如果你需要例子,我下次在发给你看 A

思路1:矩或扭矩说白了就是矩,所谓矩就是力和力臂的乘积。

施加矩可以等效为施加力;

思路2:直接施加弯矩或扭矩,此时需要引入一个具有旋转自由度的节点;可以选择单元21,或者184

1.将矩转换成一对的力偶,直接施加在对应的节点上面。

2.在构件中心部位建立一个节点,定义为mass21单元,然后跟其他受力节点耦合,形成刚性区域,就是用cerig命令。然后直接加转矩到主节点,即中心节点上面。

3.使用mpc184单元。是在构件中心部位建立一个节点,跟其他受力节点分别形成多根刚性梁,从而形成刚性面。最后也是直接加载荷到中心节点上面,通过刚性梁来传递载荷。

4.通过rbe3命令。该方法与方法2很接近。

5.基于表面边界法:主要通过定义一个接触表面和一个目标节点接触来实现,弯矩荷载可以通过在目标节点上用“F”命令施加。

对于方法1,通过转换为集中力或均布力,比如施加扭矩,把端面节点改成柱坐标,然后等效为施加环向的节点力;而施加弯矩,可以将力矩转化为端面的剪切均布力;但这种方法比较容易出现应力集中现象;

方法2,定义局部刚性区域,施加过程venture讲的很详细,这里就不在赘述。根据他的例子,我在下面给出了一段命令流。该方法有个不足,它在端面额外的增加了一定的刚度,只能适用于小变形分析。

方法3,相对方法2来说,采用刚性梁单元,适用范围更广一些,对于大应变分析也能很好的适用。但在小应变分析下,方法2和方法3没有什么区别。

方法4,定义一个主节点,施加了分布力面,应该说跟实际比较接近一点,但端面的结果好像不是很理想,结果有点偏大,在远离端面处的位置跟实际很符合。 方法5,它具体的受力形式有如下两种:

刚性表面边界(Rigid surface constraint)-认为接触面是刚性的,没有变形,和通过节点耦合命令CERIG比较相似;

分布力边界(Force-distributed constraint)-允许接触面的变形,和边界定义命令RBE3相似。

使用这种方法,需要用KEYOPT(2) = 2打开接触单元的MPC(多点接触边界)算法

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,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 /CLABEL,1,-1 /replot

7.出图

GUI:plotCtrls—>Capture Image

============================================================================ 【原创】下面部分为作者自己总结 对于beam3单元

其他的单元类型,可以参考ansys帮助文档中给出的相关单元的参数。

附上一个小例子,下图所示为一悬臂梁,长100,左端完全约束,上面加载均匀载荷q=100,绘制这个梁的剪力和弯矩图。

弯矩图

剪力图

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

/CLABEL,1,-1 /replot 7.出图

GUI:plotCtrls—>Capture Image

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

Top