C语言在流体力学中的应用实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
#define PI 3.1415926
#define FOMA T1 printf("Please input the ld's beginning value as ld1= ld2= :\n");
#define FOMA T2 scanf("ld1=%lfld2=%lf\n",&ld11,&ld21);
#define FOMA T3 printf("The answers are:\n");
#define FOMA T4 printf("ld1=%lf v1=%lf\nld2=%lf v2=%lf\nQ=%lf n=%d\n",ld1,V1,ld2,V2,Q,n);
#define FOMA T5 printf("e1=%lf Re1=%lf k1=%lf\ne2=%lf Re2=%lf k2=%lf\n",e1,fRe(fv1(ld1,ld2),d1),k1,e2,fRe(fv2(ld1,ld2),d2),k2);
double
Ce=0.5,L1=300.0,d1=0.6,K1=0.0015,L2=240.0,d2=0.9,K2=0.0003,V=1.0e-6,H=6.0,g=9.807; double fv1(double x1,double x2)
{ double c1,c2,c3,v;
c1=L1/d1;
c2=L2/d2*pow(d1/d2,4);
c3=Ce+pow(1-pow(d1/d2,2),2)+pow(d1/d2,4);
v=sqrt(2*g*H/(c1*x1+c2*x2+c3));
return v;
}
double fv2(double x1,double x2)
{ double c1,c2,c3,v;
c1=L1/d1*pow(d2/d1,4);
c2=L2/d2;
c3=Ce*pow(d2/d1,4)+pow(1-pow(d2/d1,2),2)+1;
v=sqrt(2*g*H/(c1*x1+c2*x2+c3));
return v;
}
double fld(double k,double Re)
{ double ld;
ld=0.0055*(1+pow(20000*k+1.0E6/Re,1/3.0));
return ld;
}
double fRe(double v,double d)
{ double Re;
Re=v*d/V;
return Re;
}
double fe(double x1,double x2)
{ double e;
e=fabs((x1-x2)/x2);
return e;
}
void main()
{ double k1,k2;
double ld11=0,ld12=0,ld21=0,ld22=0,v11=0,v12=0,v21=0,v22=0,Re1=0,Re2=0, e1=0,e2=0,ld1=0,ld2=0,V1=0,V2=0,Q=0;
int n=1;
k1=K1/d1;
k2=K2/d2;
FOMA T1
FOMA T2
v11=fv1(ld11,ld21);
Re1=fRe(v11,d1);
ld12=fld(k1,Re1);
v21=fv2(ld12,ld21);
Re2=fRe(v21,d2);
ld22=fld(k2,Re2);
e1=fe(ld11,ld12);
e2=fe(ld21,ld22);
while((e1>=0.001)||(e2>=0.001))
{ ld11=ld12;
ld21=ld22;
v11=fv1(ld11,ld21);
Re1=fRe(v11,d1);
ld12=fld(k1,Re1);
v21=fv2(ld12,ld21);
Re2=fRe(v21,d2);
ld22=fld(k2,Re2);
e1=fe(ld11,ld12);
e2=fe(ld21,ld22);
n=n+1;
}
ld1=ld12;
ld2=ld22;
V1=fv1(ld1,ld2);
V2=fv2(ld1,ld2);
Q=V1*PI*pow(d1,2)/4.0;
FOMA T3
FOMA T4
FOMA T5
}