由于flac最初用来岩石分析,而其对裂隙流计算方面考虑不足,所以造成许多人认为flac在渗流方面比较弱的概念。
上面例子中,set fluid biot 只是考虑介质的可压缩性参数,对于水介质而言,在计算中可以先不考虑,考虑流故耦合时,可以用ini fmod 2e9及set fluid on考虑问题,在耦合分析前,建议必须先达到固体计算的平衡,负责计算结果有,但错对不感保证。渗流计算与时间参数密切相关(非稳态流到稳态流),所以流固耦合问题时间参数非常关键。手册中对此提出很多建议,比较难理解。
把手册中几个例子彻底搞明白应该收获很大。
希望大家共同进步,逐渐深入。
记住概念:
ko为有效应力之比,
ini应力为总应力
按此原则计算初始应力场
水平应力=k0×竖向有效应力+水应力
在FLAC3D中,耦合计算模式为间接耦合模式. 因此在计算过程中,必须有一个"主master"与"从slave"的计算关系.设置子步是控制"从"计算的计算时间(计算步数),此时即使"从"计算精度大于计算控制精度也会中止"从"计算,进入"主"步中.
如果要更好理解Flac耦合分析,建议你首先理解耦合分析理论,这样你就知道该怎么设置参数,和为什么要设置这些参数了.
substep只是一个计算中人工干预的辅助手段,有时计算中不能够达到所期望的最小不平衡速率(如默认的1e-5),就会不停的计算下去,实际运行中,若不必达到这种平衡就转向主计算,则可以通过substep来中止,对于初步分析规律性的东西,比较实用。负责snustep默认计算很长,不利于程序的调试及对计算结果的认识
coupling problem must have a master and slave. In general, we set mechanical cycle to slave. that means when the hydraulic condition changes, it is need some cycling step to response this variation. when new mechanical balance is satisfied, the calculation of mechnics will stop and the hydraulic cycling begin.
to ruigrate,
from my opinion, I usually use substep =1000. however before make coupled calculaiton, you should make the mechanical calculation first and get to balance in mechanical system. then you can make coupled calculation, and use that value.
in fact, the substep number is not very important. if the mechnical ratio is less than the given value, the calculation will be updated no matter how many substep it is.
谢谢hh199422兄弟的回复,你的更进一步的意思就是说不要在乎substep的取值,只要mech substep够大就行了,是吗?这样做我觉得对保证计算精度还是很有好处的,计算时间先不管了。呵呵!
set flow on 即选择是否要进行渗流分析,其前提是要set fluid on方可以!off就是相反了。但是,set fluid on以后不一定进行set flow on的计算,这点我的理解(有待证实)是,仅有set fluid on的话,就是把里面的pp当作是静水压力来处理的,而当set flow on 打开以后,就可以进行真正意义上的渗流分析了!再一个,set flow on的一个前提必须设定perm值(渗透系数),否则程序无法继续进行!而set fluid on就没有那么严格,只要是config fluid 以及设定模型以及fmod以后即可以开始计算了。
set mech on就表示把力学计算这部分打开,在默认的情况下,是打开的。在流固耦合有一节中讲到,当只要使系统产生水压力的分布,而不需要由于机械变形(mechanical deformation)而产生的pp的时候,就必须要set mech off,也就是说这个时候只有fluid的计算,而没有mechanical的计算了。
流固耦合特征长度Lc和单元最小长度Lz,是流固耦合的关键参数,但是呢?一般在单元网格划分时没有考虑的,这个也无关紧要。只是在确定solve age **时,换句话说,就是确定流体扩散时间tf(fluid time)和关键时步增量tcr(也就是流固耦合计算时,显示的8个变量的最后一个变量)的关键参数。
具体到模型,那个算是Lc及Lz呢?欢迎大家共享您的观点!我的观点是:Lc是流线的最长长度,从流入点到透水边界的长度;Lz估计是渗透边界处的最小单元尺寸。我不确定哈,所以希望大家能給予您正确的观点!!
这个问题很有价值,不知大家为何没兴趣?
1、隧道远场边界设定,需要 apply pp 否?感觉上需要,但manul上的例子,也没有提供远场边界,请各位强人指示。
2、隧道开挖边界,需要 apply pp 0 否? 个人认为需要,因为默认是不透水边界,即使 mo fl_null, mo null,开挖土,开挖水,边界还是要 apply pp 0。
3、初始应力场的产生。
syy=(土干密度+n*水密度)*gh (自重方向)
sxx={K*[土干密度+(n-1)*水密度]+水密}*gh (x,z水平方向)
上两式容易理解,但问题在于 ,其中已经含有远场水土的综合力学作用,是否再需要考虑远场的 apply pp ? 好像不需要考虑
不考虑,默认为不透水,觉得有点怪异?
在手册中有这么一种说法,就是为了防止初始的孔隙水里出现负值的情况,其具体的命令可以参考手册中“流固耦合”一章。好像有pcut这么一个命令,就是当你的程序中计算产生了pp值,一旦它出现负值的时候,程序会自动将其pp值设置为零
渗透性的定义是渗透系数(m/sec)除以水的容重(Pa/m),所以其单位就成了:m2/Pa*sec