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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hw-nozzle.m

?? 求解二維無粘歐拉方程
?? M
?? 第 1 頁 / 共 3 頁
字號:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%數值模擬二維收縮噴管流場
%顯式時間推進、有限體積法、結構化網格,2階MUSCL格式,超限插值網格
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function nozzle()                     
    Data=setdata;                  
    U=init(Data);                  
    [U,para]=getpara(U,Data);     
    
    fp=fopen('progress.txt','w');
    fclose(fp);
    
    N=para.N-1;
    M=para.M-1;
    F(1,:,:)=para.p;壓力
    F(2,:,:)=para.rho; 密度
    F(3,:,:)=para.u;
    F(4,:,:)=para.v;
    F(5,:,:)=para.a;
    F(6,:,:)=para.E0;
    F(7,:,:)=para.M0;
    fp=fopen('result.plt', 'w');
    for j=2:N
        for i=2:M
            fprintf(fp,'%12.6f  %12.6f  %12.6f  %12.6f  %12.6f  %12.6f  %12.6f  %12.6f  %12.6f\r\n', para.X(j, i), para.Y(j, i), F(1, j, i), F(2, j, i), F(3, j, i), F(4, j, i), F(5, j, i), F(6, j, i), F(7, j, i));
        end
        fprintf(fp,'\r\n');  格心坐標 對應參數值
    end
    fclose(fp);
    
    run=1;                         
    t=0;
    sumt=1;
    step=0;
    sumstep=1000;
    error_constant=1e-4;
    while run
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       fp=fopen('key.txt','r');
        exit=fscanf(fp,'%d');.
        fclose(fp);
        if exit==0
            break;    
        end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
        oldU=U(1,:,:);
        [U,dt]=Update(U,para);
        [U,para]=getpara(U,Data);   
        maxerror=max(max(abs(oldU(1,:,:)-U(1,:,:))));
       
        t=t+dt;
        step=step+1;
        
        run=stopcalculate(t,sumt,step,sumstep,error_constant,maxerror);    
   
        fp1=fopen('progress.txt','a+');
        str1=num2str(t);
        str2=num2str(step);
        str3=num2str(maxerror);
        fprintf(fp1,'\r\nsumtime:%d,sumstep:%d,error_constant=%f',sumt,sumstep,error_constant);
        fprintf(fp1,'\r\ncurrent_t=%s\r\ncurrent_step=%s',str1,str2);
        fprintf(fp1,'\r\ncurrent_maxerror=%s\r\n',str3);
        fclose(fp1);
   
        N=para.N-1;
        M=para.M-1;
        F(1,:,:)=para.p;
        F(2,:,:)=para.rho;
        F(3,:,:)=para.u;
        F(4,:,:)=para.v;
        F(5,:,:)=para.a;
        F(6,:,:)=para.E0;
        F(7,:,:)=para.M0;
        
        fp=fopen('result.plt', 'w');
        for j=2:N
            for i=2:M
                fprintf(fp,'%12.6f  %12.6f  %12.6f  %12.6f  %12.6f  %12.6f  %12.6f  %12.6f  %12.6f\r\n', para.X(j, i), para.Y(j, i), F(1, j, i), F(2, j, i), F(3, j, i), F(4, j, i), F(5, j, i), F(6, j, i), F(7, j, i));
            end
            fprintf(fp,'\r\n');
        end
        fclose(fp);
    end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
function Data=setdata()
    cfl=0.8;                      
    gam=1.4; 
    [PointX,PointY,Nx,Ny]=setgrid2D; %     劃分網格 網格數據節點
    [CyPointX,CyPointY,CxPointX,CxPointY]=getcentrepoint(PointX,PointY,Nx,Ny);% 包圍節點的  矩形四個點坐標
    [UPointX,UPointY,PointX,PointY]=getunitpoint(PointX,PointY,Nx,Ny);  % 格心坐標
    method='char';                  
    Data=struct('gam',gam,'cfl',cfl,'Nx',Nx,'Ny',Ny,'PX',PointX,'PY',PointY,'CyPX',CyPointX,'CyPY',CyPointY,'CxPX',CxPointX,'CxPY',CxPointY,'UPX',UPointX,'UPY',UPointY,'method',method);       
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
function [PointX,PointY,Nx,Ny]=setgrid2D() %應用超限插值法構造網格單元
clear all;
R1=1;   %噴管入口半徑                       
R2=20;  %候道的彎曲半徑
Cta=15; %候道的圓周半徑
S=0.1;  %單位長度上網格的大小                  
M2=ceil(R2*Cta*pi/180)/S;   %x方向的網格點數
N2=R1*2/S;    %y方向的網格點數
Nx=M2;
Ny=N2;

%Px(i,j)--網格(i,j)點的x坐標
%Py(i,j)--網格(i,j)點的y坐標
    Px(1,1)=0;
    Px(M2,1)=R2*sin(Cta/360*pi)*2;
    Px(1,N2)=0;
    Px(M2,N2)=R2*sin(Cta/360*pi)*2;

    for j=1:M2   %構造Lagrange 插值型函數
        qx1(j)=1-(j-1)/(M2-1);
        qx2(j)=(j-1)/(M2-1);   
    end
    cta=Cta*pi/180; %角度轉換成弧度
    dcta=(Cta*pi/180)/(M2-1);   %M2-1等分
    l=2*R2*sin(dcta/2);    %每等份的玄長
    
    a1=R2*sin(cta/2);
    b1=-R2*cos(cta/2);
    a2=a1;
    b2=2*R1+R2*cos(cta/2);    %圓心偏移點
    
    x(1,1)=Px(1,1);
    x(1,N2)=Px(1,1);
    y(1,1)=0;
    y(1,N2)=R1*2;
    for i=2:M2
        x(i,1)=x(i-1,1)+l*cos(cta/2-qx2(i)*dcta/2);
        x(i,N2)=x(i,1);        
        y(i,1)=sqrt(R2^2-(x(i,1)-a1)^2)+b1;
        y(i,N2)=-sqrt(R2^2-(x(i,N2)-a2)^2)+b2;
    end

    Py(1,1)=0;
    Py(M2,1)=0; 
    Py(1,N2)=R1*2;
    Py(M2,N2)=R1*2;
    for j=1:N2
        qy1(j)=1-(j-1)/(N2-1);
        qy2(j)=(j-1)/(N2-1);
    end 
    for j=1:N2
        x(1,j)=0;
        x(M2,j)=R2*sin(Cta/360*pi)*2;
        y(1,j)=qy1(j)*Py(1,1)+qy2(j)*Py(1,N2);
        y(M2,j)=qy1(j)*Py(M2,1)+qy2(j)*Py(M2,N2);
    end

    for i=1:M2
       for j=1:N2
           x(i,j)=qx1(i)*x(1,j)+qx2(i)*x(M2,j);
           y(i,j)=qy1(j)*y(i,1)+qy2(j)*y(i,N2);
       end
    end
    hold on
    plot(x,y,'b')
    plot(x',y','b')
    hold off
   
PointX=x.';
PointY=y.';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
function [CyPointX,CyPointY,CxPointX,CxPointY]=getcentrepoint(PointX,PointY,Nx,Ny)
    for iindex=1:Ny-1
        for jindex=1:Nx
            CyPointX(iindex,jindex)=( PointX(iindex+1, jindex) + PointX(iindex, jindex) )/2;
            CyPointY(iindex,jindex)=( PointY(iindex+1, jindex) + PointY(iindex, jindex) )/2;
        end
    end
    for iindex=1:Ny
        for jindex=1:Nx-1
            CxPointX(iindex,jindex)=( PointX(iindex, jindex+1) + PointX(iindex, jindex) )/2;
            CxPointY(iindex,jindex)=( PointY(iindex, jindex+1) + PointY(iindex, jindex) )/2;
        end
    end
    
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
function [UPointX,UPointY,PointX,PointY]=getunitpoint(PointX,PointY,Nx,Ny)%            
    UPointX=zeros(Ny+1,Nx+1);
    UPointY=zeros(Ny+1,Nx+1);
     for iindex=1:Ny-1
        for jindex=1:Nx-1
            UPointX(iindex+1,jindex+1)=( PointX(iindex,jindex) + PointX(iindex+1,jindex) + PointX(iindex,jindex+1) + PointX(iindex+1,jindex+1))/4;
            UPointY(iindex+1,jindex+1)=( PointY(iindex,jindex) + PointY(iindex+1,jindex) + PointY(iindex,jindex+1) + PointY(iindex+1,jindex+1))/4;
        end
    end
    for iindex=1:Ny-1
        UPointX(iindex+1,1) = PointX(iindex,1) + PointX(iindex+1,1) - UPointX(iindex+1,2);
        UPointY(iindex+1,1) = PointY(iindex,1) + PointY(iindex+1,1) - UPointY(iindex+1,2);
        UPointX(iindex+1,Nx+1) = PointX(iindex,Nx) + PointX(iindex+1,Nx) - UPointX(iindex+1,Nx);
        UPointY(iindex+1,Nx+1) = PointY(iindex,Nx) + PointY(iindex+1,Nx) - UPointY(iindex+1,Nx);
    end
    for jindex=1:Nx-1
        UPointX(1,jindex+1) = PointX(1,jindex) + PointX(1,jindex+1) - UPointX(2,jindex+1);
        UPointY(1,jindex+1) = PointY(1,jindex) + PointY(1,jindex+1) - UPointY(2,jindex+1);
        UPointX(Ny+1,jindex+1) = PointX(Ny,jindex+1) + PointX(Ny,jindex) - UPointX(Ny,jindex+1);
        UPointY(Ny+1,jindex+1) = PointY(Ny,jindex+1) + PointY(Ny,jindex) - UPointY(Ny,jindex+1);
    end
    UPointX(1,1) = 2*PointX(1,1) - UPointX(2,2);
    UPointY(1,1) = 2*PointY(1,1) - UPointY(2,2);
    UPointX(1,Nx+1) = 2*PointX(1,Nx) - UPointX(2,Nx);
    UPointY(1,Nx+1) = 2*PointY(1,Nx) - UPointY(2,Nx);
    UPointX(Ny+1,1) = 2*PointX(Ny,1) - UPointX(Ny,2);
    UPointY(Ny+1,1) = 2*PointY(Ny,1) - UPointY(Ny,2);
    UPointX(Ny+1,Nx+1) = 2*PointX(Ny,Nx) - UPointX(Ny,Nx);
    UPointY(Ny+1,Nx+1) = 2*PointY(Ny,Nx) - UPointY(Ny,Nx);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [X,Y]=changerow(X,Y,n)
    for iindex=1:n
        tempX(iindex,:)=X(n-iindex+1,:);
        tempY(iindex,:)=Y(n-iindex+1,:);
    end
    X=tempX;
    Y=tempY;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
function U=init(Data)      
    gam=Data.gam;
    M=Data.Nx+1;       N=Data.Ny+1;
    PX=Data.PX;        PY=Data.PY;    % 生成的網格節點坐標
    CyX=Data.CyPX;     CyY=Data.CyPY;% 包圍節點的四個點坐標
    CxX=Data.CxPX;     CxY=Data.CxPY;
    UX=Data.UPX;       UY=Data.UPY;% 格心  ,包括 虛格心 m X n
    U=zeros(4,N,M);
    
   
    P_in=130000;%入口靜壓Pa
    T_in=300.0;%入口靜溫K
    Vt=200.0;%入口平均速度m
    afa=0;%入口角
    R=287.;%氣體常數
    rho_in=P_in/R/T_in;
   
    %入口初始化
    uVelocity=Vt*cos(afa);
    vVelocity=Vt*sin(afa);
    a_in=sqrt(gam*R*T_in);
    Ma=Vt/a_in;
    T0_in=T_in*(1+Ma^2*(gam-1)/2);
    P0_in=P_in*(T0_in/T_in)^(gam/(gam-1));
    rho0_in=rho_in*(T0_in/T_in)^(1/(gam-1));
    
    for iindex=1:2
        for jindex=1:N
            U(1,jindex,iindex)=rho_in;
            U(2,jindex,iindex)=rho_in*uVelocity;  % x方向的速度×密度
            U(3,jindex,iindex)=rho_in*vVelocity; % y方向的速度×密度
            U(4,jindex,iindex)=P_in/(gam-1)+rho_in*Vt^2/2;
        end
    end
    %出口初始化,初步假設出口氣流角一致afa
    P_out=101325;
    P0_out=P0_in;
    T0_out=T0_in;
    rho0_out=rho0_in;
    Ma=sqrt(2*((P0_out/P_out)^((gam-1)/gam)-1)/(gam-1));
    T_out=T0_out/(1+(gam-1)*Ma^2/2);
    rho_out=rho0_out/((1+(gam-1)*Ma^2/2)^(1/(gam-1)));
    Vt=sqrt(2*gam*R*(T0_out-T_out)/(gam-1));
    
    tg_afa=(UY(N-2,M-1)-UY(N-2,M-2))/(UX(N-2,M-1)-UX(N-2,M-2));
    cos_afa=1/sqrt(tg_afa^2+1);
    sin_afa=sqrt(1-cos_afa^2);
    uVelocity=Vt*cos_afa;
    vVelocity=Vt*sin_afa;

    for iindex=M-1:M
        for jindex=1:N
            U(1,jindex,iindex)=rho_out;
            U(2,jindex,iindex)=rho_out*uVelocity;
            U(3,jindex,iindex)=rho_out*vVelocity;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产露脸精彩对白 | 成人免费黄色大片| 色综合天天综合色综合av| 欧美日韩高清一区二区不卡| 精品国产a毛片| 一区二区三区蜜桃| 国产一区亚洲一区| 91超碰这里只有精品国产| 国产欧美一区二区精品性| 亚洲成av人片一区二区梦乃| 成人v精品蜜桃久久一区| 欧美一区2区视频在线观看| 亚洲色图在线看| 国产精品一级二级三级| 欧美久久久一区| 亚洲欧美激情一区二区| 韩国理伦片一区二区三区在线播放 | 亚洲摸摸操操av| 国内久久精品视频| 欧美精品三级在线观看| 亚洲色图制服丝袜| 成人精品高清在线| 国产三级一区二区三区| 久久国产精品第一页| 欧美四级电影网| 亚洲综合小说图片| 成人性色生活片| 国产亚洲一本大道中文在线| 久久精品999| 欧美一级夜夜爽| 日韩综合小视频| 欧美日韩一级二级三级| 亚洲一区二区黄色| 日本黄色一区二区| 亚洲欧美激情小说另类| 不卡欧美aaaaa| 中文字幕中文字幕一区二区| 国产美女在线精品| 国产欧美一区二区在线观看| 成人中文字幕合集| 国产精品国产三级国产普通话99| 丰满少妇久久久久久久| 国产精品免费人成网站| www.综合网.com| 韩日欧美一区二区三区| 久久久噜噜噜久噜久久综合| 国产高清一区日本| 亚洲视频你懂的| 在线免费观看一区| 天天亚洲美女在线视频| 日韩色在线观看| 国产精品自拍毛片| 国产精品久久久一区麻豆最新章节| 成人免费毛片片v| 一区二区三区中文在线观看| 欧美视频在线观看一区| 男女男精品视频| 国产亚洲成年网址在线观看| 国产**成人网毛片九色 | 九色综合狠狠综合久久| 久久综合丝袜日本网| 不卡在线视频中文字幕| 亚洲精品美腿丝袜| 欧美一级在线观看| 成人一区二区视频| 午夜精品爽啪视频| 久久精品视频在线免费观看| 91丨porny丨中文| 日韩高清电影一区| 中日韩av电影| 国产精品久久久久久久第一福利| eeuss鲁片一区二区三区在线观看| 亚洲精品国产一区二区三区四区在线| 欧美性大战久久久久久久| 麻豆精品国产91久久久久久| 亚洲欧美在线视频| 欧美一区二区三区日韩视频| 成人在线视频首页| 麻豆久久久久久久| 国产精品电影一区二区| 日韩一级高清毛片| 色综合欧美在线| 国产精品一线二线三线精华| 亚洲一二三区不卡| 国产精品沙发午睡系列990531| 欧美性欧美巨大黑白大战| 国产在线视频一区二区| 一区二区三区在线免费观看| 久久久噜噜噜久久人人看 | www.色精品| 久久国产尿小便嘘嘘| 亚洲免费视频中文字幕| 久久久久久久电影| 日韩色视频在线观看| 91国偷自产一区二区开放时间| 国产在线一区二区综合免费视频| 性做久久久久久免费观看| 国产精品嫩草影院av蜜臀| 日韩女优制服丝袜电影| 欧美日韩在线播放三区四区| 成人avav影音| 国产又黄又大久久| 久久国内精品自在自线400部| 一区二区三区中文字幕在线观看| 国产精品欧美精品| 亚洲精品一线二线三线| 欧美精品tushy高清| 欧美亚洲国产一卡| 91豆麻精品91久久久久久| 成人黄色一级视频| 国产99久久久久| 国内成人精品2018免费看| 午夜精品久久久久久不卡8050| 亚洲精品国产一区二区三区四区在线| 中文字幕国产一区| 国产女主播在线一区二区| 久久蜜桃av一区二区天堂| 欧美精品一区男女天堂| 精品久久久久久久一区二区蜜臀| 欧美一卡二卡三卡| 欧美一区日韩一区| 制服视频三区第一页精品| 91精品国产91久久综合桃花| 欧美久久久一区| 日韩一级欧美一级| 久久五月婷婷丁香社区| 国产午夜三级一区二区三| 国产午夜精品一区二区三区四区 | 裸体健美xxxx欧美裸体表演| 三级欧美韩日大片在线看| 亚洲成a人片在线观看中文| 香蕉av福利精品导航| 蜜臀久久99精品久久久久宅男| 美女久久久精品| 国产成人在线视频网址| 波多野洁衣一区| 欧美日韩中文字幕一区二区| 欧美片网站yy| 久久久91精品国产一区二区精品| 国产性色一区二区| 亚洲欧美日韩国产成人精品影院| 亚洲在线一区二区三区| 日韩精品免费专区| 国内精品视频一区二区三区八戒| 丰满白嫩尤物一区二区| 91国在线观看| 日韩精品一区二区三区中文精品| 精品久久久久一区二区国产| 国产欧美日产一区| 亚洲国产毛片aaaaa无费看| 六月丁香婷婷色狠狠久久| 成人免费不卡视频| 在线电影国产精品| 国产农村妇女毛片精品久久麻豆 | 99视频在线精品| 欧美日韩一区二区在线观看视频| 欧美成人三级电影在线| 中文字幕一区二区三区在线播放 | 91在线一区二区| 欧美一级一级性生活免费录像| 久久久.com| 日产国产欧美视频一区精品| 国产成人精品www牛牛影视| 色激情天天射综合网| 欧美不卡视频一区| 亚洲激情av在线| 国产精品77777竹菊影视小说| 在线一区二区三区四区五区| 精品动漫一区二区三区在线观看| 亚洲综合色丁香婷婷六月图片| 韩国在线一区二区| 欧美精品乱码久久久久久 | 久久久青草青青国产亚洲免观| 一区二区三区蜜桃| 国产成人在线视频网站| 91精品黄色片免费大全| 国产精品免费人成网站| 激情综合色播激情啊| 欧美日韩一区二区三区高清| 中文欧美字幕免费| 蜜臀久久99精品久久久久久9| 在线观看91精品国产入口| 欧美韩国日本综合| 久久精品国产精品亚洲综合| 欧美午夜宅男影院| 国产精品免费av| 高清在线成人网| 久久亚洲一区二区三区四区| 日韩电影一区二区三区四区| 欧美性生活久久| 一区二区三区在线视频免费观看| 国产成人精品免费| 国产偷v国产偷v亚洲高清| 狠狠色2019综合网| 2023国产精品视频| 国产麻豆一精品一av一免费| 精品久久久久久久人人人人传媒 | 国产亚洲精品7777| 国产麻豆精品视频| 久久午夜羞羞影院免费观看|