- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
火药物理化学性能例8.doc
火药物理化学性能程序
班级 学号: 姓名:
例8:
#includeiostream.h
#includestdio.h
#includemath.h
#define M 100
void main()
{
double a[4],a1[4],b[5],c[5],K[5],K1[5],sum[M],A,JD,Kw1,q=0.0,n=0.0,Kw=7.296,P=70.0;
//定义双精度浮点型各参数
int i,j,k=1,m=1;
//定义整形各参数
/*a[0]=n(C),a[1]=n(H),a[2]=n(O),a[3]=n(N)*/
//a[0]到a[4]分别代表假定化学式中各物质的量
/*b[0]=n(CO2),b[1]=n(CO),b[2]=n(H2O),b[3]=n(H2),b[4]=n(N2)*/
//b[0]到b[4]分别代表CO2,CO,H2O,H2,N2的物质的量
/*c[0]=n(H),c[1]=n(OH),c[2]=n(NO),c[3]=n(O),c[4]=n(O2)*/
//c[0]到c[4]分别代表各离解产物H,OH,NO,O,O2的物质的量
/*K[i]表示解离反应的平衡常数*/
a[0]=25.5243,a[1]=33.1277,a[2]=33.0757,a[3]=9.3395;//赋值假定化学式摩尔质量
K[0]=0.3293,K[1]=0.05354,K[2]=0.02472,K[3]=0.005489,K[4]=0.005073;
//赋值离解反应各平衡常数
printf(班级 学号:1104054142 姓名:刘威\n);//输出学生信息
printf(SF-2火药的假定化学式:C25.5243H33.1277O33.0757N9.3395\n);//输出所求物质的假定化学式
for(i=0;i5;i++)
c[i]=0;//先假设解离产物物质的量为0
A=(Kw*(a[0]+a[1]/2-a[2])+a[2])/(2*(Kw-1));//套用公式求出A
b[0]=-A+sqrt(A*A+a[0]*(a[2]-a[0])/(Kw-1));
b[1]=a[0]-b[0];
b[2]=a[2]-a[0]-b[0];
b[3]=a[1]/2-b[2];
b[4]=a[3]/2;
//求出第一次迭代时各非离解反应的物质的量
printf(n=%d\n,k);
k++;
for(j=0;j5;j++)
printf(%-4lf ,b[j]);
printf(\n);
for(j=0;j5;j++)
printf(%-4lf ,c[j]);
printf(\n);
//输出所求各反应组分的值
for(i=0;i5;i++)
q=q+b[i]+c[i];
sum[0]=q;
//求出第一次迭代时1Kg燃烧产物的总物质的量,并将其保存在sum[M]中
c[0]=sqrt(K[2]*b[3]/(P/sum[0]));
c[1]=K[1]*b[2]/sqrt(b[3]*P/sum[0]);
c[2]=(K[3]*b[2]*sqrt(b[4]))/(b[3]*sqrt(P/sum[0]));
c[3]=K[4]*b[2]/(b[3]*P/sum[0]);
c[4]=((K[0]*b[0])*(K[0]*b[0]))/(b[1]*b[1]*P/sum[0]);
//求出第二次迭代前各解离产物的物质的量
do{
a[0]=a[0]-0.00;
a[1]=a[1]-c[0]-c[1];
a[2]=a[2]-c[1]-c[2]-c[3]-2*c[4];
a[3]=a[3]-c[2];
//修正C,H,O,N的物质的量
A=(Kw*(a[0]+a[1]/2-a[2])+a[2])/(2*(Kw-1));//套用公式求出A
b[0]=-A+sqrt(A*A+a[0]*(a[2]-a[0])/(Kw-1));
b[1]=a[0]-b[0];
b[2]=a[2]-a[0]-b[0];
b[3]=a[1]/2-b[2];
b[4]=a[3]/2;
//利用公式求出各非解离产物
for(i=0;i5;i++)
n=n+b[i]+c[i];
sum[m]=n;
n=0.0;//n值归零,以便下次计算各燃
文档评论(0)