地下水对模型的影响有两种方式:一种是只考虑静态孔隙压力(Pore Pressures),另一种是考虑地下水流动的水-力相互作用。下面仅讨论前者,即静态孔隙压力,单元内的孔隙压力用来计算有效应力,确定单元是否破坏,孔隙压力以相同的命令分配给节理的接触。节理的有效法向应力用来确定接触是否破坏,这意味着不考虑水的流动,即不使用下面两个命令: model configure fluid on
model configure matrixflow
block gridpoint initialize pore-pressure
block insitu pore-pressure
block water table
如果考虑地下水,则假定材料始终是饱和的,不存在非饱和流,水位以上的孔隙压力为0。孔隙压力只能在网格点(gridpoint)上定义,使用命令: block gridpoint initialize pore-pressure
可以使用block insitu pore-pressure命令定义初始的孔隙压力(Pore pressures)。gradient关键字定义变化的孔隙压力。与应力初始化一样,设定的值是原点(0,0,0)的孔隙压力,梯度是指在单位长度上孔隙压力的变化。 block insitu pore-pressure 1e6 gradient 0 0 9810
也可以用block water设定孔隙压力,根据水位的位置、给定的流体密度和重力自动计算孔隙压力。水位可以定义为一个平面,也可以定义为一个几何曲面(一组多边形组成的面,如dxf文件)。该命令为所有水位以下的块体和接触分配孔隙水压力,然后以有效应力方式计算单元破坏。在使用这个命令之前,必须定义重力(model gravity 0 0 -9.81),孔隙压力梯度由重力矢量的方向决定。 model new
model random 10000
block create brick 0,100 0,100 0,100
block cut joint-set dip 60 dip-direction 90 spacing 15
block zone generate edgelength 10
model gravity 0 0 -9.81
block water density 1000
block water plane normal 0.17,0,0.98 origin 50,50,90
孔隙压力不受单元体积变化的影响,当使用WATER命令时,地下水位以上的单元需要使用干密度,而地下水位以下的单元需要使用饱和密度。block water的关键字有:clear, density, list, set, skip和plane。此外,block water density 1000与block fluid property density 1000的作用相同:model solve ratio 1e-7
block gridpoint initialize displacement 0 0 0
block fluid property density 1000.0
block water plane origin 0 0 10 normal 0 0 1
model solve