CAD至ANSYS再至FLAC3D:边坡稳定性分析的全链条揭秘

最近看到不少朋友在问这个方面的问题,我现在把我过去几个月做的工程实例贡献出来,与大家共享。
 


1)从CAD图获取等高线点的数据

这个过程我是采用捕捉点获取数据的方式,不过是用软件实现的,否则手工操作十分费事。这样的软件在论坛上的ANSYS版块已经有了。有时候,CAD图也并非全有三维信息,不过只要知道二维信息,辅之以高程,就可以了,这个工作量不大。将得到的点的坐标导入到EXCEL中进行处理,转换为下面的格式
 

 k, 1, 600 ,0, 0
 

 k, 2, 600 ,0, 700
 

 k, 3, 0 ,0, 700
 

 k, 4, 0 ,0, 0
 

 k, 5, 600 ,24, 0
 

 k, 6, 600 ,24, 700
 

 k, 7, 0 ,24, 700
 

 k, 8, 0 ,24, 0
 

 即关键点坐标,然后就可以由点生成线了。至于为什么要导入到EXCEL,因为得出的数据点格式未必是符合ANSYS的数据格式,采用她可以进行批量处理,减少工作量。处理完毕后,这些数据点格式可以直接拷贝到记事本中,就成为符合ANSYS输入要求的数据点格式了。
 

2)有了数据点,就进入到下一步,即由点在ANSYS中建立几何模型。
 

通过数据点生成几何模型的方法多种多样,因人而异,没有统一的方法。不过对于我来说,个人觉得岩土工程模型比较复杂,最好是采用点生成线、线生面,面生成体的办法。至于地质界面,我是采用先生成面,然后切割体的方式生成。附件是我的ANSYS命令流,里面配有说明,大家可以参考一下。附图是按上述步骤得到的结果图和网格模型图,说明一下,这些图和我现在贴出的命令流得到的结果有些差异,原因是我后来更改了模型,不过步骤完全一样;后面我提到的在ANSYS生成水面的方式也是采用面切割体的方式得到的。
 

[forum.simwe.com]3.JPG


[forum.simwe.com]4(1).JPG


[forum.simwe.com]5.JPG


[forum.simwe.com]6.JPG



3)ansys模型导入FLAC3D1
 
这个我采用haitang兄的五一纪念版转换软件实现。
 

具体步骤为:
 
导入ANSYS命令流得到网格模型后,点击file栏read input from,找到五一纪念版转换软件文件夹中的ANSYS_COMMAND文件,得到单元和节点信息文件,并被保存在D盘根目录下。复制这两个文件,放置到软件文件夹,双击转换软件,即可得到FLAC3D IMPGRID命令所需的数据格式文件(附件1),然后IMPGRID这个文件就可以得到FLAC3D网格模型(附图)
 

[forum.simwe.com]无标题.JPG


4)FLAC3D计算
 

对导入后的FLAC3D加上相关约束条件并赋上参数值就可以进行计算了。
 
下面是命令流和相关解释,做得比较简单,没有考虑其它,仅考虑了静水压力而已,呵呵。
 
导入网格数据以生成水面
 

impgrid ww.flac3d
 
attach face
 

 ;为建立水面设置“辅助界面”而分组为水上部分和水下部分
 

 group water_below range group 1 any group 2 any
 

 group water_above range group water_below not
 

 gen separate water_below
 

 interface 1 wrap water_below water_above
 

 set grav 0 -9.81 0
 

 water den 1000
 

 ;遍历界面单元节点生成水面
 

 def water_table
 

  p_i=i_head
 

  p_ie=i_elem_head(p_i) ;界面1单元指针赋予p_ie4
 

  loop while p_ie # null
 

 ;返回界面单元的三个顶点的地址
 

  p_gp1=ie_vert(p_ie,1) 
 

  p_gp2=ie_vert(p_ie,2)
 

  p_gp3=ie_vert(p_ie,3)
 

 ;以这三个界面单元顶点为水面的三个顶点,生成水面)
 

 ;interface的节点和网格节点的地址是分别存放的
 

 x1=in_pos(p_gp1,1)
 

 y1=in_pos(p_gp1,2)
 

 z1=in_pos(p_gp1,3)
 

 x2=in_pos(p_gp2,1)
 

 y2=in_pos(p_gp2,2)
 

 z2=in_pos(p_gp2,3)
 

 x3=in_pos(p_gp3,1)
 

 y3=in_pos(p_gp3,2)
 

 z3=in_pos(p_gp3,3)
 

 command
 

  water table face x1,y1,z1 x2,y2,z2 x3,y3,z3
 

 endcommand
 

  p_ie=ie_next(p_ie)
 

 endloop
 

 end
 

 ;删除单元组water_below和组water_above,为导入实际的材料分组做准备
 

 model null range group water_below
 

 model null range group water_above
 

 ;建立实际材料分组部分
 

 ;导入网格数据,重新分组
 

 impgrid ww.flac3d
 

 group soil range group 2 any group 4 any
 

 group rock range group 1 any group 3 any
 

 ;执行生成水面的函数water_table
 

 water_table
 

 ;删除辅助界面单元
 

 int 1 dele
 

 ;彻底删除原先的分组,释放空间
 

 dele range group water_below
 

 dele range group water_above
 

 ;施加边界约束条件
 

 fix x y z rang y -0.1 0.1
 

 fix z range x 0 600 z -0.1 0.1
 

 fix x range x -0.1 0.1 z 0 700
 

 fix z range x 0 600 z 699.9 700.1
 

 fix x range x 599.9 600.1 z 0 700
 

 ;初始化材料密度: 饱和的和非饱和的
 

 def ini_dens
 

  p_z = zone_head ;将网格单元指针赋为p_z
 

  ;循环,并进行判断,如果隶属于组名为“土”的网格单元孔隙水压力不等于0,那么该单元密度为2120,其它单元密度为20206
 

  loop while p_z # null 
 

  if z_group( p_z)='soil' then 
 

  if z_pp( p_z) # 0.0 then
 

      z_density( p_z) = 2120
 

  else
 

  z_density( p_z) = 2020
 

  endif
 

  endif
 


  if z_group( p_z)='rock' then
 

  if z_pp( p_z) # 0.0 then
 

  z_density( p_z) = 3460
 

  else
 

  z_density( p_z) = 3360
 

  endif
 

  endif
 

  p_z = z_next( p_z)
 

  endloop
 

 end
 

 ;执行ini_dens函数
 

 ini_dens
 

 ;通过弹性求解生成初始应力场
 

 model elas9 t7 g, l& W M3 s4 i
 

 pro bulk 1e10 she 1e10 range group soil
 

 pro bulk 1e10 she 1e10 range group rock
 

 solve fo 1e3
 

 ;位移和速度归零
 

 ini xdisp 0
 

 ini ydisp 0
 

 ini zdisp 0
 

 ini xvel 0
 

 ini yvel 0
 

 ini zvel 0
 

 ;定义材料特性
 

 ;冰碛土物理力学参数指标
 

 model mohr
 

 pro bulk 4.0e8 she 2.4e8 co 2.6e5 fric 28.5 ten 1e4 dil 10 range group soil
 

 ;强节理化辉长岩物理力学参数指标
 

 pro bulk 8e8 she 6e8 co 4.60e5 fric 37 ten 4e3 dil 15 range group rock
 

 set mech ratio 1.0e-6
 

 solve
 


 


5)计算结果分析
 

下面就是对计算结果进行分析了,呵呵。
 
计算结果呢,我的习惯是先整体后局部,先三维后二维,即先看整体位移、应力云图,然后切剖面,绘等值线。说实话,我也是第一次做数值分析,也不知道上面的方式是否科学。剖面绘等值线程序来自论坛上前版主dynamax大牛的flac3d to tecplot,具体步骤如下,等命令流计算完毕后,call flac3d to tecplot文件即可,然后在tecplot 软件中切剖面绘等值线,就可以进行分析了。当然用下面的命令:
 

 plot set plane nor() ori()
 

 plo cont smin plane
 

 or plo cont smax plane
 

 等等也可以得到某些剖面的位移或主应力云图。
 

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空