资源描述
计算机仿真
直动式溢流阀仿真实验
班 级: 机设13-4班
学 号: 2013210360
姓 名: 杨 尚 武
授课教师: 翟 华
日 期: 2016年4月13日
一、 实验目的
本实验要求学生能掌握连续系统仿真的一般过程,状态变量法的一般过程,键合图法仿真的一般过程,以四阶定步长龙格——库塔法的计算机程序的编写。二、 实验要求
本实验要求学生能掌握连续系统仿真的一般过程,状态变量法的一般过程,键合图法仿真的一般过程,以及四阶定步长龙格—库塔法的计算机程序的编号
要求每个学生参考上述源程序,独立编写C语言源程序或其他高级语言程序,正确计算仿真结果,并绘制压力P(t)和时间t的关系图,以及阀芯位移x(t)和时间t的关系。
三、参考C语言程序
#include "stdio.h"
#include "math.h"
void main()
{FILE * fp;
int i,j,e,g,l,s,n1,n2,b[3][2];
float d1,r1,r2,i1,c1,c2,x1,h1,a1,c,p0,pp,q1,x2,t;
float a[3][3],y[3],u[2],k[3][5],h[5],p[3][5],z[3],d[3][5];
if((fp=fopen("fz1","wb"))==NULL)
{printf("cannot open file\n");
}
fprintf(fp,"digital simulation of hydraulic relief valve\n");
d1=0.012;
r1=0.39e+11;
r2=0.147e+12;
i1=0.0614;
c1=0.8e-12;
c2=0.2e-4;
x1=0.0014;
p0=0.6e+6;
pp=0.3e+7;
q1=0.46e-3;
h1=0.0003;
t=0.0;
n1=5;
n2=55;
a1=0.785*d1*d1;
a[0][0]=-a1*a1*r1/i1;
a[0][1]=-1.0/c2;
a[0][2]=a1/c1;
a[1][0]=1/i1;
a[1][1]=0.0;
a[1][2]=0.0;
a[2][0]=-a1/i1;
a[2][1]=0.0;
a[2][2]=-1/(r2*c1);
for (i=0;i<=2;i++)
{for (j=0;j<=1;j++)
b[i][j]=0;
}
b[0][0]=-1;
b[2][1]=1;
y[0]=0.0;
y[1]=0.0;
y[2]=p0*c1;
x2=q1/(0.7*3.14*d1*sqrt(2.0*pp/900.0));
u[0]=pp*a1-(x1+x2)/c2;
u[1]=q1;
c=-0.7*3.14*d1*sqrt(2.0/900.0);
for(i=0;i<=2;i++)
{k[i][0]=0.0;}
h[0]=0.0;
h[1]=h1/2.0;
h[2]=h1/2.0;
h[3]=h1;
fprintf(fp," T P(T) X(T)\n");
for (e=1;e<=n2;e++)
{for (g=1;g<=n1;g++)
{t=t+h1;
for(j=1;j<=4;j++)
{for(i=0;i<=2;i++)
{p[i][j]=h[j-1]*k[i][j-1];
z[i]=y[i];
z[i]=z[i]+p[i][j];
}
if(z[1]<0.0) z[1]=0.0;
if(y[1]==0.0&&z[0]<0.0)z[0]=0.0;
if(z[2]<0.0) z[2]=0.0;
for (i=0;i<=2;i++)
{d[i][j]=0.0;
for(l=0;l<=2;l++)
{d[i][j]=d[i][j]+a[i][l]*z[l];}
k[i][j]=d[i][j];
for(s=0;s<=1;s++)
{k[i][j]=k[i][j]+b[i][s]*u[s];}
}
if(y[1]==0.0&&k[0][j]<0.0)k[0][j]=0.0;
if(y[1]==0.0&&k[1][j]<0.0)k[1][j]=0.0;
if(y[2]==0.0&&k[2][j]<0.0)k[2][j]=0.0;
if(y[1]>x1)
{k[2][j]=k[2][j]+c*(z[1]-x1)*sqrt(z[2]/c1);
if(y[2]==0.0&&k[2][j]<0.0) k[2][j]=0.0;
}
}
for(i=0;i<=2;i++)
{y[i]=y[i]+h1*(k[i][1]+2*k[i][2]+2*k[i][3]+k[i][4])/6.0;
}
if(y[1]<0.0)y[1]=0.0;
if(y[1]==0.0&&y[0]<0.0)y[0]=0.0;
if(y[2]<0.0)y[2]=0.0;
}
fprintf(fp,"%7.5f %e %e\n",t,y[2]/c1,y[1]);
}
}
四、输出结果
digital simulation of hydraulic relief valve
T P(T) X(T)
0.00150 1.449418e+06 0.000000e+00
0.00300 2.288071e+06 0.000000e+00
0.00450 3.099895e+06 1.151061e-04
0.00600 3.868414e+06 4.654126e-04
0.00750 4.600404e+06 1.006565e-03
0.00900 4.988608e+06 1.692020e-03
0.01050 3.161974e+06 2.095751e-03
0.01200 1.816280e+06 1.854696e-03
0.01350 1.982722e+06 1.433021e-03
0.01500 2.839527e+06 1.252615e-03
0.01650 3.644874e+06 1.364071e-03
0.01800 3.882667e+06 1.673995e-03
0.01950 3.016941e+06 1.839893e-03
0.02100 2.377060e+06 1.706981e-03
0.02250 2.531030e+06 1.497600e-03
0.02400 3.156087e+06 1.446740e-03
0.02550 3.501333e+06 1.583777e-03
0.02700 3.186811e+06 1.717583e-03
0.02850 2.736281e+06 1.695083e-03
0.03000 2.673098e+06 1.579036e-03
0.03150 2.970536e+06 1.515308e-03
0.03300 3.243553e+06 1.563448e-03
0.03450 3.179934e+06 1.648301e-03
0.03600 2.923158e+06 1.665780e-03
0.03750 2.805473e+06 1.611564e-03
0.03900 2.920318e+06 1.561015e-03
0.04050 3.096681e+06 1.568833e-03
0.04200 3.124609e+06 1.614838e-03
0.04350 3.001740e+06 1.639431e-03
0.04500 2.899607e+06 1.619705e-03
0.04650 2.925323e+06 1.587159e-03
0.04800 3.023885e+06 1.580377e-03
0.04950 3.071301e+06 1.601658e-03
0.05100 3.024275e+06 1.621452e-03
0.05250 2.955756e+06 1.617937e-03
0.05400 2.946312e+06 1.600020e-03
0.05550 2.993725e+06 1.590586e-03
0.05700 3.033829e+06 1.598347e-03
0.05850 3.023208e+06 1.611109e-03
0.06000 2.984370e+06 1.613578e-03
0.06150 2.966569e+06 1.605188e-03
0.06300 2.985009e+06 1.597548e-03
0.06450 3.011714e+06 1.598983e-03
0.06600 3.015217e+06 1.606013e-03
0.06750 2.996430e+06 1.609634e-03
0.06900 2.980998e+06 1.606533e-03
0.07050 2.985335e+06 1.601573e-03
0.07200 3.000486e+06 1.600654e-03
0.07350 3.007349e+06 1.603957e-03
0.07500 2.999997e+06 1.606921e-03
0.07650 2.989607e+06 1.606318e-03
0.07800 2.988369e+06 1.603569e-03
0.07950 2.995737e+06 1.602179e-03
0.08100 3.001721e+06 1.603411e-03
0.08250 2.999946e+06 1.605345e-03
五、实验报告
1.直动式溢流阀键合图模型是:
2.直动式溢流阀系统状态方程是:
3.系统压力随时间变化曲线为:
4.阀芯位移随时间变化的曲线为:
展开阅读全文