• 大小: 148KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: Matlab
  • 标签: 网格  

资源简介

使用超限差值法生成二维的网格,这个程序是在matlab软件下进行编写的。针对叶型生成叶栅通道的网格。具体叶型数据见附件。

资源截图

代码片段和文件信息

function [mesh_xmesh_yntxn]=mesh(naca)
%%生成各个网格节点的xy坐标,其中mesh_x存储所有节点的x坐标;输入data的格式为naca叶型数据格式。
%%所画的网格针对的是二维叶栅通道,分为三个网格块,叶栅前,叶栅通道,叶栅后,叶栅间距为5,弦长10。
%%网格生成方法采用代数法,并在靠近叶片表面附近逐渐加密。

t=5;

%%绘制叶栅通道s吸力面,p压力面。叶珊距5.
nn=fix(length(naca(:1))/2);%%确定有多少点
mm=length(naca(:1));
for i=1:nn
    s(i1)=10*naca(1+nn-i1);  %x坐标,整体模型都放大了10倍
    s(i2)=10*naca(1+nn-i2);  %%y坐标
    p(i1)=10*naca(nn+i1);    %%x坐标
    p(i2)=10*naca(nn+i2)+t;  %%y坐标
end




%%生成通道内网格
XM=32;     
XD=0.12;
xn=length(s(:1));  %%吸力面长度
for n=1:xn
    len=(p(n2)-s(n2))/100;
for m=1:100
    R0=2*(m-1)/(80-1);
    R1=XM*R0+(1-XM)*(1-tan(XD*(1-R0))/tan(XD));
    R2=(m-1)*len;
    y_1(mn)=R2+s(n2);%%%n是网格点的横向位置
    x_1(mn)=(p(n1)-s(n1))/2*R1+s(n1);%%%m是网格点的纵向位置
end
end


%%生成叶栅通道前缘进口流网格
nt=50;
dt=0.2;
yk=(max(naca(:2))-y_1(11))/0.8;      %%%斜率
ta=nt*dt;
af=0.01;
M=m;
for i=1:nt         %%%前缘进口的边界处理
    tx=dt*(i-1);
    saf=abs(ta-af*tx^2+(2-af-ta)*tx/ta);
    x_0(1i)=x_1(11)-(ta-saf)*sqrt(1+yk^2);   %%x_1(11)就是前缘点的横坐标
    y_0(1i)=y_1(11)-yk*abs(x_0(1i)-x_1(11));
    
    y_0(Mi)=y_0(1i)+t;     %%%上下边界的相差5
end

for n=1:nt           %%%%内部的网格生成
len=5/100;
for m=1:100
    R0=2*(m-1)/(80-1);
    R1=XM*R0+(1-XM)*(1-tan(XD*(1-R0))/tan(XD));
    R2=(m-1)*len;   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    y_0(mn)=R2+s(12)-n*0.015;
    x_0(mn)=x_0(1n);    %%%纵坐标不变,横坐标对每一层网格赋值
end
end
    
%%生成叶栅通道后缘出口流网格    
yk=(max(naca(:2))-y_1(1xn))/0.6;   
for i=1:nt
    tx=dt*(i-1);
    saf=abs(ta-af*tx^2+(2-af-ta)*tx/ta);
    x_2(1i)=x_1(1xn)+(ta-saf)*sqrt(1+yk^2);
    y_2(1i)=y_1(1xn)-yk*abs(x_0(1i)-x_1(11));
    y_2(Mi)=y_2(1i)+t;
end

for n=1:nt
len=5/100;
for m=1:100
    %R0=2*(m-1)/(80-1);
    %R1=XM*R0+(1-XM)*(1-tan(XD*(1-R0))/tan(XD));
    R1=(m-1)*len;   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    y_2(mn)=R1+s(882)-(0.03*n);
    x_2(mn)=x_2(1n);
    
end
end    
%%将三块网格组合并绘图
for a=1:nt
      mesh_x(:a)=x_0(:1+nt-a);
      mesh_y(:a)=y_0(:1+nt-a);
end
for a=(nt+1):(nt+xn-1)
      mesh_x(:a)=x_1(:a-nt+1);
      mesh_y(:a)=y_1(:a-nt+1);
end
for a=(nt+xn):(2*nt+xn-2)
      mesh_x(:a)=x_2(:a-nt-xn+2);
      mesh_y(:a)=y_2(:a-nt-xn+2);
end
%%% plot %%%        
for m=1:(length(mesh_x(:1)))
    plot(mesh_x(m:)mesh_y(m:));
    axis([-10 20 -5 10]);
    hold on;
end
for n=1:(length(mesh_x(1:)))
    plot(mesh_x(:n)mesh_y(:n));
    axis([-10 20 -5 10]);
    hold on;
end
plot(10*naca(:1)10*naca(:2));
axis([-10 20 -5 10]);
hold off;

        

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2860  2018-05-17 12:28  陈楠-第六次小作业\mesh.m
     文件        3351  2014-08-25 00:58  陈楠-第六次小作业\naca65-1810.txt
     文件      188936  2018-05-17 11:55  陈楠-第六次小作业\使用超限差值法生成叶栅通道的网格.docx
     目录           0  2018-05-17 17:10  陈楠-第六次小作业\

评论

共有 条评论