Files
3D_EDFM_SIM-X/算例1-组分流-不规则非均质计算域/preprocess_heterogeneous.m
T
2026-03-13 11:24:41 +08:00

26 lines
814 B
Matlab

% 数据读取
nx = r.nx;
ny = r.ny;
nz = r.nz;
% dx = r.dx;
% dy = r.dy;
% dz = r.dz;
cell_mid_coords = r.cell_mid_coords;
% 不规则边界设定
boundary = [0,100;
800,50;
1000,150;
1000,350;
800,450;
0,400;
0,100];
% 将不在边界内的网格的valid值赋为0
valid_in = ones(nx*ny*nz);
in = inpolygon(cell_mid_coords(:,1),cell_mid_coords(:,2),boundary(:,1),boundary(:,2));
valid_in(~in) = 0;
% 举例,给出渗透率函数形式 k(x,y) = (x/500+y/250+1)*1e-3 D,或者通过已知点插值计算等,都行
kx = (cell_mid_coords(:,1)/500+cell_mid_coords(:,2)/250+1)*1e-3;
ky = kx;
kz = kx;
% 举例,给出孔隙度函数形式 phi(x,y) = (x/20000+y/10000+0.1),或者通过已知点插值计算等,都行
pori = (cell_mid_coords(:,1)/20000+cell_mid_coords(:,2)/10000+0.1);