无名雨 发表于 2009-4-30 22:05:31

关于flac流量计算变量gflow(i,j)的困惑

2d手册上的有下面这一例子,其中计算边界流量用了变量gflow,说其符号定义流入模型为正,流出模型为负。那是不是gflow不能用于内部节点流量监测?如果能那是正还是负?如果计算基坑渗流量,是不是定义完开挖边界孔压条件,再把节点的gflow相加即可?恳请哪位牛人指点一下gflow用法,谢谢!!
;... STATE: H2AA ....
config gw
g 30 20
def ini_h2
   h1 = 6.
   h2 = 1.2
   bl = 9.
   ck = 1e-10
   rw = 1e3
   gr = 10.
   qt = ck*rw*gr*(h1*h1 - h2*h2)/(2.0*bl)
end
ini_h2
gen 0 0 0 h1 bl h1 bl 0
mo el
; --- Properties ---
prop por .3 perm=ck den 2000
water den=rw bulk 1e3
; --- Initial conditions ---
ini sat 0
; --- Boundary conditions ---
ini pp 6e4 var 0 -6e4 i 1
ini pp 1.2e4 var 0 -1.2e4 i 31 j 1 5
fix pp i 1
fix pp i 31
ini sat 1 i 1
ini sat 1 i 31 j 1 5
; --- Settings ---
set mech off
set grav=gr
; --- Fish functions ---
def flow
inflow=0.0
outflow=0.0
loop j (1,jgp)
    inflow=inflow+gflow(1,j)
    outflow=outflow-gflow(31,j)
end_loop
flow=qt
end
; --- Histories ---
hist nstep 50
hist pp i 15 j 1
hist flow
hist inflow
hist outflow
; --- Step ---
step 500
; --- Generate plots ---
save h2aa.sav
;... STATE: H2A ....
; --- Step to steady-state ---
solve
save h2a.sav

T-MACLeo 发表于 2011-12-10 10:03:47

:kiss:吖,亲啊,终于看到有2D的啦!!!先表达一下激动与兴奋

T-MACLeo 发表于 2011-12-10 10:19:42

哈哈,我这里有相应的3D的命令流,我加了备注,里面也有我的疑惑通通用?表示了,如果你也会一点儿3D的话我想你应该看能看懂,其实会2D也是相通的哈。。。也希望有大虾来指点。。。并且还有一个渗流速度的问题?我一直想把这个渗流速度怎样记录下来,可惜还是不知道怎么弄,希望大虾能给个意见!!!谢谢亲们咯
title
Steady state flow through a vertical embankment - case 1 ;一个竖向坝基上的稳态渗流之情况一
def setup
   c_perm = 1e-10 ; 渗透系数1e-4cm/s
   c_poro = 0.3 ; 孔隙率
   c_kw   = 1e3 ; 流体模量
   c_L    = 9. ; 模型长度
   c_h1   = 6. ; 模型高度
   c_h2   = 1.2 ; 含水层厚度
end
setup
config fl
gen zone brick size 30 1 20 p1 c_L 0 0 p2 0 0.15 0 p3 0 0 c_h1 ; 长10宽0.15高6的长方体几何模型
; --- fluid flow model ---
model fl_iso
prop perm c_perm poros c_poro; default value:poros 0.5    biot_c 1 ;赋渗透系数和孔压值
set fl biot off
ini fmodulus c_kw
ini sat 0.0
ini sat 1 range z -.1 1.1999 ; 含水层饱和度赋1
ini sat 1 range x -.0001 .0001 ; 左边界饱和度赋1???不解何意(应该是外边界的水头高,应保持饱和)
ini pp 1.2e4 grad 0 0 -1e4 range z -.1 1.1999 ; 含水层孔压值由上至下线性增加
fix pp range x 8.99 9.01 ; 固定右侧孔压值
ini pp 6e4 grad 0 0 -1e4 range x -.0001 .0001 ; 左侧孔压由上至下线性增加
fix pp range x -.0001 .0001 ; 并将左侧孔压固定
; --- settings ---
ini fdensity 1e3
ini ftens 0.0
set gravity 0 0 -10
set mech off ; 力学计算关闭
set fl on ; 渗流计算开启
; --- test ---
solve ratio 1.e-3 ; 以最大不平衡力比率为1e-3控制计算
save ch2a.sav
def qflac ; 定义流量记录
   qval= 0.0 ; 置初值归0
   pnt = gp_head ; 节点指针
   loop while pnt # null ; 节点指针非零即循环
      fval = gp_xpos(pnt) - 0.001 ; 指针节点的x坐标减0.001函数
      if fval < 0.0 then ; 若函数小于0
         qval =qval + gp_flow(pnt) ; 那么将节点不平衡流量计入总流量
      end_if
      pnt = gp_next(pnt) ; 指针跳转
   end_loop
   qflac = qval /0.15   ; scale for unit thickness ; 单位长度(0.15)的流量
   qsol= 1e-10*1e3*10.*(6.*6.-1.2*1.2)/(2.*9.) ; 单位换算系数m/s???后面的高度换算代表什么不解何意——这个应该是理论值-但是我还是不知道为什么要这么计算?(应该是按达西定律来的,q=kiA,其中1e-10*1e3*10.是k的单位换算从FLAC单位变成了m/s,然后(6.*6.-1.2*1.2)/(2.*9.)其实是i与A的合并,i=h/L,h=6-1.2,L=9,由于长度方向为1所以A=a=6+1.2,然后那个2是一半模型 ),上一个是数值解的值
end
print qflac qsol ; 输出以便查看理论和数值解的差别
pau
def seepage_face
   array h2i(3),h2f(3)
   h2i(1) = c_L
   h2i(2) = 0.
   h2i(3) = 1.2
   h2f(1) = c_L
   h2f(2) = 0.
   h2f(3) = 1.8
   status = set_line_width(2)
   status = draw_line(h2i,h2f) ; 一条线由首未点构成?但这个status是什么东东还不明白
end
plot create view_case1
plot set plane origin 0 1e-5 0 normal 0 1 0
plot add flow plane
plot add grid plane
plot add fish seepage_face ; 注意这个命令流?
plot show

T-MACLeo 发表于 2011-12-10 22:55:15

我才看到哈,这位朋友是去年4月发的帖,活跃程度也不高,可能已经离坛了:我发的3D和他的还不完全一样哈,我的是左右是渗流边界,他的是上下是渗流边界,他记录的是渗流边界的流量,我的程序记录的是全部的不平衡流量,希望大家有研究的探讨探讨哈,我的QQ:454211462 创建的QQ群:102289697
我还有以下问题哈:
1、命令流中flow=qt?这个qt是什么东西?没出现过吖,还是是一个内部变量我孤陋寡闻咯?
2、有渗流速度这样一个现成的变量吗?如果没有的话,可能会涉及到一些理论知识,我要怎么编程呢?请教大虾,最好是2D的哦,不过知道3D的命令流的话也可作为一个参照,先谢谢大家!!!

dulibing0622 发表于 2012-6-8 18:04:28

你好,楼主。你的flac2d例子,在FLAC帮助里的哪一页啊,不知道怎么寻找。谢谢了
:)

povop 发表于 2012-12-6 16:41:35

同求gflow的用法啊!

xu1793543284 发表于 2017-4-15 16:31:32

T-MACLeo 发表于 2011-12-10 22:55
我才看到哈,这位朋友是去年4月发的帖,活跃程度也不高,可能已经离坛了:我发的3D和他的还不完全一样哈, ...

如果是隧道开挖应该记录的是,渗流边界的渗流量,如果隧道是五心圆该怎么用fish语言实现这个命令?大虾,可否指导一下

YANCHUAN121314 发表于 2018-11-26 22:21:41

xu1793543284 发表于 2017-4-15 16:31
如果是隧道开挖应该记录的是,渗流边界的渗流量,如果隧道是五心圆该怎么用fish语言实现这个命令?大虾, ...

你好,请问你这个问题解决了吗、,我现在和你遇到一个一样的

xu1793543284 发表于 2018-12-6 19:02:44

YANCHUAN121314 发表于 2018-11-26 22:21
你好,请问你这个问题解决了吗、,我现在和你遇到一个一样的

大体上解决了。你现在解决了吗

林刻舟 发表于 2018-12-28 20:32:30

YANCHUAN121314 发表于 2018-11-26 22:21
你好,请问你这个问题解决了吗、,我现在和你遇到一个一样的

记下你的边界条件,每个圆的方程和圆心,用fish写每段圆的范围,分开写函数就可以了

YANCHUAN121314 发表于 2019-1-14 15:26:44

林刻舟 发表于 2018-12-28 20:32
记下你的边界条件,每个圆的方程和圆心,用fish写每段圆的范围,分开写函数就可以了 ...

你好,可以用QQ联系下**?主要有几个地方没懂:handshake

YANCHUAN121314 发表于 2019-1-14 15:28:31

林刻舟 发表于 2018-12-28 20:32
记下你的边界条件,每个圆的方程和圆心,用fish写每段圆的范围,分开写函数就可以了 ...

谢谢你呀,我QQ362974588:handshake
页: [1]
查看完整版本: 关于flac流量计算变量gflow(i,j)的困惑