1、Harbin Institute of Technology流体力学大作业院 系: 班 级: 姓 名: 学 号: 指导教师: 哈尔滨工业大学计算机在管路水力计算中的应用1 等径无分支管路的计算1.1简单管路沿程损失的计算分析:此题为第一类问题,可用如下步骤求解。1) 2) 3) 调用CL子程序计算。4) 1.1.1 程序框图见图1-1。1.1.2 程序说明: 在程序中,hf表示,q表示,pi表示。1.1.3 程序代码:#include#include#define pi 3.1415926#define g 9.81float CL(float,float,float,int);void ma
2、in()int id;id=0;float dlt,d,l,q,nu,hf,v,re,lmd;printf(please input:dlt,d,l,q,nun);scanf(%f,%f,%f,%f,%f,&dlt,&d,&l,&q,&nu);v=4*q/(pi*d*d);re=v*d/nu;lmd=CL(dlt,d,re,id);hf=lmd*l*v*v/(d*2.0*g);printf(v=%7.4fm/s,re=%7.4f,lmd=%7.4f,hf=%7.4fm,v,re,lmd,hf); NN开 始调用CL求打印输出结束读qV,d,l,图1-1 简单管路程序框图(1)1.2简单管路流量
3、的计算分析:此题为第二类问题,要用试算法,其步骤如下:1)取=0.032)由达西公式可求得3)4)调用CL子程序计算。5)检查和之差是否小于给定精度,如果不满足,将算出的作为重复2)3)4)步骤,直至满足后计算下一步。6)1.2.1 程序框图见图1-2。N开 始打印输出结束读hf,d,l,=0.03调用CL求|1|图1-2 简单管路程序框图(2)1.2.2 程序说明:在程序中,参数表示同前述程序相同,取精度=0.000005。1.2.3 程序代码:#include#include#define pi 3.1415926#define g 9.81float CL(float,float,flo
4、at,int);void main()int id; id=0;float dlt,d,l,q,nu,hf,v,re,lmd,lmd1;printf(please input:dlt,d,l,hf,nun);scanf(%f,%f,%f,%f,%f,&dlt,&d,&l,&hf,&nu);lmd1=0.03;v=sqrt(2*g*d*hf/(l*lmd1);re=v*d/nu;lmd=CL(dlt,d,re,id);while(fabs(lmd-lmd1)=1e-6) lmd1=lmd; v=sqrt(2*g*d*hf/(l*lmd1); re=v*d/nu; lmd=CL(dlt,d,re,
5、id);q=pi*d*d*v/4;printf(v=%7.4f m/s,re=%7.4f,lmd=%7.4f,q=%7.4f m3/s,v,re,lmd,q);1.3 简单管路管径的计算分析:此题为第二类问题,要用试算法,其步骤如下:1)取=0.032)由代入达西公式可求得3) 4)调用CL子程序计算。5)检查和之差是否小于给定精度,如果不满足,将算出的作为重复2)3)4)步骤,直至满足后计算下一步。1.3.1 程序框图见图1-3。1.3.2 程序说明:在程序中,参数表示同前述程序相同,取精度=0.000005。3.3.3 程序代码:#include#include#define pi 3.1
6、415926#define g 9.81float CL(float,float,float,int);void main()int id;id=0;float dlt,d,l,q,nu,hf,v,re,lmd,lmd1,lll;printf(please input:dlt,q,l,hf,nun);scanf(%f,%f,%f,%f,%f,&dlt,&q,&l,&hf,&nu);lmd1=0.03;d=pow(8*l*q*q*lmd1/(pi*pi*g*hf),0.2);v=4*q/(pi*d*d);re=v*d/nu;lmd=CL(dlt,d,re,id);while(fabs(lmd-l
7、md1)=1e-6) lmd1=lmd; lll=8*l*q*q*lmd1/(pi*pi*g*hf); d=pow(lll,0.2); v=4*q/(pi*d*d); re=v*d/nu; lmd=CL(dlt,d,re,id);printf(v=%7.4f m/s,re=%7.4f,lmd=%7.4f,d=%7.4f m ,v,re,lmd,d);YNN开 始打印输出结束读hf,qV,l,=0.03调用CL求|1|图1-3 简单管路程序框图(3)2 串联管路的计算方法2.1串联管路总水头的计算分析:此题为第一类问题,由公式容易求出h。2.1.1 程序框图见图2-2。N开 始, 打印输出结束读
8、qV, l1,l2,d1,d2,1,2, 调用CL求1,2由公式(4-1)计算h图2-2 串联管路程序框图(1)2.1.2 程序说明:在程序中,lmd1和lmd2分别表示和,lmd11和lmd22分别表示和,dlt1和dlt2分别表示1和2,zet表示,其它表示上述程序。2.1.3 程序代码#include #include#include#define pi 3.1415926#define g 9.81float CL(float,float,float) ;void main()float dlt1,lmd1,lmd11,re1,d1,l1,v1;float dlt2,lmd2,lmd2
9、2,re2,d2,l2,v2;float q,nu,hf,zet;float dk,lll;lmd11=0.025;lmd22=0.015;printf(please input:q,d1,d2,dlt1,dlt2,l1,l2,nu,zetn);scanf(%f,%f,%f,%f,%f,%f,%f,%f,%f,&q,&d1,&d2,&dlt1,&dlt2,&l1,&l2,&nu,&zet); v1=4*q/(pi*d1*d1); v2=4*q/(pi*d2*d2); re1=v1*d1/nu; re2=v2*d2/nu; lmd1=CL(dlt1,d1,re1); lmd2=CL(dlt2,d
10、2,re2); hf=(zet+lmd1*l1/d1)*(v1*v1)/(2*g)+(v1-v2)*(v1-v2)/(2*g)+(lmd2*l2/d2+1)*(v2*v2)/(2*g);printf(v1=%7.4fm/s,re1=%7.4f,lmd1=%7.4fn,v1,re1,lmd1);printf(v2=%7.4fm/s,re2=%7.4f,lmd2=%7.4f,hf=%7.4fm3/sn,v2,re2,lmd2,hf);2.2串联管路流量的计算分析:此题为第二类问题,要用试算法,其步骤如下:1)取=0.025,=0.0152)由(2-1)(2-2)二式可求得 (2-3) (2-4)3
11、) , (2-5)4)调用CL子程序计算,5)检查和之差的绝对值及和之差的绝对值是否同时小于给定的精度,如果不满足,将算出的和作为新的和重复2)3)4)步骤,直至满足所取精度后再计算下一步。6)2.2.1 程序框图 见图2-3。YNN开 始由公式(4-3)求出v1 由公式(4-4)求出v2打印输出结束读h, l1,l2,d1,d2,1,2,取1=0.025,2=0.025调用CL求1,2|11|22|由公式(4-5)求Re1,Re2图2-3 串联管路程序框图(2)2.2.2 程序代码:#include #include#include#define pi 3.1415926#define g
12、9.81float CL(float,float,float) ;void main()float dlt1,lmd1,lmd11,re1,d1,l1,v1;floatdlt2,lmd2,lmd22,re2,d2,l2,v2;float q,nu,hf,zet;float dk,lll;lmd11=0.025;lmd22=0.015;printf(please input:hf,d1,d2,dlt1,dlt2,l1,l2,nu,zetn);scanf(%f,%f,%f,%f,%f,%f,%f,%f,%f,&hf,&d1,&d2,&dlt1,&dlt2,&l1, &l2,&nu,&zet); d
13、k=d1*d1/(d2*d2); lll=zet+lmd11*l1/d1+(1-dk)*(1-dk) +lmd22*l2*dk*dk/d2+dk*dk;v1=sqrt(2*g*hf/lll);v2=dk*v1;re1=v1*d1/nu;re2=v2*d2/nu;lmd1=CL(dlt1,d1,re1);lmd2=CL(dlt2,d2,re2); if(fabs(lmd11-lmd1)=5e-6|fabs(lmd22-lmd1)=5e-6)lmd11=lmd1;lmd22=lmd2;lll=zet+lmd11*l1/d1+(1-dk)*(1-dk)+lmd22*l2*dk*dk/d2+dk*dk
14、;v1=sqrt(2*g*hf/lll);v2=dk*v1;re1=v1*d1/nu;re2=v2*d2/nu;lmd1=CL(dlt1,d1,re1);lmd2=CL(dlt2,d2,re2);q=pi*d1*d1*v1/4.0;printf(v1=%7.4fm/s,re1=%7.4f,lmd1=%7.4fn,v1,re1,lmd1);printf(v2=%7.4fmm/s,re2=%7.4f,lmd2=%7.4f,q=%7.4fm3/sn,v2,re2, lmd2,q);3 并联管路的计算方法3.1并联管路流量的计算分析:此题相当于简单管路的第二类问题。为了编成方便,采用三位数组表示三条管
15、路的各个参数。1)取=0.032)由达西公式可求得3) 4)调用CL子程序计算(i)5) 检查(i)和之差的绝对值是否同时小于给定的精度,如果不满足,将算出的(i)作为新的重复2)3)4)步骤,直至满足所取精度后再计算下一步。5) 6) 3.1.1 程序框图见图3-2。 YYNN开 始打印输出读已知参数取1(i)=0.03调用CL计算(i)|(i)1(i)|结束图3-2并联管路程序框图(1)3.1.2 程序说明:在程序中,用三位数组表示三条管路的各个参数,即q(0)、q(1) 、q(2)分别表示、,v(2)、v(1)、v(2)分别表示v1、v2、v3,lmd(0) 、lmd(1) 、lmd(2
16、),分别表示、,h(0) 、h(1) 、h(2)分别表示h1、h2、h3,qq表示总流量。3.1.3 程序代码:#include #include#include#define pi 3.1415926#define g 9.81float CL(float,float,float) ;void main()int i; float dlt3,lmd3,re3,d3,l3, v3,h3,q3;float lmd13;float hf,nu,qq; for(i=0;i3;i+) printf(input:d,l,dlt);scanf(%f,%f,%f,&di,&li,&dlti);printf(
17、input:,nu,hf);scanf(%f,%f,&nu,&hf);for(i=0;i=1e-6) lmd1i=lmdi; vi=sqrt(2*g*di*hf/(li*lmd1i); rei=vi*di/nu; lmdi=CL(dlti,di,rei);qi=pi*di*di*vi/4.0;qq=q0+q1+q2;printf(q1=%7.4fm3/s,v1=%7.2fm,re1=%7.1f,lmd1=%7.2fn,q0,v0,re0,lmd0);printf(q2=%7.4fm3/s,v2=%7.2fm,re2=%7.1f,lmd2=%7.2fn,q1,v1,re1,lmd1);print
18、f(q3=%7.4fm3/s,v3=%7.2fm,re3=%7.1f,lmd3=%7.2f,qq=%7.3fm3/sn,q2,v2,re2,lmd2,qq);3.2并联管路沿程损失的计算分析:此题为关联管路的第二类问题。由于只知道总流量,各分支流量及能量损失均不知道,因此计算较复杂,其具体步骤如下: 1)根据经验,先给定一个hf值 。 2) 由此hf值求出各分支管的流量,(其步骤参见简单管路第二类问题)。3) 计算其和=+4) 将总流量按如下比例分配 =./,=./,=./5) 用计算出的、去求以核对流量分配的正确性, 若求得各分支管路的损失h1、h2、h3中任意两者之间的差小于某一给定精度,
19、则认为hf正确,否则进行下一步。6) 令hf= (h1+h2+h3)/3,重复(b)(c)(d)(e)步骤,直至满足所给定的精度为止。 3.2.1 程序框图见图3-3。YNN开 始计算,打印输出读已知参数给定一个h值=./,=./,=./| h1h2)| h3h2)| h1h3)|=+计算h1、h2、h3hf= (h1+h2+h3)/3结束图3-3并联管路程序框图(2)3.2.2程序代码:#include #include#include#define pi 3.1415926#define g 9.81float CL(float,float,float) ;void main()int i
20、;float dlt3,lmd3,re3,d3,l3,v3,h3,q3;float q13,lmd13;float qt,hf,hff,nu,qq;for(i=0;i3;i+)printf(input:d,l,dlt);scanf(%f,%f,%f,&di,&li,&dlti);printf(input:qq,nu);scanf(%f,%f,&qq,&nu);qt=0;hff=100;loop:for(i=0;i=1e-6) lmd1i=lmdi; vi=sqrt(2*g*di*hf/(li*lmd1i); rei=vi*di/nu; lmdi=CL(dlti,di,rei);q1i=pi*d
21、i*di*vi/4.0;qt=qt+q1i;for(i=0;i3;i+)qi=qq*q1i/qt;vi=4*qi/(pi*di*di);rei=vi*di/nu;lmdi=CL(dlti,di,rei);hi=lmdi*li*vi*vi/(di*2.0*g);hff=(h0+h1+h2)/3.0;if(fabs(h0-h1)=0.01|fabs(h1-h2)=0.01|fabs(h2-h1)=0.01)goto loop;printf(q1=%7.4fm3/s,v1=%7.2fm,re1=%7.1f,lmd1=%7.2f,h1=%7.3fmn,q0,v0,re0,lmd0,h0);printf(q2=%7.4fm3/s,v2=%7.2fm,re2=%7.1f,lmd2=%7.2f,h2=%7.3fmn,q1,v1,re1,lmd1,h1);printf(q3=%7.4fm3/s,v3=%7.2fm,re3=%7.1f,lmd3=%7.2f,h3=%7.3fmn,q2,v2,re2,lmd2,h2);
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100