FLAC渗流入门例子,从入门到精通
;帮助的 第ftd138.pdf
bulk modulus, K 390 MPa 体积模量(土质比较硬)
shear modulus, G 280 MPa 剪切模量
soil dry density, ρd 1200 kg/m3 土的密度
water density, ρw 1000 kg/m3 水密度
wall density, ρwal 1500 kg/m3 档土墙的密度
permeability, k 10−12 m2/Pa-s 渗透系数
porosity, n 0.3 孔隙率
fluid bulk modulus, Kf 2.0 GPa 流体的体积模量
;-----以下是命令流
config fluid ;设置流体算法
gen zone brick p1 12 0 0 p2 0 12 0 p3 0 0 12 size 12 12 12 rat 1 1 1
group soil ;设置土 组
group excavate range x 0 4 y 0 4 z 0 5 ;设置开挖范围组
group wal1 range x 4 5 y 0 5 z 0 7 ; 设置档土墙 1 组
group wal2 range x 0 4 y 4 5 z 0 7 ;设置档土墙 2 组
group wall range group wal1 any group wal2 any ;档土墙1 和2 合并为 一个档土墙组
; --- fluid flow model --- 流体模型
model fl_iso ;各项同性流体
prop perm 1e-12 poro 0.3 ;设置渗透系数和??比 or ??率
oini fdensity 1e3 ; 初始化 水密度
ini fmod 2.0e9 ftens -1e-3 ; 初始化水的体积模量 及 ??
model fl_null range group excavate ; 开挖部分没有水流
model fl_null range group wall ;档土墙 不渗水
jini pp 0 grad 0 0 1e4 ;初始化孔隙水压力
fix pp range z -0.1 0.1 ;约束 应该是整个模型的底部吧?
fix pp range x -0.1 4.1 y -0.1 4.1 z 4.9 5.1 ;开挖部分也给约束住了,而其他的地方不管
model elas ; 弹塑性
prop bul 3.9e6 shea 2.8e6 ;设置体积模量和 剪切模量,这两个必须
model null range group excavate ;力学模型的开挖
ini density 1.2e3 ;初始化 密度 ,应该是土的密度
ini density 1.5e3 range group wall ;初始化墙(档土墙)的密度
fix x range x -.1 .1 ;施加约束,据说差分法约束0 的时候,必须取一个-0.1<0<0.1,范围
fix x range x 11.9 12.1 ;施加约束,或者叫做边界条件
fix y range y -.1 .1 ;施加约束
fix y range y 11.9 12.1
fix z range z 11.9 12.1
ini szz 0 grad 0 0 -1.5e4 ;z方向的应力大一些
ini sxx 0 grad 0 0 -1.2e4 ;水平方向的,小一些
ini syy 0 grad 0 0 -1.2e4
apply nstress 0 grad 0 0 -1.2e4 range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0
apply nstress 0 grad 0 0 -1.2e4 range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0
apply nstress -7.5e4 range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1
; --- setting --- 设置
set gravity 0 0 10 ;设置重力加速度
solve force 1 ; check initial equilibrium 求解平衡
; --- excavation --- 开挖
set fluid off ;关闭水
apply nstress 0 grad 0 0 -1.e4 range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0
apply nstress 0 grad 0 0 -1.e4 range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0
apply nstress -5.e4 range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1
solve ;force 1 ;求解
save exc1.sav ; 保存
; --- drainage --- 排水
apply remove nstress ;撤掉刚才的压力
def relaxsetup ;定义一个 释放 函数的参数
step0 = step
end
relaxsetup ;调用
def relax ;定义一个释放函数
rstep = step - step0
if rstep < ncyc then
relax=1.0-(float(rstep)/float(ncyc))
else
relax=0.0
endif
end
set ncyc=1000;先赋值,然后调用
apply nstress 0 grad 0 0 -1e4 his relax range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0
apply nstress 0 grad 0 0 -1e4 his relax range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0
apply nstress -5e4 his relax range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1
cyc ncyc
solve
; --- percolation --- 渗透
set fluid on ;设置水算法
Fluentfix pp 0 range x -0.1 4.1 y -0.1 4.1 z 4.9 5.1 ;施加孔隙水压力
cyc 9000 ;循环
save exc3.sav ;保存
以上代码并不是全部,我只是挑了一些觉得重要的,!!!