1、基于simple算法的流场模拟计算基于smle算法的流场模拟计算 作者:日期:1、问题描述图1为20的水在长度为50m,宽度为10mm的管道中流动,流入管道速度为0.2/s,流出管道背压为1atm,基于simple算法对整个流场进行计算,计算管长10mm处流速并与fluen计算结果对比。图1 流动系统流动计算:该流动问题为二维定常无内热源不可压缩层流流动。2、控制方程离散在二维直角坐标系中,对流扩散方程的通用形式为:图 网格编号针对本问题,其连续性方程和动量方程为:交错网格下动量方程的离散:上式积分得到:对流项采用一阶迎风格式,扩散项采用中心差分,否是TDA算法在上式中,假定和是边界上的值,为
2、己知。上式中任一方程都可写成:除第一及最后一个方程外,其余方程可写为: 这些方程可通过消元和回代两个过程求解。现引入记号:则,即:在边界点,=1与j=n+,为了求解方程组,首先要对方程组按的形式编排,并明确其中的系数和。从=起,计算出和,直到j=n。由于在边界位置(n+)的数值是已知的,因此,可连续计算出。3、计算结果对比本文基于smpe算法用编写MATLAB程序对整个流场进行计算,另外借助flunt计算流体力学软件数值模拟,通过对比分析计算结果,得出整个流场的流速矢量图和速度云图。上图为两种计算方法的计算结果,发现两者速度分布趋势一致,编程计算结果数值偏大,原因在于计算采用一阶迎风格式,节点
3、数值趋近于其上游节点值。下图为速度云图,入口段效应的影响导致流动未达到充分发展。 MTLA程序:%d=5e4;5-;den=998;dy=100.6e-6;=01/dy+;%x节点b=05/dx+;%y节点%边界条件的设置、初始值的设置%T=.*os(a,);U1_old=zeo(a,b);P1_old=zeros(,);初值%U1_old(:-2,:)=T(3:-2,:);%加速收敛,边界条件%uw_sum(1,b)0;ue_sum(1,b)0;de1_sum(1,b)=;m1;A(1:a-,2:b1)=2;%初值为1%e22;while e22001整个流场迭代 ifm4 break nd
4、 m=m+1;or j=2:1:b-1; f j break nd n=1;%迭代次数% e=1;%初次迭代%;0;0.0345;.149211;01962;0.224194;.267;0.241087;.242138;0.2421;0.2125;0.2403;0.242125;024224;024238;04087;0.3674;022195;0.1;0.149212;0.082459;0;0;U_ol(:a-2,1)=B(3:a2,1);U1_old(3:a-2,)=B(3:a,1);while e01迭代,算两列,其他为已知%对(i,j)点求uxin% for i=:1:a-2 Fe1(
5、i,j)=en(U1_old(i,j)U1ol(i,+1))*dy2;对流强度 w1(i,j)=e(1_old(i,j1)+U_old(i,j))d/2; ap1(,j)=ax(Fe1(i,j),0)+max(Fw(i,j),)+4*dyn;%离散方程对应系数% ae_u1(i,)=dyna+m(-e1(i,j),0); awu1(i,j)dyna+x(i,),0); n_1(i,j)=yna; as_u1(i,j)=dya; A1_u(i,i-1)-nu1(i,j); A_u(,i)=p1(i,); A1_(i,+1)s_u1(i,); b1_u(i,j)=awu1(i,j)*U_(i,j-
6、1)+e_(i,j)*U1_d(i,j+). +(Pld(i,j)-Pod(,j1)*dy/2;%(i,j+1)点的源项% end A1_(1,1)=1;附加点% A1_u(2,2)=1;边界点 A1(a1,-1)=1; A1(a,a); b1_(1,j)0;附加点% b1_u(2,)=0;%边界点% _u(a-1,j)=0; b1u(a,j)0; 1_new(:,j)inv(A_u)*bu(:,);%得到(i,j1)点的速度计算值% 对(i,j)点求p% uwsum(1,j)0; u_sm(,j)=0; e1_s(,j)=dap_u1(2,j); for3:1:a-2 uw_um(1,)u_
7、um(1,j)+U1ol(i,j-); us(1,)=uesu(,j)U1_nw(i,j); de1_sum(1,j)=e1sum(,j)+dp_u1(i,j); nd P1fi(,j)=(uw_sum(1,j)-eum(1,j)e1_su(1,j);%对(i,)点进行速度修正% or i=3:1:a-2 U1ix(i,j)=(dy/ap_u1(i,j))P1_fix(1,);速度修正% e U1_od(:a-,j)=1_nw(3:a-2,j)+U1_x(:a-,); 1_d(2:a-1,j)=P1od(2:a,j)+04P1_fix(1,j); eeu_su(,j)-ue_um(1,j); e=max(mx(ab(ee)));判断的是否合理? =n; (,)n; f n100 brek en A((a-4)*+1:(a-4)(m+1),2:b-1)=l(:a-2,2:b-1);%赋值,即从开始%edendE(:-4,2:j)=A((a-4)*+1:(4)*(+1),2:j)-(a4)*(m-1)+:(a-4)m,2:j);e22ma(ma(abs(E));ed%整个流场迭代结束%y=0:1:;%结果的输出%u1_old(2:2:a-1);ult(y,u)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1