;FLAC3D的接触面的建立必须存在两个界面,因此通常的做法是在建模中首先建立两个分开的模型,然后再一个模型表面建立接触面,最后将另外一个模型“移动”过来。而这种方法在已完成的模型当中就不能凑效了,同时因为模型通常都较复杂,建模本身花费的精力就是巨大的,如果修改模型的话,那造成大量不必要的重复劳动。一种更加实用的接触面建立方法,通过238版本后的impgrid,expgrid等命令进行模型导入导出,花费很少的时间就可以解决复杂模型的接触面建立问题。下面用一个实例来做一下说明。工况:3*3*3的模型,两个group,模型正中间的一个单元为group 2,其他为group 1。
;复杂模型内部建立接触面example
gen zon bri size 3 3 3
group 1
group 2 ran x 1 2 y 1 2 z 1 2
;将模型文件存为1.sav
save 1.sav
;将除了需要加接触面的单元以外的所有单元删除,仅保存group 2
del ran group 2 not
;在group 2 周围建立接触面(六个)
interface 1 face range x 1 y 1 2 z 1 2
interface 1 face range x 2 y 1 2 z 1 2
interface 1 face range x 1 2 y 1 z 1 2
interface 1 face range x 1 2 y 2 z 1 2
interface 1 face range x 1 2 y 1 2 z 1
interface 1 face range x 1 2 y 1 2 z 2
;也可以用interface 1 face命令来默认建立整个模型的外表面接触面,这个将更加方便实用。对于复杂模型,大家可以试一试。
;建成后可以看到接触面的效果
plo inter yel ske
;将上面建好的group 2 和接触面进行保存
save 2.sav
;重新restore先前的模型,并将需要建立接触面的实体删除,再将整个模型用expgrid命令进行导出
rest 1.sav
del ran group 2
expgrid 1.fac3d
;将已建好的group 2和接触面的文件rest,并把其他的模型用impgrid命令进行导入
rest 2.sav
impgrid 1.fac3d
;得到的就是已经建立好接触面的模型
;下面进行简单的计算,以验证接触面是否工作。
model ela
prop bulk 20e8 shear 30e8
fix x y z ran z 0
ini den 2000
set gra 0 0 -10
interface 1 prop kn 20e6 ks 20e6 c 10e3 f 15
app nstr -200e3 ran x 0 1 y 1 2 z 3
solve
save 3.sav