2024年11月4日发(作者:昂冰莹)
帖子:复杂模型内部接触面的建立方法
首先为什么要建立接触面:
如果考虑接触界面对问题的影响或接触界面的变化特征时就的设置接触单元。
如桩与土之间时,由于桩土,地连墙与土,由于刚度相差太大,位移不连续,有限元中尤其
如此;
设置接触可以反映接触面之间得剪切滑移或侵入行为,如节理面,断层的刚度相差较大,
所以它们之间的接触单元定义后可以减少由刚度差别较大产生的误差影响(如位移)
当然在定义接触单元后降低了刚度的影响也会提高软件的运行速度。
供参考。
接触面的建立方法:
1、 就是大家通常用的“移来移去”法,手册上也有例子,一般模型推荐用此方法。
2、 lakewater所推荐的建立复杂模型的方法
推荐一种更加实用的接触面建立方法,通过
导入导出,
花费很少的时间就可以解决复杂模型的接触面建立问题。下面用一个实例来做一下说明。
工况:3*3*3的模型,两个 group,模型正中间的一个单元为 gropu 2,其他为group 1
238版本后的impgrid,expgrid等命令进行模型
。
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 )将模型文件存为;
(2)将除了需要加接触面的单元以外的所有单元删除,
2 n ot ;
仅保存group 2命令为:del ran grop
(3)在group 2周围建立接触面
in terface 1 face range x1 y 1 2 z 12
in terface 1 face range x2 y 1 2 z 12
in terface 1 face range x1 2 y 1 z 12
in terface 1 face range x1 2 y 1 2 z1
in terface 1 face range x1 2 y 1 2 z2
或 in terface 1 face 也可以
建成后可以看到接触面的效果: plo inter yel ske fix x y z ran z 0
Interface Locadons
Sketch
Ml
白
gfac ■ 0.000&+ ODO
Linestyle -------------------------------------------------
(4) 这时候需要将上面建好的 group 2和接触面进行保存 save
(5) 重新restore先前的模型,并将需要建立接触面的实体删除,再将整个模型
用 命令进行导出:
rest
expgrid 3d
(6 )写到这儿,大家应该明白了吧。下面的工作是这样的:将已建好
group
的
的文件rest,
并把其他的模型用impgrid命令进行导入
:
得到的就是已经建立好接触面的模型
lnterfaiC£ Loe actions
Sketch
Miogfac * 0 000c*000
Lincsiy lu -----------------
F面进行简单的计算,以验证接触面是否工作。
model ela
ini den 20005
expgrid
2和接触面
set gra 0 0 -10
in terface 1 prop kn 20e6 ks 20e6 c 10e3 f 15 app n str -200e3 ran x 0 1 y 1 2 z 3
solve
可以看到接触面的接应力分布结果:
得到的结果还是蛮理想的
丄
Ljlerfac e La-catiions
interface Shear Stress
0.0M0e*0001o
D
I
.OOOD-
B
^OIMI
1
QJ3WQC*flQCilP< 1 0Q0DC+DW
、
?*C031
D
2
J
Q0DDM9*DD3
2.00fl0«+0031O 3.00006*003
0MlO31di 5-.OODOe*OD3
5.0W0e+0031o 5 000De*0M
6.0M0e
:
tdCl3lD 7 ODDtlcMM
7.0M0e*C03 l& fludCiDDaTIH
S.0W0e*0031O 9 0000e+D03
宜站
Mie
■询
21
。自抽古
Inurval* 1
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
del ran group 2 not
in terface 1 face range x 1 y 1 2 z 1 2
in terface 1 face range x 2 y 1 2 z 1 2
in terface 1 face range x 1 2 y 1 z 1 2
in terface 1 face range x 1 2 y 1 2 z 1
in terface 1 face range x 1 2 y 1 2 z 2
;interface 1 face 也可以
plo in ter yel ske save
rest
expgrid 3d rest impgrid 3d 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切向刚度通常采用接触面的剪切试验得到
Kn 法向刚度通常设置一个较大的值,但是这个值不能太大,否则又会存在收敛慢的问题, 我所见到
的 Ks 在 1e7-1e9 之间
5、就是记录界面上的应力随时间的变化该用哪个命令
我看例子上用 hist interface i sstress x y z
Lakewater:
用 hist interface 就可以了吧,这跟一般面上的应力跟踪说一样的, 如果要进行更细致的观察, 比如
得到若干面上的平均应力,那就得用 Fish 语言做一下简单的编程了。
6、没有设置大变形,一般的基坑都不用设置,除非向模拟破坏过程
2024年11月4日发(作者:昂冰莹)
帖子:复杂模型内部接触面的建立方法
首先为什么要建立接触面:
如果考虑接触界面对问题的影响或接触界面的变化特征时就的设置接触单元。
如桩与土之间时,由于桩土,地连墙与土,由于刚度相差太大,位移不连续,有限元中尤其
如此;
设置接触可以反映接触面之间得剪切滑移或侵入行为,如节理面,断层的刚度相差较大,
所以它们之间的接触单元定义后可以减少由刚度差别较大产生的误差影响(如位移)
当然在定义接触单元后降低了刚度的影响也会提高软件的运行速度。
供参考。
接触面的建立方法:
1、 就是大家通常用的“移来移去”法,手册上也有例子,一般模型推荐用此方法。
2、 lakewater所推荐的建立复杂模型的方法
推荐一种更加实用的接触面建立方法,通过
导入导出,
花费很少的时间就可以解决复杂模型的接触面建立问题。下面用一个实例来做一下说明。
工况:3*3*3的模型,两个 group,模型正中间的一个单元为 gropu 2,其他为group 1
238版本后的impgrid,expgrid等命令进行模型
。
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 )将模型文件存为;
(2)将除了需要加接触面的单元以外的所有单元删除,
2 n ot ;
仅保存group 2命令为:del ran grop
(3)在group 2周围建立接触面
in terface 1 face range x1 y 1 2 z 12
in terface 1 face range x2 y 1 2 z 12
in terface 1 face range x1 2 y 1 z 12
in terface 1 face range x1 2 y 1 2 z1
in terface 1 face range x1 2 y 1 2 z2
或 in terface 1 face 也可以
建成后可以看到接触面的效果: plo inter yel ske fix x y z ran z 0
Interface Locadons
Sketch
Ml
白
gfac ■ 0.000&+ ODO
Linestyle -------------------------------------------------
(4) 这时候需要将上面建好的 group 2和接触面进行保存 save
(5) 重新restore先前的模型,并将需要建立接触面的实体删除,再将整个模型
用 命令进行导出:
rest
expgrid 3d
(6 )写到这儿,大家应该明白了吧。下面的工作是这样的:将已建好
group
的
的文件rest,
并把其他的模型用impgrid命令进行导入
:
得到的就是已经建立好接触面的模型
lnterfaiC£ Loe actions
Sketch
Miogfac * 0 000c*000
Lincsiy lu -----------------
F面进行简单的计算,以验证接触面是否工作。
model ela
ini den 20005
expgrid
2和接触面
set gra 0 0 -10
in terface 1 prop kn 20e6 ks 20e6 c 10e3 f 15 app n str -200e3 ran x 0 1 y 1 2 z 3
solve
可以看到接触面的接应力分布结果:
得到的结果还是蛮理想的
丄
Ljlerfac e La-catiions
interface Shear Stress
0.0M0e*0001o
D
I
.OOOD-
B
^OIMI
1
QJ3WQC*flQCilP< 1 0Q0DC+DW
、
?*C031
D
2
J
Q0DDM9*DD3
2.00fl0«+0031O 3.00006*003
0MlO31di 5-.OODOe*OD3
5.0W0e+0031o 5 000De*0M
6.0M0e
:
tdCl3lD 7 ODDtlcMM
7.0M0e*C03 l& fludCiDDaTIH
S.0W0e*0031O 9 0000e+D03
宜站
Mie
■询
21
。自抽古
Inurval* 1
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
del ran group 2 not
in terface 1 face range x 1 y 1 2 z 1 2
in terface 1 face range x 2 y 1 2 z 1 2
in terface 1 face range x 1 2 y 1 z 1 2
in terface 1 face range x 1 2 y 1 2 z 1
in terface 1 face range x 1 2 y 1 2 z 2
;interface 1 face 也可以
plo in ter yel ske save
rest
expgrid 3d rest impgrid 3d 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切向刚度通常采用接触面的剪切试验得到
Kn 法向刚度通常设置一个较大的值,但是这个值不能太大,否则又会存在收敛慢的问题, 我所见到
的 Ks 在 1e7-1e9 之间
5、就是记录界面上的应力随时间的变化该用哪个命令
我看例子上用 hist interface i sstress x y z
Lakewater:
用 hist interface 就可以了吧,这跟一般面上的应力跟踪说一样的, 如果要进行更细致的观察, 比如
得到若干面上的平均应力,那就得用 Fish 语言做一下简单的编程了。
6、没有设置大变形,一般的基坑都不用设置,除非向模拟破坏过程