Ansys Workbench学习体会

Leave a comment

Ansys Workbench学习体会

Ansys Workbench确实是一个不错的软件,下面简单记录一下使用中一些学习感受。

1)操作模式简单化,与大部分有限元软件一样,采取的是清晰明了的树状结构,不知道Ansys这样沿着两条线走的原因是什么,一个沿着界面晦涩难懂的APDL类DOS界面前行,一个沿着简洁明快的清新界面前行。一直以来的认为都是,ansys具有强大的功能,功力高深者可以按键如飞的写入命令行,但是隔段时间之后常会觉得又把命令遗忘的差不多。因此,个人觉得一个好的有限元操作界面,必须拥有良好的操作界面,而更多的复杂功能可以隐藏于菜单之中。其实abaqus就做的挺好的,特别是现在采用python作为二次开发语言,以其强大的“类”,使得整个层次更加清晰。感觉树状结构在有限元分析软件中,似乎比较早出现在cosmos中,而后Algor在经历了dos版,Win32版之后也很快引入了这种结构,abaqus似乎到了6.5才有,midas一开始就有,而sap2000尚未引入,由于用的软件不多,应该颇有遗漏。

2)对截面可以施加弯矩和轴力,这点让人觉得非常新鲜,毕竟在许多有限元分析软件里面,加弯矩还是很让人头疼的事。

3)支持的格式不少,应该比ansys母版的要多些。

4)切片的方法让人觉得不是很直观,在一些比较复杂的空间结构中,不是特别好用。

5)Probe功能做的不错。

6)一个用abaqus划分网格未果的有限元solidwork建立的模型,居然在workbench中可以划分,挺是奇怪,且待Dr.Wu高手来慢慢用Hypermesh划分看看。

7)Dr.Ma在韩国看mm做学问,还不时用Workbench做参数分析,有空要和他交流看看了。

8)下面是昨天操作的一些简单记录,就当是备忘吧。随手所记,也就不整理了。

做法:首先,可以先用designmoduler或者其他cad软件制作出需要的截面,之后在simulation的目录下,在model的地方,找到geometry->import from file的地方,导入几何体。在gemetry-solid的地方,可以找到需要的材料属性。在mesh的地方,可以控制网格的大小。然后,应该要建立一个enviorment,这个可以输入各种荷载等等。然后比如可以建立一个fix support之类的约束,选择某一个面进行施加荷载。在solution的目录下,可以添加一些应力或者应变的结果,这样子之后就可以输出了,假如没有,可以添加一个,然后evaluate result ,不需重算,就可以得到结果了。在树列的地方,点insert,可以插入各种需要的结果。

Ansys 11里面一些自己感兴趣的新功能

1 Comment

Ansys 11里面一些自己感兴趣的新功能
(qjchen)
1)Nonlinear Stabilization
对局部失稳的问题进行了改进,可以在静态分析中模拟局部失稳和失稳后行为,对某些弧长法无能为力的snap-through问题和整体失稳问题有了一定的改进。……。
个人感觉:这点不知道对前段时间的整体网壳非线性分析有没有改进的作用,且待后测试。

2)3-D Smeared Reinforcing
一个三维的3-D smeared 钢筋单元。REINF265单元,可以作为钢筋或者纤维等的三维模拟。在一个基单元中可以定义250层钢筋,也可以用EREINF来自动生成钢筋。这个单元具有塑性,应力刚化,蠕变,大变形,大应变等特性。
个人感觉:虽然ansys的钢筋功能不是很强大,但是应付一般的问题还是不错的,现在有三维加强总算是对土木行业有些作用吧。

3)New User-Defined Elements
有一个新的API(application program interface )可以让用户更加简单的构建新单元。其中很重要一点,用户不再需要撰写材料子程序,可以调用标准材料库的程序。

个人感觉:应该还是很好的,ABAQUS和DIANA都支持用户自定义类型,而ansys的自定义门槛可能更高,需要降低一些了。个人觉得一个软件的定制性更强,甚至有某些开源方面的插件接口会好的多,拥有更多的用户。

4)New Joint Element Options
多种新的节点单元,这个主要是对两个单元对应节点的耦合进行更多方面的定义。其中有一种weld的焊接单元。MPC184 Weld Joint Element。
感觉:多些选择总是好的。

5)Component Mode Synthesis (CMS)
字模态合成?,功能有所增强,不知道对师兄的那个连体结构模态分析有没有帮助呢。

6)Drucker-Prager plasticity
多了一种Cap模型。其中的一种Gurson’s plasticity model 塑性模型适用于延性金属的破坏。其基于微力学延性损伤模型。

7) J-Integral Calculation
断裂力学中的J积分,记得以前的马博士是用了编写apdl的方法来完成的,现在可能得让他来判别一下怎么回事了。

8)Initial State
据说初状态的定义大大的增强了,可以从多方面进行定义。

9)Apdl的增强
array相关的几个函数都得到了增强,比如 *DIM *VOPER, *MOPER, *VGET ,*VFUN, *MFUN, *VITRP, *TOPER,
而*GET和*VGET也都得到了增强,个人感觉比较有用。

一个不很成熟的变参数批量分析的ANSYS程序

Leave a comment

!为了批量研究变化参数得到的结果变化,进行批量分析(采用的是不断新建模型的方法)
!里面有不少参数还没有变为DO和ENDDO的方法
!还需继续改进
!华南理工大学 建筑学院 qjchen
!http://chenqj.blogspot.com
D=400
!b=100
!h=100
num1=10
num11=num1+1
num21=num11+num1
num31=num21+num1
num3=num1*3
num2=num1*2
cnum=4

*CFopen,myout,out
*DO,I,1,cnum,1
*DO,J,1,cnum,1
dh=I/2*D
db=J/2*D
/PREP7
ET,1,SHELL63
R,1,0.5
MP,EX,1,2E11
MP,NUXY,1,0.2
*DO,ROW,0,num1,1
*DO,COL,0,num3,1
*IF,COL,LT,num11,THEN
N,ROW*num31+COL+1,db*COL/num1-D*0.5-db,ROW*dh/num1,0
*ELSEIF,COL,LT,num21
N,ROW*num31+COL+1,-D*0.5+D*(COL-num1)/num1,ROW*dh/num1,0
*ELSE
N,ROW*num31+COL+1,db*(COL-num2)/num1+D*0.5,ROW*dh/num1,0
*ENDIF
*ENDDO
*ENDDO
*DO,ROW,0,9,1
*DO,NNUM,31*ROW+1,31*ROW+30,1
E,NNUM,NNUM+1,32+NNUM,31+NNUM
*ENDDO
*ENDDO
NAME=STRCAT(STRCAT(‘H’,CHRVAL(I/10)),STRCAT(‘B’,CHRVAL(J/10)))
!SAVE,NAME,DB
FINISH
/SOLU
D,11,,,,,,UX
D,11,,,,,,UY
D,21,,,,,,UY
D,12,,,,,,UY
D,13,,,,,,UY
D,14,,,,,,UY
D,15,,,,,,UY
D,16,,,,,,UY
D,17,,,,,,UY
D,18,,,,,,UY
D,19,,,,,,UY
D,20,,,,,,UY
F,321,FY,-100
F,322,FY,-100
F,323,FY,-100
F,324,FY,-100
F,325,FY,-100
F,326,FY,-100
F,327,FY,-100
F,328,FY,-100
F,329,FY,-100
F,330,FY,-100
F,331,FY,-100
NAME1=STRCAT(NAME,’_FORCE’)
!SAVE,NAME1,DB
!/output,dd,myout,,
SOLVE
/post1
set,first
*do,jjj,156,186,1
nodenow=jjj
*GET,sz,NODE,jjj,S,Z
*GET,sx,NODE,jjj,S,X
*GET,sy,NODE,jjj,S,Y
*vwrite,(‘b:’),db,(‘ h:’),dh,(‘ i:’),jjj,(‘ sx:’),sx,(‘ sy:’),sy,(‘ sz:’),sz
(A3,F6.0,A3,F6.0,A3,F6.0,A4,F10.2,A4,F10.2,A4,F10.2)
*enddo
NAME1=STRCAT(NAME,’_RESULT’)
!SAVE,NAME1,DB

FINISH
/PREP7
EDELE,ALL
NDELE,ALL
FINISH
*ENDDO
*ENDDO
*cfclos

一段绘制空间扭网壳的ANSYS代码(APDL)

Leave a comment



!下面一段话是在ANSYS中绘制空间扭网壳的APDL代码
!华南理工大学 建筑学院 qjchen
!http://chenqj.blogspot.com
!虽然到现在杂乱地学了10来种语言,也考过什么程序员的,但发现许多时候的计算机编程应用经
!常集中在文本格式转换,简单的循环,数列通项公式的查找方面,都是最简单的东西。
!不过也不算白学,好歹大部分语言现在硬着头皮都能看懂,也不错
/prep7
Rad=30000
num=11
pi=atan(1)*4

!draw the control point
k,1,0,-Rad,0.2*Rad
k,num,Rad*sin(30*pi/180),-Rad*cos(30*pi/180),-0.1*Rad
k,num*num-num+1,-Rad*sin(30*pi/180),-Rad*cos(30*pi/180),-0.1*Rad
k,num*num,0,0,0.1*Rad

!draw the four edge point
kfill,1,num,,,1
kfill,num*num-num+1,num*num,,,1
kfill,1,num*num-num+1,num-2,,num
kfill,num,num*num,num-2,,num

!draw the other point
*do,j,2,num-1,1
kfill,(j-1)*num+1,(j-1)*num+num,,,1
*enddo

!draw the 45 deg line
lnumbef=lsinqr(0,14)+1
*do,j,1,num,1
*do,i,1,num-1,1
lstr,(j-1)*num+i,(j-1)*num+i+1
*enddo
*enddo
lnumaft=lsinqr(0,14)
lsel,r,,,lnumbef,lnumaft,1
cm,lineup45,line

!draw the 135 deg line
lnumbef=lsinqr(0,14)+1
*do,i,1,num,1
*do,j,1,num-1,1
lstr,(j-1)*num+i,(j-1)*num+i+num
*enddo
*enddo
lnumaft=lsinqr(0,14)
lsel,r,,,lnumbef,lnumaft,1
cm,lineup135,line

!draw the 90 deg line
lnumbef=lsinqr(0,14)+1
*do,j,1,num-1,1
*do,i,1,num-1,1
lstr,(j-1)*num+i,j*num+i+1
*enddo
*enddo

!copy up to down keypoint
kplot
allsel
kgen,2,1,num*num,1,,,-0.2*Rad,10000

!copy up to down line
lplot
allsel
dd=lsinqr(0,14)
lgen,2,1,dd,1,,,-0.2*Rad,10000

KSEL,ALL
kplot

!draw all the ver member
*do,j,1,num,1
*do,i,1,num,1
lstr,(j-1)*num+i,(j-1)*num+i+10000
*enddo
*enddo

/vup,1,z
!draw the 45 deg lean member
*do,j,1,num,1
*do,i,1,0.5*(num-1),1
lstr,(j-1)*num+i,(j-1)*num+i+1+10000
*enddo
*enddo

*do,j,1,num,1
*do,i,0.5*(num+1),num-1,1
lstr,(j-1)*num+i+10000,(j-1)*num+i+1
*enddo
*enddo

!draw the 135 deg lean member
*do,i,1,num,1
*do,j,1,0.5*(num-1),1
lstr,(j-1)*num+i,(j-1)*num+i+num+10000
*enddo
*enddo

*do,i,1,num,1
*do,j,0.5*(num+1),num-1,1
lstr,(j-1)*num+i+10000,(j-1)*num+i+num
*enddo
*enddo

!draw the 90 deg lean member
*do,i,1,num-1,1
*do,h,1,num-i,1
*if,h,LE,0.5*(num-i),Then
lstr,i+(h-1)*(num+1),i+h*(num+1)+10000
*else
lstr,i+(h-1)*(num+1)+10000,i+h*(num+1)
*endif
*enddo
*enddo

*do,i,2,num-1,1
*do,h,1,num-i,1
*if,h,LE,0.5*(num-i),Then
lstr,i+(h-1)*(num+1)+(num-1)*(i-1),i+h*(num+1)+10000+(num-1)*(i-1)
*else
lstr,i+(h-1)*(num+1)+10000+(num-1)*(i-1),i+h*(num+1)+(num-1)*(i-1)
*endif
*enddo
*enddo

!draw the area
*do,i,1,num-1,1
*do,j,1,num-1,1
a,(j-1)*num+i,(j-1)*num+i+1,(j-1)*num+i+num+1
a,(j-1)*num+i,(j-1)*num+i+num,(j-1)*num+i+num+1
*enddo
*enddo

一段绘制空间扭网壳的ANSYS代码(APDL)

Leave a comment



!下面一段话是在ANSYS中绘制空间扭网壳的APDL代码
!华南理工大学 建筑学院 qjchen
!http://chenqj.blogspot.com
!虽然到现在杂乱地学了10来种语言,也考过什么程序员的,但发现许多时候的计算机编程应用经
!常集中在文本格式转换,简单的循环,数列通项公式的查找方面,都是最简单的东西。
!不过也不算白学,好歹大部分语言现在硬着头皮都能看懂,也不错
/prep7
Rad=30000
num=11
pi=atan(1)*4

!draw the control point
k,1,0,-Rad,0.2*Rad
k,num,Rad*sin(30*pi/180),-Rad*cos(30*pi/180),-0.1*Rad
k,num*num-num+1,-Rad*sin(30*pi/180),-Rad*cos(30*pi/180),-0.1*Rad
k,num*num,0,0,0.1*Rad

!draw the four edge point
kfill,1,num,,,1
kfill,num*num-num+1,num*num,,,1
kfill,1,num*num-num+1,num-2,,num
kfill,num,num*num,num-2,,num

!draw the other point
*do,j,2,num-1,1
kfill,(j-1)*num+1,(j-1)*num+num,,,1
*enddo

!draw the 45 deg line
lnumbef=lsinqr(0,14)+1
*do,j,1,num,1
*do,i,1,num-1,1
lstr,(j-1)*num+i,(j-1)*num+i+1
*enddo
*enddo
lnumaft=lsinqr(0,14)
lsel,r,,,lnumbef,lnumaft,1
cm,lineup45,line

!draw the 135 deg line
lnumbef=lsinqr(0,14)+1
*do,i,1,num,1
*do,j,1,num-1,1
lstr,(j-1)*num+i,(j-1)*num+i+num
*enddo
*enddo
lnumaft=lsinqr(0,14)
lsel,r,,,lnumbef,lnumaft,1
cm,lineup135,line

!draw the 90 deg line
lnumbef=lsinqr(0,14)+1
*do,j,1,num-1,1
*do,i,1,num-1,1
lstr,(j-1)*num+i,j*num+i+1
*enddo
*enddo

!copy up to down keypoint
kplot
allsel
kgen,2,1,num*num,1,,,-0.2*Rad,10000

!copy up to down line
lplot
allsel
dd=lsinqr(0,14)
lgen,2,1,dd,1,,,-0.2*Rad,10000

KSEL,ALL
kplot

!draw all the ver member
*do,j,1,num,1
*do,i,1,num,1
lstr,(j-1)*num+i,(j-1)*num+i+10000
*enddo
*enddo

/vup,1,z
!draw the 45 deg lean member
*do,j,1,num,1
*do,i,1,0.5*(num-1),1
lstr,(j-1)*num+i,(j-1)*num+i+1+10000
*enddo
*enddo

*do,j,1,num,1
*do,i,0.5*(num+1),num-1,1
lstr,(j-1)*num+i+10000,(j-1)*num+i+1
*enddo
*enddo

!draw the 135 deg lean member
*do,i,1,num,1
*do,j,1,0.5*(num-1),1
lstr,(j-1)*num+i,(j-1)*num+i+num+10000
*enddo
*enddo

*do,i,1,num,1
*do,j,0.5*(num+1),num-1,1
lstr,(j-1)*num+i+10000,(j-1)*num+i+num
*enddo
*enddo

!draw the 90 deg lean member
*do,i,1,num-1,1
*do,h,1,num-i,1
*if,h,LE,0.5*(num-i),Then
lstr,i+(h-1)*(num+1),i+h*(num+1)+10000
*else
lstr,i+(h-1)*(num+1)+10000,i+h*(num+1)
*endif
*enddo
*enddo

*do,i,2,num-1,1
*do,h,1,num-i,1
*if,h,LE,0.5*(num-i),Then
lstr,i+(h-1)*(num+1)+(num-1)*(i-1),i+h*(num+1)+10000+(num-1)*(i-1)
*else
lstr,i+(h-1)*(num+1)+10000+(num-1)*(i-1),i+h*(num+1)+(num-1)*(i-1)
*endif
*enddo
*enddo

!draw the area
*do,i,1,num-1,1
*do,j,1,num-1,1
a,(j-1)*num+i,(j-1)*num+i+1,(j-1)*num+i+num+1
a,(j-1)*num+i,(j-1)*num+i+num,(j-1)*num+i+num+1
*enddo
*enddo

Follow

Get every new post delivered to your Inbox.