首页/文章/ 详情

ANSYS“小意外系列”之一:须了解并避免出错

3年前浏览2772

不知道是小BUG,还是小粗心,ANSYS总有些让你意料之外的地方。本文将这些“意外”罗列在一起,方便备查,并可防止出现错误。

1.高阶单元中间节点应力问题

显示(图显和列表)高阶单元所有节点的位移当然是可以的,因为节点位移是直接量。但要获得中间节点应力就有难度,虽然可以使用/EFACET PRNSOL列表显示(只能列表,无提取方式)高阶单元中间节点的应力,但也只是结构所有单元外表的中间节点,而单元内部的中间节点应力则无法获取。例如:

FINISH$/CLEAR$/PREP7

ET,1,SOLID186

MP,EX,1,2E5$MP,PRXY,1,0.3

BLC4,,,10,20,200

ESIZE,5$MSHKEY,1$VMESH,ALL

DA,1,ALL$SFA,4,1,PRES,0.1

/SOLU$SOLVE$/POST1

!打开节点编号和精细化显示

/PNUM,NODE,1$/EFACET,2

!显示单元和节点应力列表

EPLOT$PRNSOL,S

所列出应力的节点都是单元外表节点,这个可以通过ESEL,S,EXT得到验证。

2.MISO模型高版本较低版本严格

在低版本中MISO模型的HELP中,有这样一段话“The slope of the first segment of the curve must correspond to the elastic modulus of the material and no segment slope should be larger. No segment can have a slope less than zero.”,但是在低版本中斜率为负值时(即应力-应变曲线存在下降段)也不提示错误,仍能计算运行下去。然而,在高版本中,只要出现负斜率,程序则立刻停止运行。

因此,如果应力-应变曲线有下降段,则不能再采用MISO模型,须改为MKIN模型或去掉下降段。

3.3D单元模拟2D分析时,必须施加无荷载作用方向的约束

经常会采用3D单元计算平面结构,如采用BEAM18x单元分析平面梁结构。在低版本中,只要荷载全部在面内作用,则ANSYS静力分析会计算并给出正确结果;然后,高版本则会检查约束是否足够,即必须保证在静力分析时结构无刚体位移!因此,平面梁结构,采用BEAM18x模拟,也必须施加面外的约束。同时对梁结构而言,还要注意绕自身轴的转动是否约束了?否则也会因约束不足而停止运行。

4.SPOPT不向下兼容

低版本中为:SPOPT,Sptype,NMODE,Elcalc

高版本中为:SPOPT,Sptype,NMODE,Elcalc,modeReuseKey

高版本多了命令项 modeReuseKey,但其缺省值为NO,即与低版本不兼容;要与低版本兼容,必须设置为YES。很显然,对于从低版本过来的用户而言,过去跑的命令流已完整成熟,但在高版本上则会发现结果不正确!这样的更新显然不友好!因此,应经常浏览高版本的HELP文件。

5.*VREAD可读入自由格式数据文件,但数据文件中不能出现整数

向文件输出数据带格式,可使数据排列的比较整齐,易于阅读。但对既有数据文件,如果必须带格式读入到ANSYS中,则极易出错。幸运的是发现,尽管给定了读入的FORMAT,但*VREAD可以采用自由格式的数据文件;特别要注意的是,自由格式数据文件的数据之间用英文逗号隔开,且不能出现整数,如2必须写成“2.0”的样子,否则会按FORMAT给出的格式读入。

设有数据文件dat.txt如下:

1.1,2.1,3.0

1.2,2.2,3.2

你读入数组A(2,3)中为:

1.1 2.1 3.0

1.2 2.2 3.2

命令流如下:

*CREAT,R,MAC

*DIM,A,,2,3

*VREAD,A,DAT,TXT,,JIK,3,2

(3f10.2)

*END

R

*VEDIT,A

各位读者可以试着将DAT.TXT中的3.0改为3试试看。

6.表达式可以包含4层括弧,每个括弧内运算不能超过9个

HELP中表述为“Parentheses can be nested up to four levels deep, and up to nine operations can be performed within each set of parentheses”。举例如:

a=6$b=8$c=20

x1=a**6*b*10*sqrt(b)*c**4*c**0.5/a!OK

x2=a**6*b*10*sqrt(b)*c**4*c**0.5/a/b!NO

y1=a**6 b*10-sqrt(b) c**4 c**0.5*a/b!NO

将y1表达式拆分在两个括号内,如:

y2=(a**6 b*10-sqrt(b)) (c**4 c**0.5*a/b)!OK

image.png

声明:原创文章,欢迎留言与我讨论,如需转载留言

理论科普求解技术代码&命令其他软件
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-04-27
最近编辑:3年前
王新敏
硕士 | 教授 好好学习,天天快乐
获赞 122粉丝 611文章 96课程 0
点赞
收藏
未登录
1条评论
唯一
签名征集中
3年前
老师您好,我是一名在校学生,想请教下您miso不能模拟混凝土和钢材具有下降段的应力应变曲线,是否可以采用kinh材料模型模拟具有下降段的混凝土和钢材应力应变曲线呢?好像用kinh材料模型与没有下降段的miso模型差别不大,时程位移曲线最终结果一样,只是中间部分有微小不一样,这是不是证明kinh是可以模拟混凝土和钢材下降段曲线?
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈