亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? driven_cavity_div_rk2.m

?? Matlab script for solution to the driven cavity problem on a staggered grid using a divergence formu
?? M
字號:
% McDermott
% 1-15-2007
% driven_cavity_div_RK2.m
%
% Simple staggered primitive variable treatment for the driven
% cavity problem using an RK2 time integrator.

close all
clear all

Lx = 1; % cavity dimension in x
Ly = 0.25; % cavity dimension in y
nx = 64; % number of pcells in x
ny = 16; % number of pcells in y
dx = Lx/nx; % uniform grid spacing in x
dy = Ly/ny; % uniform grid spacing in y
twodx = 2*dx;
twody = 2*dy;
dxdx = dx^2;
dydy = dy^2;
U0 = 1; % lid velocity
nu = 1/1000; % kinematic viscosity (1/Re)
Fo = 0.5; % Fourier number
CFL = 0.5; % Courant number
dt_dif = Fo/(nu*(1/dxdx+1/dydy)) % time step based on Fo
dt_adv = CFL*min(dx,dy)/U0 % time step based on CFL
dt = min([dt_dif,dt_adv]) % time step used in Forward Euler integrator
T = 1000*dt; % total simulation time

onethird = 1/3;
eightthirds = 8/3;

% STAGGERED GRID ARRANGEMENT:
%
% Let this represent the bottom left pcell control volume.
% Velocities are stored on their respective faces.  Normal stresses
% and normal advective fluxes are stored at the pcell center.
% Off-diagonal stresses and advective fluxes are stored at vertices
% marked by the Xs.  The bottom left most element is prescribed the
% indices (1,1).  Because of this, some of the differencing
% below looks confusing, but this seems somewhat unavoidable.
%
%       uv(1,2)                                  uv(2,2)
%       tau12(1,2)          ^ v(1,2)             tau12(2,2)
%       X-------------------|--------------------X
%       |                                        |
%       |                                        |
%       |                                        |
%       |                                        |
%       |                                        |
%       |                                        |
%       |                                        |
%       |                                        |
%      ---> u(1,1)          O                   ---> u(2,1)
%       |                  phi(1,1)              |
%       |                  uu(1,1)               |
%       |                  vv(1,1)               |
%       |                  tau11(1,1)            |
%       |                  tau22(1,1)            |
%       |                                        |
%       |                                        |
%       |                   ^ v(1,1)             |
%       X-------------------|--------------------X
%       uv(1,1)                                  uv(2,1)
%       tau12(1,1)                               tau12(2,1)
%

% initialization
u = zeros(nx+1,ny);
v = zeros(nx,ny+1);
u_star = zeros(nx+1,ny);
v_star = zeros(nx,ny+1);
uu = zeros(nx,ny);
vv = zeros(nx,ny);
tau11 = zeros(nx,ny);
tau22 = zeros(nx,ny);
uv = zeros(nx+1,ny+1);
tau12 = zeros(nx+1,ny+1);
b_vec = zeros(nx*ny,1);

% grid
x = linspace(dx/2,Lx-dx/2,nx);
y = linspace(dy/2,Ly-dy/2,ny);
for j = 1:ny
    X(:,j) = x;
end
for i = 1:nx
    Y(i,:) = y;
end

% Build A
A = build_sparse_matrix_neumann(nx,ny,dx,dy);

for t = dt:dt:T
    
    % STAGE 1
    u0 = u;
    v0 = v;

    % compute normal stresses
    for j = 1:ny
        for i = 1:nx     
            uu(i,j) = ( 0.5*( u(i+1,j)+u(i,j) ) )^2;
            vv(i,j) = ( 0.5*( v(i,j+1)+v(i,j) ) )^2;
            tau11(i,j) = -2*nu*( u(i+1,j)-u(i,j) )/dx;
            tau22(i,j) = -2*nu*( v(i,j+1)-v(i,j) )/dy;
        end
    end
    
    % compute interior off-diagonal stresses
    for j = 2:ny
        for i = 2:nx
            uv(i,j) = 0.25*( u(i,j)+u(i,j-1) )*( v(i,j)+v(i-1,j) );
            tau12(i,j) = -nu*( (u(i,j)-u(i,j-1))/dy + (v(i,j)-v(i-1,j))/dx );
        end
    end
    
    % bottom wall stress
    j = 1;
    for i = 2:nx
        dudy_wall = ( 0 + 3*u(i,j) - onethird*u(i,j+1) )/dy;
        tau12(i,j) = -nu*dudy_wall;
    end
    % top wall stress
    j = ny+1;
    for i = 2:nx
        dudy_wall = ( eightthirds*U0 - 3*u(i,ny) + onethird*u(i,ny-1) )/dy;
        tau12(i,j) = -nu*dudy_wall;
    end
    % left wall stress
    i = 1;
    for j = 2:ny
        dvdx_wall = ( 0 + 3*v(i,j) - onethird*v(i+1,j) )/dx;
        tau12(i,j) = -nu*dvdx_wall;
    end
    % right wall stress
    i = nx+1;
    for j = 2:ny
        dvdx_wall = ( 0 - 3*v(nx,j) + onethird*v(nx-1,j) )/dx;
        tau12(i,j) = -nu*dvdx_wall;
    end

    % ucell momentum
    for j = 1:ny
        for i = 2:nx-1
            Fu_adv = -( (uu(i,j)-uu(i-1,j))/dx + (uv(i,j+1)-uv(i,j))/dy );
            Fu_dif = -( (tau11(i,j)-tau11(i-1,j))/dx + (tau12(i,j+1)-tau12(i,j))/dy );
            u_star(i,j) = u(i,j) + dt*( Fu_adv + Fu_dif );
        end
    end
    
    % vcell momentum
    for j = 2:ny-1
        for i = 1:nx
            Fv_adv = -( (uv(i+1,j)-uv(i,j))/dx + (vv(i,j)-vv(i,j-1))/dy );
            Fv_dif = -( (tau12(i+1,j)-tau12(i,j))/dx + (tau22(i,j)-tau22(i,j-1))/dy );
            v_star(i,j) = v(i,j) + dt*( Fv_adv + Fv_dif );
        end
    end

    % build source
    for j = 1:ny
        for i = 1:nx
            b(i,j) = ( u_star(i+1,j)-u_star(i,j) )/dx + ( v_star(i,j+1)-v_star(i,j) )/dy;
        end
    end
    b = b/dt;

    % map b to source vector
    for j = 1:ny
        for i = 1:nx
            p = (j-1)*nx+i;
            b_vec(p) = b(i,j);
        end
    end
    % subtract mean for discrete compatibility condition
    b_vec = b_vec - mean(b_vec);

    % solve for phi vector
    phi_vec = A\b_vec;
    % subtract mean for arbitrary solution
    phi_vec = phi_vec - mean(phi_vec);
    phimin = min(phi_vec);
    phimax = max(phi_vec);

    % map phi_vec to grid
    for j = 1:ny
        for i = 1:nx
            p = (j-1)*nx+i;
            phi(i,j) = phi_vec(p);
        end
    end

    % project velocities
    for j = 1:ny
        for i = 2:nx
            u(i,j) = u_star(i,j) - dt*( phi(i,j)-phi(i-1,j) )/dx;
        end
    end
    for j = 2:ny
        for i = 1:nx
            v(i,j) = v_star(i,j) - dt*( phi(i,j)-phi(i,j-1) )/dy;
        end
    end

    % check divergence
    for j = 1:ny
        for i = 1:nx
            b(i,j) = ( u(i+1,j)-u(i,j) )/dx + ( v(i,j+1)-v(i,j) )/dy;
        end
    end
    display(['max stage 1 velocity divergence = ',num2str( max(max(abs(b))) )])
    
    % STAGE 2
    
    % compute normal stresses
    for j = 1:ny
        for i = 1:nx     
            uu(i,j) = ( 0.5*( u(i+1,j)+u(i,j) ) )^2;
            vv(i,j) = ( 0.5*( v(i,j+1)+v(i,j) ) )^2;
            tau11(i,j) = -2*nu*( u(i+1,j)-u(i,j) )/dx;
            tau22(i,j) = -2*nu*( v(i,j+1)-v(i,j) )/dy;
        end
    end
    
    % compute interior off-diagonal stresses
    for j = 2:ny
        for i = 2:nx
            uv(i,j) = 0.25*( u(i,j)+u(i,j-1) )*( v(i,j)+v(i-1,j) );
            tau12(i,j) = -nu*( (u(i,j)-u(i,j-1))/dy + (v(i,j)-v(i-1,j))/dx );
        end
    end
    
    % bottom wall stress
    j = 1;
    for i = 2:nx
        dudy_wall = ( 0 + 3*u(i,j) - onethird*u(i,j+1) )/dy;
        tau12(i,j) = -nu*dudy_wall;
    end
    % top wall stress
    j = ny+1;
    for i = 2:nx
        dudy_wall = ( eightthirds*U0 - 3*u(i,ny) + onethird*u(i,ny-1) )/dy;
        tau12(i,j) = -nu*dudy_wall;
    end
    % left wall stress
    i = 1;
    for j = 2:ny
        dvdx_wall = ( 0 + 3*v(i,j) - onethird*v(i+1,j) )/dx;
        tau12(i,j) = -nu*dvdx_wall;
    end
    % right wall stress
    i = nx+1;
    for j = 2:ny
        dvdx_wall = ( 0 - 3*v(nx,j) + onethird*v(nx-1,j) )/dx;
        tau12(i,j) = -nu*dvdx_wall;
    end
    
    % ucell momentum
    for j = 1:ny
        for i = 2:nx-1
            Fu_adv = -( (uu(i,j)-uu(i-1,j))/dx + (uv(i,j+1)-uv(i,j))/dy );
            Fu_dif = -( (tau11(i,j)-tau11(i-1,j))/dx + (tau12(i,j+1)-tau12(i,j))/dy );
            u_star(i,j) = 0.5*( u0(i,j) + (u(i,j) + dt*( Fu_adv + Fu_dif )) );
        end
    end
    
    % vcell momentum
    for j = 2:ny-1
        for i = 1:nx
            Fv_adv = -( (uv(i+1,j)-uv(i,j))/dx + (vv(i,j)-vv(i,j-1))/dy );
            Fv_dif = -( (tau12(i+1,j)-tau12(i,j))/dx + (tau22(i,j)-tau22(i,j-1))/dy );
            v_star(i,j) = 0.5*( v0(i,j) + (v(i,j) + dt*( Fv_adv + Fv_dif )) );
        end
    end

    % build source
    for j = 1:ny
        for i = 1:nx
            b(i,j) = ( u_star(i+1,j)-u_star(i,j) )/dx + ( v_star(i,j+1)-v_star(i,j) )/dy;
        end
    end
    b = b/dt;

    % map b to source vector
    for j = 1:ny
        for i = 1:nx
            p = (j-1)*nx+i;
            b_vec(p) = b(i,j);
        end
    end
    % subtract mean for discrete compatibility condition
    b_vec = b_vec - mean(b_vec);

    % solve for phi vector
    phi_vec = A\b_vec;
    % subtract mean for arbitrary solution
    phi_vec = phi_vec - mean(phi_vec);
    phimin = min(phi_vec);
    phimax = max(phi_vec);

    % map phi_vec to grid
    for j = 1:ny
        for i = 1:nx
            p = (j-1)*nx+i;
            phi(i,j) = phi_vec(p);
        end
    end

    % project velocities
    for j = 1:ny
        for i = 2:nx
            u(i,j) = u_star(i,j) - dt*( phi(i,j)-phi(i-1,j) )/dx;
        end
    end
    for j = 2:ny
        for i = 1:nx
            v(i,j) = v_star(i,j) - dt*( phi(i,j)-phi(i,j-1) )/dy;
        end
    end

    % check divergence
    for j = 1:ny
        for i = 1:nx
            b(i,j) = ( u(i+1,j)-u(i,j) )/dx + ( v(i,j+1)-v(i,j) )/dy;
        end
    end
    display(['max stage 1 velocity divergence = ',num2str( max(max(abs(b))) )])
    
    % interpolate velocities to cell centers
    for j = 1:ny
        for i = 1:nx
            up(i,j) = 0.5*( u(i+1,j)+u(i,j) );
            vp(i,j) = 0.5*( v(i,j+1)+v(i,j) );
        end
    end
    
    SUBPLOT(2,1,1)
    velmag = sqrt( up.*up + vp.*vp );
    V = linspace(0,1,20);
    %contourf(X,Y,velmag,V); hold on
    %colorbar
    quiver(X,Y,up,vp); hold off
    axis([0 Lx 0 Ly])
    set(gca,'PlotBoxAspectRatio',[Lx Ly 1])
    
    SUBPLOT(2,1,2)
    V = linspace(phimin,phimax,20);
    contourf(X,Y,phi,V)
    colorbar
    set(gca,'PlotBoxAspectRatio',[Lx Ly 1])
    
    pause(0.001)

end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱子伦一区| 成人avav在线| 日韩美女在线视频| 久久精品国产色蜜蜜麻豆| 精品国产亚洲一区二区三区在线观看| 日本v片在线高清不卡在线观看| 欧美一区二区精美| 国产麻豆成人精品| 亚洲视频在线一区二区| 国产区在线观看成人精品| 国产伦精品一区二区三区免费迷| 亚洲国产精品国自产拍av| 91亚洲精品久久久蜜桃网站| 亚洲 欧美综合在线网络| 69堂亚洲精品首页| 国产一区欧美一区| 国产精品国产自产拍在线| 欧美中文字幕一区二区三区| 秋霞午夜av一区二区三区| 久久久夜色精品亚洲| 99久久免费精品高清特色大片| 一区二区三区视频在线看| 91精品国产综合久久福利软件| 国产精品综合视频| 亚洲男人的天堂av| 日韩一区二区免费高清| 波多野结衣中文一区| 亚洲小少妇裸体bbw| 久久久久久99久久久精品网站| 91丨porny丨户外露出| 久久国产精品99精品国产| 亚洲色图清纯唯美| 精品国产三级电影在线观看| 97精品视频在线观看自产线路二| 日日夜夜精品视频天天综合网| 国产人妖乱国产精品人妖| 在线播放视频一区| 99亚偷拍自图区亚洲| 久久精品久久久精品美女| 亚洲黄网站在线观看| 精品国产成人在线影院 | 经典三级视频一区| 亚洲免费观看在线视频| 久久久久久免费网| 91精品国产综合久久小美女| 久久婷婷久久一区二区三区| 日本韩国精品一区二区在线观看| 国内一区二区在线| 人人精品人人爱| 亚洲综合男人的天堂| 国产精品久久看| 久久人人超碰精品| 日韩欧美成人激情| 91精品国产色综合久久不卡蜜臀| 91久久免费观看| 91麻豆精品在线观看| 国产v综合v亚洲欧| 国内成+人亚洲+欧美+综合在线 | 1区2区3区欧美| 久久久综合精品| 欧美成人在线直播| 91精品婷婷国产综合久久| 欧美日韩在线观看一区二区| 91国偷自产一区二区开放时间| 99热在这里有精品免费| 丰满少妇久久久久久久| 国产在线不卡一卡二卡三卡四卡| 久久精品国产99久久6| 男女性色大片免费观看一区二区| 无码av免费一区二区三区试看 | 中文字幕巨乱亚洲| 亚洲精品一区二区三区福利 | 欧美高清精品3d| 色噜噜偷拍精品综合在线| 91丨九色丨国产丨porny| 成人av集中营| 99re视频这里只有精品| 成人综合在线观看| 欧美精品一区二区三区四区| 欧美r级电影在线观看| 精品久久人人做人人爽| 精品处破学生在线二十三| 日韩欧美亚洲一区二区| 精品粉嫩超白一线天av| 久久久久久久性| 国产精品丝袜久久久久久app| 亚洲国产精品成人综合色在线婷婷| 欧美激情综合五月色丁香小说| 欧美经典一区二区三区| 亚洲人亚洲人成电影网站色| 亚洲二区视频在线| 久久精品国产一区二区三| 国产综合久久久久久鬼色| 丰满白嫩尤物一区二区| 91福利在线看| 日韩午夜三级在线| 国产日韩av一区| 一区二区三区日韩精品| 日韩中文字幕91| 精品一区二区三区影院在线午夜| 国产不卡在线播放| 日本韩国一区二区| 制服.丝袜.亚洲.另类.中文| 久久久久久久免费视频了| 亚洲精品视频免费看| 天天操天天干天天综合网| 国产在线精品国自产拍免费| 色94色欧美sute亚洲线路一ni| 欧美日本视频在线| 日本一区二区三区久久久久久久久不 | 亚洲精品在线一区二区| 国产欧美日韩麻豆91| 91在线免费播放| 8x福利精品第一导航| 国产精品午夜免费| 天堂成人免费av电影一区| 从欧美一区二区三区| 欧美另类变人与禽xxxxx| 国产免费观看久久| 秋霞成人午夜伦在线观看| 福利电影一区二区三区| 91精品国产综合久久香蕉的特点| 国产精品久久久一本精品| 蜜臀久久久99精品久久久久久| jizzjizzjizz欧美| 91精品婷婷国产综合久久| 日韩美女视频一区二区| 麻豆高清免费国产一区| 亚洲国产成人91porn| 极品少妇xxxx精品少妇| 欧美影片第一页| 亚洲国产精品精华液2区45| 亚洲国产欧美在线人成| av色综合久久天堂av综合| 欧美大白屁股肥臀xxxxxx| 亚洲激情图片小说视频| 国产高清成人在线| 国产欧美精品一区aⅴ影院| 美女爽到高潮91| 欧洲视频一区二区| 一区二区三区欧美亚洲| 成人激情小说网站| 日本一区二区免费在线| 国产成人午夜视频| 久久影院午夜片一区| 国产精品一区二区久激情瑜伽| 欧美成人精精品一区二区频| 亚洲成人福利片| 日韩小视频在线观看专区| 久久久久久久精| 成人在线视频一区二区| 亚洲在线观看免费视频| 色综合咪咪久久| 欧美一区二区播放| 日本欧美一区二区三区乱码| 亚洲欧美另类久久久精品| 亚洲精品国久久99热| 亚洲美女视频在线| 一区二区三国产精华液| 色综合色综合色综合| 国产日韩精品一区二区浪潮av| 国产在线精品一区二区不卡了| 日韩一区二区在线观看| 丝袜亚洲另类欧美| 欧美喷潮久久久xxxxx| 亚洲成人av资源| 欧美男生操女生| 日一区二区三区| 精品国产乱码久久久久久图片| 韩国欧美国产1区| 欧美a级理论片| 日韩欧美成人午夜| 国产精品一级片在线观看| 国产亚洲成aⅴ人片在线观看 | 韩国成人在线视频| 久久久国产午夜精品| 成人精品小蝌蚪| 亚洲欧美一区二区三区孕妇| 欧洲一区二区av| 麻豆免费精品视频| 久久综合999| 成人国产精品免费网站| 亚洲男人的天堂av| 欧美高清视频不卡网| 久久99九九99精品| 国产欧美日韩一区二区三区在线观看| jizz一区二区| 亚洲资源中文字幕| 欧美一区二区黄| 丁香一区二区三区| 一区二区三区.www| 日韩欧美第一区| 99精品国产热久久91蜜凸| 午夜av电影一区| 久久香蕉国产线看观看99| 99精品国产热久久91蜜凸| 肉肉av福利一精品导航| 欧美经典一区二区| 欧美视频三区在线播放| 国产在线播精品第三|