- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cfd 计算流体力学 第三次作业 程式原始码
Cfd 計算流體力學 第三次作業
程式原始碼
/*cfd 第三次作業 蔡岳峰 /
#include stdio.h
#include math.h
#include conio.h
#define rff(x) ((b-(c*x)*fabs(x)*cd)/a)
main(void)
{
long i,j,n=1000,m=2;
double t0=0.0,z0=0.0,v0=0.0,t,z,v,zv,vv,
rho,rhof,g,d,h=0.01,tmax=10,nu=0.0000149,
rhob,a,b,c,
re=0.0,rv,cd,dt,rz,
d1z,d1v,d2z,d2v,d3z,d3v,d4z,d4v;
char q[20];
printf(please input the value ρ :);
scanf(%lf,rho);
printf(please input the value ρf :);
scanf(%lf,rhof);
printf(please input the value g :);
scanf(%lf,g);
printf(please input the value d :);
scanf(%lf,d);
rhob=rhof/rho;
a=1+rhob/2;
c=(3*rhob)/(4*d);
b=(c-rhob)*g;
t=t0;
z=z0;
v=v0;
/*檔案輸出*/
printf(please input the output file name:);
scanf(%s,q);
FILE *output;
output=fopen(q,w);
fprintf(output,Title=\%s\\n,q);
fprintf(output,variable=zv,vv,z,v\n);
fprintf(output, \n);
/*主程式*/
for(dt=0.0;dt=10.0;dt=dt+0.01)
{
/*條件判別*/
re=fabs(v)*d/nu;
if(re==0.0)
{
cd=0.0;
}
else
{
if(re=1.0)
cd=24/re;
else if(1.0re=400.0)
cd=24/(pow(re,0.646));
else if(400.0re=300000)
cd=0.5;
else if(300000re=2000000)
cd=0.000366*(pow(re,0.4275));
else if(re2000000)
cd=0.18;
}
t=t0+dt;
zv=z0+v0*t+g*t*t/2.0;
vv=v0+g*t;
/*runge-kutta 副程式*/
d1z=h*v;
d1v=h*rff(v);
d2z=h*(v+d1v/2);
d2v=h*rff(v+d1v/2);
d3z=h*(v+d2v/2);
d3v=h*rff(v+d2v/2);
d4z=h*(v+d3v);
d4v=h*rff(v+d3v);
z=z+(d1z+2*d2z+2*d3z+d4z)/6;
v=v+(d1v+2*d2v+2*d3v+d4v)/6;
printf(%.3lf %10.7lf %10.7lf %10.7lf %10.7lf \n,t,zv,vv,z,v);
fprintf(output,%.3lf %10.7lf %10.7lf %10.7lf %10.7lf \n,t,zv,vv,z,v);
}
/*程式收尾
文档评论(0)