一般遇到的线性项仅与z轴成线性,因此本文仅讨论线性项与z轴成线性关系的情况,此时,计算式位于(x,y,z)处的项值计算公式变为:
zone initialize stress-zz S(0) grad 0 0 grad(z)
zone initialize stress-xx μ*S(0) grad 0 0 μ*grad(z);μ为侧压力系数
zone initialize stress-yy μ*S(0) grad 0 0 μ*grad(z)
由此可见,在一般的梯度施加中,只需要确定S(0)与grad(z)即可,梯度计算示意图见图2:
以初始化浅埋工况的自重应力为例(侧压力系数取0.5),模型尺寸为10m*10m*10m,模型密度取为1000kg/m^3,重力加速度取为10m/s^2。分两个工况模拟,工况1的底面z坐标为0,工况2的底面z坐标为-3。
工况1:即z2=0,z1=10;模型顶部的自重应力为S1=0,底部的自重应力为S2=-1e5Pa。由式(3)计算得到梯度grad = (-1e5-0)/(0-10)=1e4Pa/m;S(0) = -1e5。因此工况1的命令流如下:
;模型底面z坐标为0
model new
zone create brick size 10 10 10
zone cmodel assign mohr-coulomb
zone property bulk 3e8 shear 1e8 cohesion 1e6 friction 15
zone initialize density 1000
zone initialize stress-zz -1e5 grad 0 0 1e4
zone initialize stress-xx -5e4 grad 0 0 5e3
zone initialize stress-yy -5e4 grad 0 0 5e3
图3 stress-zz云图(工况1)
图4 stress-xx云图(工况1)
;模型底面z坐标为-3
model new
point 2(0,10,-3) point 3(0,0,7) size 10 10 10
zone cmodel assign mohr-coulomb
zone property bulk 3e8 shear 1e8 cohesion 1e6 friction 15
zone initialize density 1000
zone initialize stress-zz -7e4 grad 0 0 1e4
zone initialize stress-xx -3.5e4 grad 0 0 5e3
zone initialize stress-yy -3.5e4 grad 0 0 5e3
运行上述命令流后,模型的三个正应力云图如下:
图7 stress-xx云图(工况2)
图8 stress-yy(工况2)
======总结======
计算梯度时,首先要知道线性项的首位坐标以及对应的项值,通过直线方程求得斜率(grad);令z=0即可求得S(0)。施加项可包括应力、速度、孔压等项目,当所施加项与x/y/xyz轴成线性时,计算方法相同。