• 大小: 2.51MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-12
  • 语言: Matlab
  • 标签: 源代码  

资源简介

里面收集了一些用matlab编辑的计算流体力学程序,用于模拟集中简单的流动现象。

资源截图

代码片段和文件信息

%NND格式,时间二阶RUNGE-KUTTA


n=200;
k=0.15/n;
NN=100;
h=1/NN;
alpha=k/h;
gama=1.4;
  for K=1:NN/2
         rou(1K)=0.445;
         u(1K)=0.698;
         p(1K)=3.528;
         E(1K)=p(1K)/rou(1K)/(gama-1)+0.5*u(1K)*u(1K);
  end
  for L=NN/2+1:NN
         rou(1L)=0.5;
         u(1L)=0;
         p(1L)=0.571;
         E(1L)=p(1L)/rou(1L)/(gama-1)+0.5*u(1L)*u(1L);
  end
  
  for i=1:n  
    for j=1:NN
      U{ij}=[rou(ij);rou(ij)*u(ij);rou(ij)*E(ij)];
    end
    for j=1:NN
      F{ij}=[rou(ij)*u(ij);rou(ij)*u(ij)*u(ij)+p(ij);(rou(ij)*E(ij)+p(ij))*u(ij)];
    end
    for j=1:NN
      E(ij)=p(ij)/rou(ij)/(gama-1)+0.5*u(ij)*u(ij);
      H(ij)=E(ij)+p(ij)/rou(ij);
      c(ij)=sqrt(((gama*p(ij)/rou(ij))));    
      R{ij}=[-(gama-1)/c(ij)/c(ij)-0.5/c(ij)0.5/c(ij);-(gama-1)*u(ij)/c(ij)/c(ij)-0.5*(u(ij)-c(ij))/c(ij)0.5*(u(ij)+c(ij))/c(ij);-(gama-1)*0.5*u(ij)*u(ij)/c(ij)/c(ij)-0.5*(H(ij)-u(ij)*c(ij))/c(ij)0.5*(H(ij)+u(ij)*c(ij))/c(ij)];
      R_C{ij}=[0.5*u(ij)*u(ij)-c(ij)*c(ij)/(gama-1)-u(ij)1;-u(ij)-(gama-1)*0.5/c(ij)*u(ij)*u(ij)1+(gama-1)*u(ij)/c(ij)-(gama-1)/c(ij);-u(ij)+(gama-1)*0.5/c(ij)*u(ij)*u(ij)1-(gama-1)*u(ij)/c(ij)(gama-1)/c(ij)];
      lamda{ij}=[u(ij)00;0u(ij)-c(ij)0;00u(ij)+c(ij)];
      
      A{ij}=R{ij}*lamda{ij}*R_C{ij};
      A_R{ij}=[010;(gama-3)*0.5*u(ij)*u(ij)(3-gama)*u(ij)(gama-1);(gama-1)*u(ij)*u(ij)*u(ij)-gama*E(ij)*u(ij)-3*(gama-1)*0.5*u(ij)*u(ij)+gama*E(ij)gama*u(ij)];
      
      
      %C(ij)为声速的平方
     % C(ij)=gama*p(ij)/rou(ij);
      %A{ij}=[0 1 0;0.5*(gama-3)*u(ij)*u(ij) (3-gama)*u(ij) (gama-1);0.5*(gama-2)*(u(ij))^3-u(ij)*C(ij)/(gama-1) C(ij)/(gama-1)+0.5*(3-2*gama)*(u(ij))^2 gama*u(ij)];
      
      
    end
    for j=1:NN
        %[M{ij}N{ij}]=eig(A{ij});
%         for m=1:3
            %if N{ij}(mm)>=0          
%                    ALPHA_REAL{ij}(mm)=(lamda{ij}(mm)+abs(lamda{ij}(mm)))/2;
%             %else
%                    ALPHA_FALSE{ij}(mm)=(lamda{ij}(mm)-abs(lamda{ij}(mm)))/2;
% lamda{ij}
% lamda{ij}*(lamda{ij}>zeros(33))
% lamda{ij}*(lamda{ij}                    ALPHA_REAL{ij}=lamda{ij}*(lamda{ij}>zeros(33));
%             %else
                    ALPHA_FALSE{ij}=lamda{ij}*(lamda{ij}            %end
%      end
        A_REAL{ij}=R{ij}*ALPHA_REAL{ij}*R_C{ij};
%         A_FALSE{ij}=R{ij}*ALPHA_FALSE{ij}*R_C{ij};
        A_FALSE{ij}=A_R{ij}-A_REAL{ij};
        F_REAL{ij}=A_REAL{ij}*U{ij};
        F_FALSE{ij}=A_FALSE{ij}*U{ij};
    end  
%          for j=1:NN
%                DDD(j)=max(max(u));
%          end
  
 
         
%          for j=1:50
%                DDD(j)=max(max(ALPHA_FALSE{ij}+ALPHA_REAL{ij}-lamda{ij}));
%          end
%          disp(i)
%          max(DDD)
         
%     for j=1:200
%        

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2851  2006-05-26 12:37  TVD\TVD.DSP

     文件        529  2006-05-18 09:08  TVD\TVD.DSW

     文件       2691  2006-05-26 12:37  TVD\TVD.F90

     文件       7710  2006-05-20 19:08  TVD\TVD.fig

     文件      43520  2006-05-26 12:37  TVD\TVD.OPT

     文件       1360  2006-05-26 12:37  TVD\TVD.PLG

     文件        162  2006-05-23 11:42  TVD\u.m

     文件       8517  2006-05-26 12:37  TVD\u.txt

     文件        130  2006-05-17 20:51  TVD\u1.m

     文件       1717  2006-05-19 20:24  TVD\u1.txt

     文件       8517  2006-05-26 12:37  TVD\x.txt

     文件       1717  2006-05-23 11:28  TVD\x1.txt

     目录          0  2008-03-09 16:31  TVD\Debug

     目录          0  2008-03-09 16:31  TVD

----------- ---------  ---------- -----  ----

                79639                    15


评论

共有 条评论