✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。
✅ 具体问题可以私信或扫描文章底部二维码。
(1)针对传统注浆理论中将复杂多孔介质简化为均匀平行毛细管模型所带来的局限性,构建了基于分形几何理论的多孔介质渗透注浆扩散理论模型。传统的模型往往忽略了岩土体内部孔隙结构的随机性、自相似性以及迂曲特性,导致理论计算值与工程实测值偏差较大。本研究引入分形维数作为描述孔隙空间填充能力的核心参数,结合孔隙迂曲度分形模型,重新推导了多孔介质的渗透率表达式。在此基础上,选用了宾汉姆(Bingham)流体作为浆液的本构模型,充分考虑了浆液在流动过程中的屈服应力与塑性粘度特性。通过将分形渗透率方程与Bingham流体流变方程联立,建立了包含时间、注浆压力、浆液流变参数及地层分形参数的非线性扩散方程。该模型赋予了各个参数明确的物理意义,能够定量描述地层微观结构参数(如孔隙率、最大/最小孔径比、迂曲度维数)对宏观浆液扩散半径的非线性影响机制。通过室内模拟注浆试验,利用不同级配的砂土介质进行验证,结果显示基于分形理论的模型计算结果与试验数据的吻合度显著优于传统柱形孔隙模型,证明了分形理论在描述非均匀多孔介质注浆扩散问题上的先进性。
(2)为了解决解析解在处理复杂边界条件和时变参数时的困难,开发了一种改进的步进式数值计算算法。在实际工程中,注浆压力往往不是恒定的,而是呈现脉动或阶梯状变化,且浆液的粘度会随时间发生时变(时变性)。传统的解析方法难以应对这些动态变化。本研究提出的步进式算法将整个注浆过程离散为微小的时间步长,在每一个时间步内,假设压力和流变参数保持恒定,利用前一步的扩散状态作为当前步的初始条件进行迭代计算。该算法特别考虑了浆液粘度在空间上的非均匀分布以及脉动注浆压力对扩散前锋的影响。通过与Stokes-Brinkman两相流水平集法(Level Set Method)的模拟结果进行对比,证明了该步进式算法在保证计算精度的前提下,极大地提高了计算效率,避免了求解复杂偏微分方程组的高昂计算成本。此外,利用MATLAB对COMSOL Multiphysics进行了二次开发,实现了注浆过程的可视化仿真,能够直观地展示浆液在不同时刻的压力场分布和饱和度分布,为隐蔽工程的注浆效果评估提供了强有力的工具。
(3)深入研究了单一粗糙裂隙及裂隙网络中的浆液-岩体耦合(Hydro-mechanical Coupling)效应。在裂隙注浆过程中,高压浆液会作用于裂隙壁面,导致裂隙开度发生弹性或弹塑性变形,而裂隙开度的变化反过来又会显著影响浆液的流动阻力和压力分布,形成复杂的耦合作用。基于分形理论描述裂隙表面的粗糙度,建立了考虑粗糙度退化效应的耦合控制方程。研究发现,当考虑耦合效应时,随着注浆压力的升高,裂隙开度增大,导致裂隙的相对粗糙度降低,注浆孔附近的相对粗糙度降幅可达40%以上,这极大地降低了流阻,使得实际注浆压力远低于不考虑耦合效应时的计算值。在不考虑耦合效应的模型中,由于忽略了裂隙的扩张,计算得到的注浆压力往往偏大,误差可达两倍以上。进一步地,针对复杂的裂隙网络注浆,采用蒙特卡洛法和拉丁超立方抽样技术,结合分形几何参数,生成了三维随机分形裂隙网络模型。在模拟中重点分析了浆液在交叉裂隙中的优势流动路径选择机制,揭示了浆液总是优先沿着流阻最小、开度最大的主裂隙扩散,而后逐渐向次级裂隙充填的规律。通过对阳江抽水蓄能电站引水隧洞的工程实例应用,模拟得到的注浆量与现场实测数据的误差控制在合理范围内,验证了模型在复杂裂隙岩体注浆设计中的实用价值。
function [R_t, P_dist] = fractal_grouting_simulation(P_inj, mu_0, tau_0, phi, D_f, D_t, t_max, dt)
steps = floor(t_max / dt);
R_t = zeros(steps, 1);
R_current = 0.01;
P_dist = [];
r_min = 1e-6;
r_max = 1e-4;
K_fractal = (phi / (3 + D_t - D_f)) * ...
((r_max^(3 + D_t - D_f)) / (r_max^(3-D_f) - r_min^(3-D_f))) * ...
(1 / (1 + mu_0 * 0.1));
for i = 1:steps
t_current = i * dt;
mu_t = mu_0 * exp(0.01 * t_current);
lambda = sqrt(tau_0 / (P_inj * R_current));
if lambda >= 1
dR = 0;
else
grad_P = (P_inj) / (R_current * log(R_current/0.005));
velocity = -(K_fractal / mu_t) * grad_P * (1 - lambda);
dR = velocity * dt;
end
R_current = R_current + dR;
R_t(i) = R_current;
if mod(i, 100) == 0
r_space = linspace(0.01, R_current, 50);
P_step = P_inj * (1 - log(r_space/0.01) / log(R_current/0.01));
P_dist = [P_dist; P_step];
end
end
end
function mesh = generate_fractal_fracture(size, roughness, resolution)
x = linspace(0, size, resolution);
y = linspace(0, size, resolution);
[X, Y] = meshgrid(x, y);
Z = zeros(resolution, resolution);
freq = 1;
amp = 1;
for k = 1:10
Z = Z + amp * (sin(freq * X) + cos(freq * Y));
freq = freq * 2;
amp = amp / (2^roughness);
end
mesh.X = X;
mesh.Y = Y;
mesh.Z = Z;
end
% Execution Block
P_injection = 5e5;
viscosity = 0.05;
yield_stress = 10;
porosity = 0.3;
fractal_dim_pore = 2.5;
fractal_dim_tort = 1.1;
time_total = 3600;
delta_t = 1;
[Radius_Evolution, Pressure_Field] = fractal_grouting_simulation(...
P_injection, viscosity, yield_stress, porosity, ...
fractal_dim_pore, fractal_dim_tort, time_total, delta_t);
figure;
plot(linspace(0, time_total, length(Radius_Evolution)), Radius_Evolution);
grid on;

如有问题,可以直接沟通
👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇
657

被折叠的 条评论
为什么被折叠?



