Files
3D_EDFM_SIM-X/post processor/plot functions/plotDis_ECLIPSE.m
T
2026-03-13 11:24:41 +08:00

130 lines
3.2 KiB
Matlab

function plotDis_ECLIPSE( r,ECLIPSE_data)
%为便于作图进行前处理
[ downgrid, frontgrid ,leftgrid, rightgrid, backgrid, upgrid ] = preplot_dis( r );
coordinate=r.coordinates;
nodes=r.nodes;
% nmc = size(nodes,1);%基质网格数量
% % nel = size(nodes,2);%每个基质网格所包含的点数量
% order=[1,2,4,3,1,5,6,8,7,3,4,8,6,2,1];%用以fill函数作图
% nel=size(order,2);
v =reshape( ECLIPSE_data',[],1);%含油饱和度
% 底面
order=[1,2,4,3,1];
nel=size(order,2);
nmc=size(downgrid,2);
dis = zeros(nel, nmc);
x = zeros(nel, nmc);
y = zeros(nel, nmc);
z = zeros(nel, nmc);
for i = 1 : nmc
for j = 1 : nel
x(j, i) = coordinate(nodes(downgrid(i),order(j)), 1);
y(j, i) = coordinate(nodes(downgrid(i),order(j)), 2);
z(j, i) = coordinate(nodes(downgrid(i),order(j)), 3);
dis(j, i) = v(downgrid(i));
end
end
fill3(x,y,z,dis,'edgeColor','interp');
hold on
%左面
order=[1,5,7,3,1];
nel=size(order,2);
nmc=size(leftgrid,2);
dis = zeros(nel, nmc);
x = zeros(nel, nmc);
y = zeros(nel, nmc);
z = zeros(nel, nmc);
for i = 1 : nmc
for j = 1 : nel
x(j, i) = coordinate(nodes(leftgrid(i),order(j)), 1);
y(j, i) = coordinate(nodes(leftgrid(i),order(j)), 2);
z(j, i) = coordinate(nodes(leftgrid(i),order(j)), 3);
dis(j, i) = v(leftgrid(i));
end
end
fill3(x,y,z,dis,'edgeColor','interp');
%右面
order=[2,4,8,6,2];
nel=size(order,2);
nmc=size(rightgrid,2);
dis = zeros(nel, nmc);
x = zeros(nel, nmc);
y = zeros(nel, nmc);
z = zeros(nel, nmc);
for i = 1 : nmc
for j = 1 : nel
x(j, i) = coordinate(nodes(rightgrid(i),order(j)), 1);
y(j, i) = coordinate(nodes(rightgrid(i),order(j)), 2);
z(j, i) = coordinate(nodes(rightgrid(i),order(j)), 3);
dis(j, i) = v(rightgrid(i));
end
end
fill3(x,y,z,dis,'edgeColor','interp');
%前面
order=[1,2,6,5,1];
nel=size(order,2);
nmc=size(frontgrid,2);
dis = zeros(nel, nmc);
x = zeros(nel, nmc);
y = zeros(nel, nmc);
z = zeros(nel, nmc);
for i = 1 : nmc
for j = 1 : nel
x(j, i) = coordinate(nodes(frontgrid(i),order(j)), 1);
y(j, i) = coordinate(nodes(frontgrid(i),order(j)), 2);
z(j, i) = coordinate(nodes(frontgrid(i),order(j)), 3);
dis(j, i) = v(frontgrid(i));
end
end
fill3(x,y,z,dis,'edgeColor','interp');
%后面
order=[3,4,8,7,3];
nel=size(order,2);
nmc=size(backgrid,2);
dis = zeros(nel, nmc);
x = zeros(nel, nmc);
y = zeros(nel, nmc);
z = zeros(nel, nmc);
for i = 1 : nmc
for j = 1 : nel
x(j, i) = coordinate(nodes(backgrid(i),order(j)), 1);
y(j, i) = coordinate(nodes(backgrid(i),order(j)), 2);
z(j, i) = coordinate(nodes(backgrid(i),order(j)), 3);
dis(j, i) = v(backgrid(i));
end
end
fill3(x,y,z,dis,'edgeColor','interp');
%上面
order=[5,6,8,7,5];
nel=size(order,2);
nmc=size(upgrid,2);
dis = zeros(nel, nmc);
x = zeros(nel, nmc);
y = zeros(nel, nmc);
z = zeros(nel, nmc);
for i = 1 : nmc
for j = 1 : nel
x(j, i) = coordinate(nodes(upgrid(i),order(j)), 1);
y(j, i) = coordinate(nodes(upgrid(i),order(j)), 2);
z(j, i) = coordinate(nodes(upgrid(i),order(j)), 3);
dis(j, i) = v(upgrid(i));
end
end
fill3(x,y,z,dis,'edgeColor','interp');
% 绘制油藏框架
% plotframe( r );
% axis equal
axis tight