function plotDislayer(i, k ,r,OutputRs, type) %i:时间点,k是从上至下数的层位,type: 1是压力场 figure('color','w') [ downgrid, frontgrid ,leftgrid, rightgrid, backgrid, upgrid ] = preplot_dislayer( r,k ); coordinate=r.coordinates; nodes=r.nodes; nx=r.nx; ny=r.ny; nz=r.nz; % order=[1,2,4,3,1,5,6,8,7,3,4,8,6,2,1];%用以fill函数作图 % % nmc = size(nodes,1);%基质网格数量 % nmc = nx*ny; % % nel = size(nodes,2);%每个基质网格所包含的点数量 % nel=size(order,2); if type == 1 v = OutputRs{i}.p; % v = log(r.kx); elseif type == 2 % v = 1-OutputRs{i}.sw -OutputRs{i}.sg;%含油饱和度 v = 1-OutputRs{i}.sw;%含油饱和度 elseif type == 3 v = OutputRs{i}.sg;%含油饱和度 else v = OutputRs{i}.sw;%含油饱和度 end % 底面 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'); set(gca,'FontName','Times New Roman','FontSize',10,'FontWeight','bold'); xlabel('x, m'); ylabel('y, m'); zlabel('z, m'); view(2); % fill(x,y,dis); axis equal % axis off axis tight colormap jet % caxis([12,22]); colorbar caxis([0.2,0.8]);