管道瞬变流动分析c语言作业.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
include vstdio.h include math.h define D 0.209 define g 9.81 define pai 3.14 define n 10 main() { int H0=100; int m,k,L=5000,a=1100, IPR=8 ; float dx,dt,Ad,B,R,f,T,Cp,Cm, Tmax=200; float Q0,v=0.5,i=0.002; float H[n+2],Q[n+2],Hp[n+2],Qp[n+2]; FILE *fp; fp=fopen(运行结果显示 .dat,w); if((fp=fopen(运行结果显示.txt,w))==NULL) {printf(Error\n); exit(0);} dx=L/n; dt=dx/a; Ad=pai*D*D/4; Q0=v*Ad; B=a/g/Ad; f=2*g*i*D/v/v; R=f*dx/2/g/D/Ad/Ad; for(m=1;mn+2;m++) { H[m]=H0-(m-1)*i*dx; Q[m]=Q0; } fprintf(fp,\n 稳态变量 H \n); for(m=1;mn+2;m++) fprintf(fp,%f ,H[m]); fprintf(fp,\n 稳态变量 Q \n); for(m=1;mn+2;m++) fprintf(fp,%f ,Q[m]); T=0.0; k=0; while(T=Tmax) //时间控制语句 { T=T+dt; k=k+1; if(TTmax) fprintf(fp,\n\n 输出到此结束); else { for(m=2;mvn+1;m++) //求内部节点的 H,Q 值 { Cp=H[m-1]+B*Q[m-1]-R*Q[m-1]*fabs(Q[m-1]); Cm=H[m+1]-B*Q[m+1]+R*Q[m+1]*fabs(Q[m+1]); Hp[m]=(Cp+Cm)/2.0; Qp[m]=(Hp[m]-Cm)/B; Cm=H[2]-B*Q[2]+R*Q[2]*fabs(Q[2]); Hp[1]=H[1]; Qp[1]=(Hp[1]-Cm)IB; Cp=H[n]+B*Q[n]-R*Q[n]*fabs(Q[n]); Hp[n+1]=Cp; Qp[n+1]=0.0; for(m=1;mvn+2;m++) { II求前端点的H,Q值 II求后端点的H,Q值 H[m]=Hp[m]; Q[m]=Qp[m]; } if(k/IPR*IPR==k) { II控制输出次数 fprintf(fp,\n\n\n 时间 T : %f\n,T); fprintf(fp,瞬态变量 Hp\n); for(m=1;mvn+2;m++) fprintf(fp,%f ,H[m]); fprintf(fp,\n 瞬态变量 Qp\n); for(m=1;mvn+2;m++) fprintf(fp,%f ,Q[m]); } } } fclose(fp); }

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档