资源描述
由于水平有限,不足之处,敬请谅解!
ANSYS学习的一些心得--隧道开挖的有限元分析
推荐的基本参考用书
1.《ANSYS7.0基础教程与实例详解》或《ANSYS9.0经典产品基础教程与实例详解》,都是“中国水利水电出版社”的
如果要系统地学,最好从基础学起,后面我会具体介绍一下我学习中的一些小小的经验和体会。
2.李权.ANSYS在土木工程中的应用.人民邮电出版社,2005
这本书讲的都是实例,基本囊括土木工程中的所有项目,针对每一个实例的操作步骤写的也比较详细。初学者可以照着练习,但对打基础帮助不大。关于隧道的那一节,书上的例题考虑材料属性时将岩土简单的设成线性的,而实际工程往往要用非线性来考虑,这就需要再输入材料属性的时候注意了,将岩土材料考虑成弹塑性时,一般材料用Drucker-prager(D-P)屈服条件来输入,具体是在Mainmenu>preprocessor>Material props> MaterialModels,在弹出的对话框中双击structure>Nonliner>Inelastic>Non-metalPlasticity >Drucker-prager,在弹出的对话框中输入粘聚力(cohesion)和内摩擦角(fric angle),如直接输这两个参数,ansys会提示先输入弹性模量以及泊松比,照常输入弹模和泊松比后即可输入C和φ。
3.ANSYS土木工程应用实例,中国水利水电出版社
这本书有很多命令流的介绍,还有一些分析方法的介绍,对后期学命令流操作还是很有用的。要学习ANSYS的命令流,有这本书帮助会很大。
4.《ANSYS9.0经典产品高级分析技术与实例详解》中国水利水电出版社。
这本书介绍了参数化(APDL)有限元分析技术,优化设计,单元生死技术等,是在学习的提高阶段不错的一本书,在做隧道的开挖模拟时,单元生死技术是很关键的,该书的第四篇对单元生死技术有比较详细的讲解,另外还有个基坑开挖的实例,跟隧道的开挖其实也是同出一辙。
推荐的一个比较好的论坛:
ANSYS自带的help里可以找到所有的命令方式,所以遇到不懂的命令可以到里面查!
总结几点学习体会
1.建立模型的一般步骤:1)定义材料属性;2)建立几何模型;3)划分网格;
4)加约束及荷载;5)求解;6)查看求解结果。
2.学ANSYS初期常遇的问题:
1)往往会搞不清关键点(keypoint)、节点(node)、元素(element)等的意思。关键点不同于节点,关键点往往是为建立一个模型而设的点,如圆弧的圆心、线段的端点等。对于一些简单的构件,可以通过定义材料属性,直接定义节点或元素;但对一些如面、体等模型,节点往往是在建立几何模型后,经过网格划分而成的。如对“面”而言,元素就是划分网格后的四边形或者三角形。
2)在学习时,还要熟悉模型各种线(lines)、面(areas)、体(volumes)、节点(nodes)、元素(elements)等的显示(plot),显示命令由plot和plotctrl来控制。路径为(Utility Menu>plot,Utility Menu >plotctrl)。在建立模型时,通过两个点建立一条线,但滚动鼠标后可能发现线不见了,此时可以通过Utility Menu>plot>lines来显示线。这些操作在练习过程中可能会经常遇到的。
3)注意保存。建模过程中,往往会出现一些错误或者不可预测的操作,因为不像CAD里一样画错了能后退,所以此时就要save,发现错误之后,点resume就可以回复到你点save时的那一步操作了。还可以通过file>save as…另存.db文件(注意取个好记的文件名)。
3.建立隧道模型,实现开挖模拟的一些技巧
1)定义材料属性时,可以对隧道外的岩体和开挖部分的岩体分别定义不同的材料编号(虽然它们的材料属性是相同的),这样做的目的是为了在做后面的模拟开挖时方便选择隧道要开挖的岩体。如:隧道外的岩体属性MP,EX,1,1.3E9;MP,PRXY,1,0.3;MP,DENS,1,2300;开挖部分的岩体属性MP,EX,2,1.3E9;MP,PRXY,2,0.3;MP,DENS,2,2300;红色的数字即元素属性的编号。后面开挖时,可以通过“ESEL,S,MAT,,2”来显示开挖部分的岩体,从而大大方便了开挖岩体的选取。
2)定义完材料属性,建立几何模型,划分网格并约束加载后,若定义喷射混凝土材料本构模型编号为3,则可以通过“ESEL,S,MAT,,3”命令选择喷射混凝土,用“ekill,all”杀死所选择的全部喷射混凝土。此时就可以开始求解初始地应力了。
3)选取某个单元体的方法。在模拟开挖的时候,经常要进行单元的选取,可以通过 utility>select>entities操作,弹出select entities对话框,第一行里包含“Nodes,elements,Volumes,Areas,lines,keypoints”,选择某一类型即表示将要选择的单元类型。在隧道开挖时,先用esel命令显示隧道的岩体元素(再用鼠标滚动一下即可看到),接着点utility>select>entities,在弹出的对话框的第一行里选择elements,第二行里选择By Num/Pick,再选择unselect(表示不选择显示那些元素),用box(框选)不需开挖的元素,最后剩下要开挖的那部分,用“ekill,all”命令杀死当前显示的元素,即实现了开挖。重复上面的操作,进行后面的开挖。激活喷射混凝土,选取时同上所述,当显示的只有需要激活的那部分喷射混凝土时,用“ealive,all”命令激活当前显示的元素。
4.隧道建模的命令流介绍
1)平面模型
!第一步,初始化分析环境
Finish
/CLEAR
/FILNAME,SUIDAO !定义文件名SUIDAO
!第二步,定义参数变量
B1=1.3E+9
B2=10E+9
B3=0.3
!第三步,创建参数化的有限元模型
/PREP7
ET,1,BEAM3 !定义2D梁单元
ET,2,BEAM3
ET,3,PLANE42
ET,4,PLANE42
R,1,0.21,0.000779,0.21,0,0,0, !定义实常数
R,2,0.4,0.005333333,0.4, , , ,
!定义材料属性
MP,EX,1,B1 !隧道外围岩的参数
MP,PRXY,1,B3
MP,DENS,1,2300
TB,DP,1,,, !定义D-P弹塑性本构模型
TBMODIF,1,1,0.45e6 !定义粘聚力
TBMODIF,1,2,33 !定义内摩擦角
MP,EX,2,B1 !隧道内围岩的参数
MP,PRXY,2,B3
MP,DENS,2,2300
TB,DP,2,,, !定义D-P弹塑性本构模型
TBMODIF,1,1,0.45e6 !定义粘聚力
TBMODIF,1,2,33 !定义内摩擦角
MP,EX,3,B2 !加固圈的参数
MP,PRXY,3,B3
MP,DENS,3,2300
TB,DP,3,,, !定义D-P弹塑性本构模型
TBMODIF,1,1,0.45e6 !定义粘聚力
TBMODIF,1,2,33 !定义内摩擦角
MP,EX,4,28E+9 !初衬混凝土参数
MP,PRXY,4,0.2
MP,DENS,4,2500
MP,EX,5,2.95E+10 !二衬混凝土参数
MP,PRXY,5,0.2
MP,DENS,5,2500
!建立几何模型(对较为复杂的模型,一般需要命令流和GUI方式同时进行)
k,1,10.79,0
k,2,10.79,15
……
.
.
具体可参考推荐的参考书2和3.
finish !退出prep7
!第四步,进行约束、加载及求解
/solu
LSEL,S,LOC,X,a !选择x=a的线
LSEL,A,LOC,X,b !增加选择x=b的线
DL,ALL,UX,0 !约束x方向的位移
LSEL,A,LOC,Y,c !选择y=c的线
DL,ALL,UY,0 !约束y方向的位移
ALLSEL !选择显示所有的单元
ACEL,,10 !施加重力加速度
!设定分析选项
可以通过Main Menu>Solution>Analysis Type>Sol'n Controls>Basic来定义时间步,对应的命令流为
deltim,0.1,0.05,0.2
autos,on !使用自动时间步
pred,on !打开时间步长预测器
lnsrch,on !打开线形搜索
nlgeom,on !打开大位移效果
nropt,full !设定牛顿-拉普森选项
cnvtol,f,,0.02,2,0.5 !设定力收敛条件
可以通过Main Menu>Solution>Analysis Type>Analysis type>Analysis Options来选择求解方式。(可用GUI方法进行约束模型和加载,具体可参考推荐的参考书2和3)
!进行初始地应力的计算
esel,s,mat,,4 !选择本构模型编号4的初衬材料
ekill,all !将所选的初衬杀死
allsel !显示所有的单元
solve !求解
FINISH !退出solution菜单
!第五步,后处理
计算完成后,进入Main Menu>General postproc>plot result>Nodal solu查看计算结果。选择将要开挖的土体的,通过Main Menu>General postproc>Nodal calcs>sum@each node导出节点力。可以将这些数据先复制到文本文档,再从EXCEL中导入,这样会省去很多输入的操作。导入EXCEL(excel中的“数据>导入外部数据>导入数据”,找到那个文本文档按确定就可以了)中后,可以很方便的对节点力进行折减,然后编辑成命令流(F,NODE,FX,VALUE。例如F,306,FX,6000,意思是在节点306上加上X轴方向的6000N的力)的方式备用。
注意保存db文件,可取个好记的名字,如kaiwa0,第一步开挖完成后,保存为kaiwa1。
开始第一步的开挖
点击Main Menu>Solution >Analysis Type>Restart后,在对话框的Load step number中填入1,Sub step number中填入4,确定。
可用3.3介绍的方法选中要开挖的岩体,用“ekill,all”杀死,或者用Main Menu>Solution >Load step Opts>other>Birth&death>kill elements杀死需要开挖的那部分岩体,即表示完成了第一步的开挖(杀死并不是指的把那部分岩体元素删除了,而是将那部分岩体的材料属性赋予一个很小的值,在计算的过程中可以忽略不计)。选择对应的支护体单元,用“ealive,all”将选择显示的支护单元激活,即实现了开挖后的支护。将单元激活后,打开之前在EXCEL中处理的数据,开始对结构进行加载。如“F,306,FX,6000”,…。加载完成后,显示所有的元素,开始计算。
计算完成后
!进入通用后处理器
/post1
*get,dymax,node,144,loc,y !获取144节点的y方向的位移存入dymax
dmax=-1*(dymax+0.010383+0.0169) !目标变量。使dmax达到最小值,就达到了优化的目的,
!LGWRITE,'OPTIMIZE','TXT','F:\practice\',comment !写入数据到文件OPTIMIZE.TXT
finish
/opt
opanl,'OPTIMIZE','TXT','' !指定优化命令文件,即文件名是OPTIMIZE的txt文件
!设计变量
OPVAR,B1,DV,1.3E9,6E9 !将围岩弹模设置在1.3E9~6E9之间
OPVAR,B2,DV,6E9,10E9 !将围岩弹模设置在6E9~10E9之间
OPVAR,B3,DV,0.3,0.35 !将围岩泊松比设置在0.3~0.35之间
!目标函数
OPVAR,DMAX,OBJ,,, !将dmax设置成目标函数
OPDATA,,, !指定优化数据的存储文件名
OPLOOP,PREP,PROC,ALL !控制读取分析文件的方式
OPPRNT,ON !指定是否存储计算的详细信息
OPKEEP,ON !存储数据库和结果
!选择子问题法进行第1次优化计算
OPTYPE,SUBP
OPSUBP,30,7 !设置迭代30次,获得7个可行性优化结果
OPEXE
!选择扫描法进行第2次优化计算
OPTYPE,SWEEP !扫描法
OPSWEEP,BEST,5 !最佳设计序列/5次评估
OPEXE !执行优化循环
查看优化结果
MainMenu>DesignOpt>DesignSets>List
重复上面的操作,直到完成所有的开挖。如有每次开挖的数据,可多次计算后,执行优化。每次开挖后都切记save as…(另存为),取好文件名。
关于截图:ANSYS中自带截图工具,在UnilityMenu>plotctrls>Redirct plots,或者UnilityMenu>plotctrls>Capture Image都可以。前面的那个方法的图片显示的要清晰一些。
展开阅读全文