26 lines
814 B
Matlab
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); |