1、基于 DDA 理论模拟山体垮塌过程摘要:非连续变形分析方法(DDA 理论)是以研究不连续位移和变形为目的的一种数值方法,本文利用 DDA 理论处理块体间相互作用,通过 DDA 理论的弹性理论位移变分法建立的总体平衡方程式,得到离散和不连续块体的地质系统大位移破坏分析得到的唯一解。通过 MATLAB 编写程序,利用其动画功能进行运动模拟。同时处理其他块体的相互滑动的模拟。 关键词: DDA 理论; 动画; MATLAB; 块体位移 中图分类号: J218.7 文献标识码: A 文章编号: 1 .DDA 基本理论简介 DDA 理论解决的是有限单元类型的网格,但所有的单元是被事先存在的不连续缝所包围
2、的实际隔离块体。DDA 法的单元或块体可以是任何凸状形或凹状形的,甚至可以是带孔的多节点的多边形。基本理论: 1.使总势能最小化建立平衡方程; 2.选择位移为联立方程式的未知数; 3.把刚度、质量和荷载的子矩阵加到联立方程的系数矩阵中去 4.特有特点:完全的运动学及其数值可靠性、严格的平衡要求、正确的能量守恒和高计算效率。所以接近实际。 1.1 块体的位移和变形 1.1.1 块体的位移和变形 大位移和大变形是由分步的小位移和小变形累加形成的,每一步中,所有位移是小的,且位移函数可简化如下。 设每一块体通体有常应力和常应变,块体任一点可用六个位移不变量表示: 前三个是 x,y 方向刚体位移及旋转
3、角度;后三个是该块体的法向和切向的应变。 1.1.2 块体变形矩阵 点(x,y)的总位移(u,v)是包含所有变量的位移累加, 1.1.3 联立方程式 各个块体是连接的,并靠块体间的接触和对单个块体的位移约束形成一个块体系统。 联立方程有以下的形式:Kij Di=Fi(2.1.17)因为每个块体有六个自由度方程式(2.1.17)给出的系数矩阵中每个元素Kij是 61 子矩阵。Di和Fi是 61 子矩阵,此处Di代表块体 i 的变形变量(d1i,d2i,d3i,d4i,d5i,d6i),Fi 是在块体 i 上分配给六个变形变量的荷载。子矩阵 Kij 与块体 i 的材料特性和Kij有关,此处 ij,
4、是由块体i 和块体 j 之间的接触所规定的。用总势能最小化来建立方程并直接求解。1.2 单一块体的应力、应变及荷载分析 1.2.1 弹性子矩阵 块体 i 的弹性应力所产生的应变能是 此处积分是对第 i 块块体的全部面积的。 求导计算应变能最小化: 被加到总体方程(2.1.17)的子矩阵Kii中 1.2.2 初始应力 对第 i 块体,初始势能为 求导使最小化:fr=-S,r=16 它被加到总体方程式(2.1.17)的Fi中去 1.2.3 体积荷载 (fx,fy)是作用在第 i 块体的体积上常体积荷载,(x0,y0)是该块体的重心, 则 x0=Sx,/S,y0=Sy/S 常体积荷载(fx,fy)的
5、势能是 dxdy 式中(u,v)是块体 i 任意点(x,y)的位移.根据公式(2.2.11) ,因(x0,y0)被取在重心,最后 4 列为零 1.3 块体系统运动学 1.3.1 三种接触 1.一个小于的凸角和一个大于角之间的接触。 2.一条边和一个凸角之间的接触。 3.两个凸角间的接触。 1.3.2 法向弹簧和切向子矩阵 er=(y2-y3)t1r(x1,y1)+(x3-x2)t2r(x1,y1)/l gr=(y3-y1)t1r(x2,y2)+(x1-x3)t2r(x2,y2)/l+(y1-y2)t1r(x3,y3)+(x2-x1)t2r(x3,y3)/l 的微商 它被加到总体方程的子矩阵Ki
6、i中去 的微商它被加到总体方程的子矩阵Kij中去 的微商它被加到总体方程的子矩阵Kji中去 的微商它被加到总体方程的子矩阵Kjj中去 的微商它被加到总体方程的子矩阵Fi中去 的微商它被加到总体方程的子矩阵Fj中去 以上 r,s=16 1.3.3 摩擦力子矩阵 在位移为时能量的微商 在位移为时能量的微商 2.总体思路 拿滑块沿折斜面下落算列举例: 1.首先,确定两个弹性体的形状、材料、质量以及嵌入所加弹簧子矩阵的刚度、初始速度、时间步设定。弹性子矩阵、体积荷载:块体产生的弹性应变能,计算最小应变能加到总体刚度矩阵中;初始应力:对于块体的初始应力,取最小化后加到总体 F 矩阵中去;体积荷载作为外力加到总体 F 矩阵中去 2.然后算上体积力的作用并加到相应总体矩阵中。 惯性力:每一步位移产生的惯性力,产生相应的刚度矩阵和 F 矩阵 弹簧子矩阵:滑块的角点嵌入斜面后会受到法向和切向力,这时就要分别考虑法向和切向弹簧子矩阵。 3. 这时总体平衡方程在这一个时间步内建立完成,通过此线性方程组解出质心的广义位移。然后用块体各顶点与质心的几何关系算出每一个顶点的位移,分别加到上一部坐标中,并且画出图形。经多次循环,画出每步运动情况。对多个块体,需要逐个判断块体两两接触嵌入情况。所以在多个块体条件下每一时间步都由大量运算。 参考文献 1周建兴 MATLAB 从入门到精通