内燃机设计,程序一

本文介绍了内燃机设计的程序实现,包括关键算法和流程。通过源代码展示,详细解释了程序运行的过程及结果。
摘要由CSDN通过智能技术生成

源程序如下

#include <cstdio>
#include <math.h>
using namespace std;
#define PI 3.1415
int main()
{
   
double a[72][2]={
   {
   0,0.0857},{
   10,0.0894},{
   20,0.0833},{
   30,0.0838},{
   40,\
0.0822},{
   50,0.0818},{
   60,0.0841},{
   70,0.0845},{
   80,0.0834},{
   90,0.0858},{
   100,\
0.0862},{
   110,0.0855},{
   120,0.0892},{
   130,0.0919},{
   140,0.0903},{
   150,0.0929},\
{
   160,0.0947},{
   170,0.0928},{
   180,0.0980},{
   190,0.0976},{
   200,0.0968},{
   210,\
0.1033},{
   220,0.1073},{
   230,0.1167},{
   240,0.1308},{
   250,0.1552},{
   260,0.1783},\
{
   270,0.2191},{
   280,0.2740},{
   290,0.3596},{
   300,0.4990},{
   310,0.7298},{
   320,\
1.1332},{
   330,1.8783},{
   340,3.1401},{
   350,4.6997},{
   360,6.7025},{
   370,7.0849},\
{
   380,5.1156},{
   390,3.5106},{
   400,2.4167},{
   410,1.6797},{
   420,1.2474},{
   430,\
0.9562},{
   440,0.7655},{
   450,0.6405},{
   460,0.5507},{
   470,0.4842},{
   480,0.4413},\
{
   490,0.4053},{
   500,0.3800},{
   510,0.3659},{
   520,0.3423},{
   530,0.3150},{
   540,\
0.2093},{
   550,0.1557},{
   560,0.1379},{
   570,0.1143},{
   580,0.0948},{
   590,0.0821},\
{
   600,0.0915},{
   610,0.0845},{
   620,0.0888},{
   630,0.0974},{
   640,0.1031},{
   650,\
0.0946},{
   660,0.0894},{
   670,0.0842},{
   680,0.0854},{
   690,0.0930},{
   700,0.0967},\
{
   710,0.0936}};//定义数组a
int i;
double b,pg1;
for(i=0;i<=71;i++)
{
   
b=a[i][0];
pg1=a[i][1];
printf("曲柄转角(度)b=%5.2f\n",b);
printf("缸内气体压力(MPa)pg1=%5.4f\n",pg1);
b=b*PI/180;
double function(double z);
double ma=1.38,mb=1.267,m1=0.543,mk1=0.563,mk2=1.15,p2=0.0415,
mk3=2.3,p3=0.0688,r=0.0575,l=0.21,n=2000,e=0.007;
double m2,h,s,w,B,w1,q1,q2,mk;
m2=m1+mb;//连杆质量
h=e/r;//偏心率
s=r/l;//连杆比
w=PI*n/30;//曲柄角速度
B=asin(s*(sin(b)-h));//连杆摆动角位移
w1=s*cos(b)/sqrt(1-s*s*(sin(b)-h)*(sin(b)-h));//连杆角速度
mk=mk1+2*p2*mk2/r-2*p3*mk3/r;
printf("连杆摆动角位移B=%5.2f\n",B);
printf("连杆摆动角速度w1=%5.2f\n",w1);
double x,v,g;
x=r*((1-cos(b))+0.5*s*sin(b)*sin(b)-s*h*sin(b));
v=r*w*(sin(b)+0.5*s*sin(2*b)-s*h*cos(b));
g=r*w*w*(cos(b)+s*cos(2*b)+s*h*sin(b));
printf("活塞位移x=%5.4f\n",x);
printf("活塞速度v=%5.4f\n",v);
printf("活塞加速度g=%5.4f\n",g);
double mj,A,P0,Pg,Pi,P,p,Pn,Pt,t,k;
mj=ma+m1;//往复运动质量
int D=95;
A=PI*D*D/4;
P0=0.101;
Pg=pg1-P0;
Pi=(-1)*mj*g/A;
P=Pg+Pi;
Pn=P*tan(B);
Pt=P/cos(B);
t=Pt*sin(b+B);
k=Pt*cos(b+B);
printf("缸内气压引起的作用力Pg=%5.4f\n",Pg);
printf("往复惯性力Pi=%5.4f\n",Pi);
printf("活塞上的总作用力P=%5.4f\n",P);
printf("活塞侧压力Pn=%5.4f\n",Pn);
printf("连杆力Pt=%5.4f\n",Pt);
printf("切向力t=%5.4f\n",t);
printf("径向力k=%5.4f\n",k);
double kr1,Pqx,Pqy,Pq,Pqx1,Pqy1,aq1,aq;
kr1=mb*r*w*w/A;
Pqx=kr1-k;
Pqy=t;
Pq=sqrt(Pqx*Pqx+Pqy*Pqy);
Pqx1=function(Pqx);
Pqy1=function(Pqy);
aq1=atan(fabs(Pqy/Pqx));
aq=(1-Pqx1)*90+Pqx1*Pqy1*aq1*180/PI;
printf("连杆轴颈正反切角度及负荷:aq=%5.4f,Pq=%5.4f\n",aq,Pq);
double Pp,ap;
Pp=Pq;//连杆轴承负荷
ap=aq+180+b*180/PI+B*180/PI;
printf("连杆轴承正反切角度及负荷:aq=%5.4f,Pp=%5.4f\n",ap,Pp);
double Pc,ac;
double krk,Pzx,Pzy,Pz,Pzx1,Pzy1,az1,az;
krk=mk*r*w*w/A;
Pzx=-0.5*(Pqx+krk);
Pzy=-0.5*t;
Pz=sqrt(Pzx*Pzx+Pzy*Pzy);
Pzx1=function(Pzx);
Pzy1=function(Pzy);
az1=atan(fabs(Pzy/Pzx));
az=(1-Pzx1)*90+Pzx1*Pzy1*az1*180/PI;
printf("第一主轴颈角度及负荷:az=%5.4f,Pz=%5.4f\n",az,Pz);
Pc=Pz;
ac=az+180+b*180/PI;
printf("第一主轴承角度及负荷:ac=%5.4f,Pc=%5.4f\n",ac,Pc);
printf("\n");
}
return 0;
}
double function(double z)//定义符号函数
{
   
double N,M;
N=fabs(z);
M=z/N;
return M;
}

运行结果如下

曲柄转角()b= 0.00
缸内气体压力(MPa)pg1=0.0857
连杆摆动角位移B=-0.03
连杆摆动角速度w1= 0.27
活塞位移x=0.0000
活塞速度v=-0.4014
活塞加速度g=3212.6539
缸内气压引起的作用力Pg=-0.0153
往复惯性力Pi=-0.8716
活塞上的总作用力P=-0.8869
活塞侧压力Pn=0.0296
连杆力Pt=-0.8874
切向力t=0.0296
径向力k=-0.8869
连杆轴颈正反切角度及负荷:aq=1.2668,Pq=1.3381
连杆轴承正反切角度及负荷:aq=179.3565,Pp=1.3381
第一主轴颈角度及负荷:az=189.8553,Pz=0.0864
第一主轴承角度及负荷:ac=369.8553,Pc=0.0864
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值