FLAC3D接触面建立方法 下载本文

帖子:复杂模型内部接触面的建立方法

首先为什么要建立接触面:

如果考虑接触界面对问题的影响或接触界面的变化特征时就的设置接触单元。

如桩与土之间时,由于桩土,地连墙与土,由于刚度相差太大,位移不连续,有限元中尤其如此;

设置接触可以反映接触面之间得剪切滑移或侵入行为,如节理面,断层的刚度相差较大, 所以它们之间的接触单元定义后可以减少由刚度差别较大产生的误差影响(如位移)。 当然在定义接触单元后降低了刚度的影响也会提高软件的运行速度。 供参考。

接触面的建立方法:

1、就是大家通常用的“移来移去”法,手册上也有例子,一般模型推荐用此方法。

2、lakewater所推荐的建立复杂模型的方法

推荐一种更加实用的接触面建立方法,通过238版本后的impgrid,expgrid等命令进行模型导入导出,

花费很少的时间就可以解决复杂模型的接触面建立问题。下面用一个实例来做一下说明。 工况:3*3*3的模型,两个group,模型正中间的一个单元为gropu 2,其他为group 1

gen zone brick size 3 3 3 group 2 range x 1 2 y 1 2 z 1 2 group 1 range gr 2 not

save 1.sav

(1)将模型文件存为1.sav; (2)将除了需要加接触面的单元以外的所有单元删除,仅保存group 2 命令为:del ran grop 2 not;

(3)在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 1 2 z 1 interface 1 face range x 1 2 y 1 2 z 2 或interface 1 face也可以

建成后可以看到接触面的效果: plo inter yel ske

(4)这时候需要将上面建好的group 2 和接触面进行保存 save 2.sav

(5)重新restore先前的模型,并将需要建立接触面的实体删除,再将整个模型用expgrid命令进行导出:

rest 1.sav expgrid 1.fac3d

(6)写到这儿,大家应该明白了吧。下面的工作是这样的:将已建好的group 2和接触面的文件rest,

并把其他的模型用impgrid命令进行导入: impgrid 1.flac3d

得到的就是已经建立好接触面的模型

下面进行简单的计算,以验证接触面是否工作。

model ela

fix x y z ran z 0 ini den 20005 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

可以看到接触面的接应力分布结果: 得到的结果还是蛮理想的

3、用gen separate group1 int 1 wrap group1 group2

此方法是在已建好的模型上使用,先把group1与周围组分开,

这个组的周围点虽说和周围相邻的周围组的点有相同的位置,但有不同的节点 然后在group1上建立接触面,此法我称之为“分离法” n

gen zone brick size 3 3 3

group 2 range x 1 2 y 1 2 z 1 2 group 1 range gr 2 not save 1.sav

del ran group 2 not

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 1 2 z 1 interface 1 face range x 1 2 y 1 2 z 2 ;interface 1 face也可以 plo inter yel ske

save 2.sav rest 1.sav

expgrid 1.fac3d

rest 2.sav

impgrid 1.flac3d plo inter yel ske pau

model ela fix x y z ran z 0 ini den 20005 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 plo int sst

4、接触面参数的选择

kn ks应该根据试验确定,一般可取接触面两侧弹性模量较小值的10倍(手册上所说)

这个参数取值确实没有太多经验,最好的方法还是用手册建议的10倍刚度的方法。

如果这种方法的计算结果合理,那么最好不过了,因为手册中建议的方法自有它的道理, 但具体是何道理,我也不了解。

当然,如果有试验,那么最好通过试验反分析的方法来确定参数。

Ks切向刚度通常采用接触面的剪切试验得到

* q1 5#b\K&BeCKn法向刚度通常设置一个较大的值,但是这个值不能太大,否则又会存在收敛慢的问题,我所见到的Ks在1e7-1e9之间

5、就是记录界面上的应力随时间的变化该用哪个命令 我看例子上用hist interface i sstress x y z

Lakewater:

用hist interface 就可以了吧,这跟一般面上的应力跟踪说一样的,如果要进行更细致的观察,比如得到若干面上的平均应力,那就得用Fish语言做一下简单的编程了。

6、没有设置大变形,一般的基坑都不用设置,除非向模拟破坏过程