ANSYS中弯矩剪力图的绘制.docx

上传人:b****7 文档编号:11017238 上传时间:2023-02-24 格式:DOCX 页数:28 大小:97.67KB
下载 相关 举报
ANSYS中弯矩剪力图的绘制.docx_第1页
第1页 / 共28页
ANSYS中弯矩剪力图的绘制.docx_第2页
第2页 / 共28页
ANSYS中弯矩剪力图的绘制.docx_第3页
第3页 / 共28页
ANSYS中弯矩剪力图的绘制.docx_第4页
第4页 / 共28页
ANSYS中弯矩剪力图的绘制.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

ANSYS中弯矩剪力图的绘制.docx

《ANSYS中弯矩剪力图的绘制.docx》由会员分享,可在线阅读,更多相关《ANSYS中弯矩剪力图的绘制.docx(28页珍藏版)》请在冰豆网上搜索。

ANSYS中弯矩剪力图的绘制.docx

ANSYS中弯矩剪力图的绘制

ansys中如何生成命令流方法:

GUI是:

UtilityMenu>File>WriteDBLogFile

怎么用ansys绘制弯矩,剪力图:

GUI:

GeneralPostproc->

lotResult->ContourPlot->LineElementResult

弹出画单元结果的对话框,分别在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  momentdiagram

PLLS,MI,MJ,-0.8,0

/image,save,'Bending_moment_%T%',jpg

ANSYS中弯矩、剪力图的绘制

GUI:

GeneralPostproc-plotResult-ContourPlot-LineElementResult

弹出画单元结果的对话框,分别在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  momentdiagram

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>>SVALON即可在画出弯矩图的同时在图上标出弯矩值的大小 

3.调整弯矩图 

如果弯矩图方向错误,则绘制弯矩图命令为 

plls,imom,jmom,-1 

同一个节点处两边的单元内力有细微差别, 

导致内力数字标注出现重影。

观察上面整体轴力图也可以发现, 

一段一段的,好像马赛克,其实上面整体弯矩图也是,不过不是 

很明显罢了。

这是EULER-BEONOULI梁理论以及ANSYS输出定义造成 

的(详细原因就不展开了,看看梁理论的书和ANSYS的说明吧)。

为了修正重影和节点两边内力值不一样的问题,遍制了宏文件ITFAVG.MAC 

命令文件内容如下:

!

---------------------------------------------------------------------

!

宏:

ITFAVG.MAC(INTERNALFORCEAVERAGEMACRO) 

!

获取线性单元内力,并对单元边界处的内力进行平衡

!

输入信息 

!

内力类型:

MFORX,MFORY,MFORZ,MMOMX,MMOMY,MMOMZ 

*ASK,ITFTYPE,'PLEASEINPUTTHETYPEOFINTERNALFORCE','MMOMY'

!

需处理的单元包 

*ASK,EASSEMBLY,'PLEASEINPUTTHECOMPONENTNAMEOFELEMENTSTOBEPROCESSED!

', 

'EOUTER'

!

需处理的节点包 

*ASK,NASSEMBLY,'PLEASEINPUTTHECOMPONENTNAMEOFNODETOBEPROCESSED!

','NOU 

TER'

!

无需处理的节点包 

*ASK,UNASSEMBLY,'PLEASEINPUTTHECOMPONENTNAMEOFTHEUNCHANGEDNODE!

(NONEI 

FTHERE'SNOSUCHCOMPONENT)','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

!

ENDOFITFAVG.MAC 

(2) 

对体和面来说,ANSYS默认的结果输出格式是云图格式,而这种彩色云图打印为黑白图像时对比很不明显,无法表达清楚,对于发表文章非常不便。

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

一般借用photoshop等第三方软件,很麻烦,效果也不好。

ansys本身也能实现这项功能。

 

1.将要输出的结果调出,这时为彩色云图; 

2.将云图转换为等值线图的形式 

GUI:

plotCtrls—>DeviceOptions—>[/DEVI]中的vectormode选为on 

命令:

/DEVICE,VECTOR,1 

这时结果为彩色等值线,若直接输出,打印为黑白图像时仍然不清晰,为此需进行以下几步将图像转换为黑白形式; 

3.将背景变为白色 

命令:

jpgprf,500,100,1 

/rep 

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

GUI:

plotCtrls—>Style—>Contours—>ContoursLabeling在KeyVectormodecontourlabel中选中oneveryNthelem,然后在N=输入框中输入合适的数值,例如5,多试几次,直到疏密合适 

命令:

/clabel,1,5 

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

GUI:

plotCtrls—>Style—>Colors—>ContoursColors将ItemsNumbered1,ItemsNumbered2等复选框中的颜色均选为黑色,图像即可变为黑白等值线图像 

命令:

/color,cntr,whit,1等等 

6.修改 

在显示等值线时,图形中太多的标识字母(A、B等)使得等值线图完全看不清楚。

请问有没有什么方法可以去掉图形的这些标识字母呢 

在plotCtrls下面的style下面的contours下面的contourLabeling,在弹出的contourlabelingoptions里面的vectormodecontourlabels选off 

后处理中画出了结构的等值线图,可否将等值线边的字母改为相应的数值标注 

/PNUM,SVAL,1 

/replot 

如果还想将等值线的字母去掉 

/PNUM,SVAL,1 

/CLABEL,1,-1 

/replot 

7.出图 

GUI:

plotCtrls—>CaptureImage

 

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,它具体的受力形式有如下两种:

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

分布力边界(Force-distributedconstraint)-允许接触面的变形,和边界定义命令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>>SVALON即可在画出弯矩图的同时在图上标出弯矩值的大小 

3.调整弯矩图 

如果弯矩图方向错误,则绘制弯矩图命令为 

plls,imom,jmom,-1 

同一个节点处两边的单元内力有细微差别, 

导致内力数字标注出现重影。

观察上面整体轴力图也可以发现, 

一段一段的,好像马赛克,其实上面整体弯矩图也是,不过不是 

很明显罢了。

这是EULER-BEONOULI梁理论以及ANSYS输出定义造成 

的(详细原因就不展开了,看看梁理论的书和ANSYS的说明吧)。

 

为了修正重影和节点两边内力值不一样的问题,遍制了宏文件ITFAVG.MAC 

命令文件内容如下:

 

!

--------------------------------------------------------------------- 

!

宏:

ITFAVG.MAC(INTERNALFORCEAVERAGEMACRO) 

!

获取线性单元内力,并对单元边界处的内力进行平衡 

!

输入信息 

!

内力类型:

MFORX,MFORY,MFORZ,MMOMX,MMOMY,MMOMZ 

*ASK,ITFTYPE,'PLEASEINPUTTHETYPEOFINTERNALFORCE','MMOMY' 

!

需处理的单元包 

*ASK,EASSEMBLY,'PLEASEINPUTTHECOMPONENTNAMEOFELEMENTSTOBEPROCESSED!

', 

'EOUTER' 

!

需处理的节点包 

*ASK,NASSEMBLY,'PLEASEINPUTTHECOMPONENTNAMEOFNODETOBEPROCESSED!

','NOU 

TER' 

!

无需处理的节点包 

*ASK,UNASSEMBLY,'PLEASEINPUTTHECOMPONENTNAMEOFTHEUNCHANGEDNODE!

(NONEI 

FTHERE'SNOSUCHCOMPONENT)','NONE' 

/POST1 

!

输入信息:

内力类型,欲处理单元的集合,欲处理节点的集合 

!

ITFTYPE='MMOMY' 

!

EASSEMBLY='EOUTER' 

!

NASSEMBLY='NOUTER' 

!

按内力类型确定ANSYS输出信息SMISC的编号 

*IF,ITFTYPE,EQ,'MFORX',THEN 

ITFINUM=1 

ITFJNUM=7 

*ELSEIF,ITFTYPE,EQ,'MFORY',

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1