没有合适的资源?快使用搜索试试~ 我知道了~
PR状态方程程序C++
5星 · 超过95%的资源 需积分: 43 52 下载量 108 浏览量
2015-05-20
23:37:13
上传
评论 3
收藏 11KB TXT 举报
温馨提示
试读
15页
用于计算N2,CO2和CH4气体的摩尔总量,需要指定温度,压力和容积,可以成批计算,最多20个.
资源推荐
资源详情
资源评论
// N2-CH4-CO2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <cmath>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
using namespace std;
double PressZ(double T, double P, double y1, double y2, double y3) //压缩因子计算,1为甲烷,2为二氧化碳,3为氮气
{
double Tc[5] = { 0, 190.6, 304.2, 126.2 };
double Pc[5] = { 0, 4.6103e+6, 7.3765e+6, 3.3944e+6 };
double w[5] = { 0, 0.008, 0.225, 0.040 };
double R = 8.3144625;
double ac[5] = { 0 };
double bc[5] = { 0 };
double k[5] = { 0 };
double alpha[5] = { 0 };
double a[5] = { 0 };
double b[5] = { 0 };
int i = 1;
for (i = 1; i<4; i++)
//
#include "stdafx.h"
#include <cmath>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
using namespace std;
double PressZ(double T, double P, double y1, double y2, double y3) //压缩因子计算,1为甲烷,2为二氧化碳,3为氮气
{
double Tc[5] = { 0, 190.6, 304.2, 126.2 };
double Pc[5] = { 0, 4.6103e+6, 7.3765e+6, 3.3944e+6 };
double w[5] = { 0, 0.008, 0.225, 0.040 };
double R = 8.3144625;
double ac[5] = { 0 };
double bc[5] = { 0 };
double k[5] = { 0 };
double alpha[5] = { 0 };
double a[5] = { 0 };
double b[5] = { 0 };
int i = 1;
for (i = 1; i<4; i++)
{
ac[i] = 0.45724*R*R*Tc[i] * Tc[i] / Pc[i];
bc[i] = 0.07780*R*Tc[i] / Pc[i];
k[i] = 0.37464 + 1.54226*w[i] - 0.26992*w[i] * w[i];
alpha[i] = (1 + k[i] * (1 - sqrt((float)T / Tc[i])))*(1 + k[i] * (1 - sqrt((float)T / Tc[i])));
a[i] = ac[i] * alpha[i];
b[i] = bc[i];
}
double aa, bb, ax[9] = { 0 };
double kij[9] = { 0, 0.120, 0.0311, 0.0170 }; //ax[i]为气体交互作用系数 aij[1]为甲烷-二氧化碳交互系数,aij[2]为甲烷-氮气交互系数,aij[3]为二氧化碳-氮气交互系数
ax[1] = (1 - kij[1])*sqrt(a[1] * a[2]);
ax[2] = (1 - kij[2])*sqrt(a[1] * a[3]);
ax[3] = (1 - kij[3])*sqrt(a[2] * a[3]);
aa = y1*y1*a[1] + y1*y2*ax[1] + y1*y3*ax[2] + y2*y1*ax[1] + y2*y2*a[2] + y2*y3*ax[3] + y3*y1*ax[2] + y3*y2*ax[3] + y3*y3*a[3];
bb = y1*b[1] + y2*b[2] + y3*b[3];
double A, B, Z1, Z2;
A = aa*P / (R*R*T*T);
B = bb*P / (R*T);
Z2 = 0.9;
ac[i] = 0.45724*R*R*Tc[i] * Tc[i] / Pc[i];
bc[i] = 0.07780*R*Tc[i] / Pc[i];
k[i] = 0.37464 + 1.54226*w[i] - 0.26992*w[i] * w[i];
alpha[i] = (1 + k[i] * (1 - sqrt((float)T / Tc[i])))*(1 + k[i] * (1 - sqrt((float)T / Tc[i])));
a[i] = ac[i] * alpha[i];
b[i] = bc[i];
}
double aa, bb, ax[9] = { 0 };
double kij[9] = { 0, 0.120, 0.0311, 0.0170 }; //ax[i]为气体交互作用系数 aij[1]为甲烷-二氧化碳交互系数,aij[2]为甲烷-氮气交互系数,aij[3]为二氧化碳-氮气交互系数
ax[1] = (1 - kij[1])*sqrt(a[1] * a[2]);
ax[2] = (1 - kij[2])*sqrt(a[1] * a[3]);
ax[3] = (1 - kij[3])*sqrt(a[2] * a[3]);
aa = y1*y1*a[1] + y1*y2*ax[1] + y1*y3*ax[2] + y2*y1*ax[1] + y2*y2*a[2] + y2*y3*ax[3] + y3*y1*ax[2] + y3*y2*ax[3] + y3*y3*a[3];
bb = y1*b[1] + y2*b[2] + y3*b[3];
double A, B, Z1, Z2;
A = aa*P / (R*R*T*T);
B = bb*P / (R*T);
Z2 = 0.9;
剩余14页未读,继续阅读
资源评论
- lengxl2019-03-13希望能够有用, 我需要多种物质相平衡的.
- jimmy-11122016-12-23感谢分享 正在学习当中
neiglace
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功