2019年国赛高教杯数学建模A题高压油管的压力控制解题全过程文档及程序

329 篇文章 54 订阅
26 篇文章 18 订阅

2019年国赛高教杯数学建模

A题 高压油管的压力控制

原题再现

  燃油进入和喷出高压油管是许多燃油发动机工作的基础,图 1 给出了某高压燃油系统的工作原理,燃油经过高压油泵从 A 处进入高压油管,再由喷口 B 喷出。燃油进入和喷出的间歇性工作过程会导致高压油管内压力的变化,使得所喷出的燃油量出现偏差,从而影响发动机的工作效率。
在这里插入图片描述
  问题 1. 某型号高压油管的内腔长度为 500mm,内直径为 10mm,供油入口A 处小孔的直径为 1.4mm,通过单向阀开关控制供油时间的长短,单向阀每打开一次后就要关闭 10ms。喷油器每秒工作 10 次,每次工作时喷油时间为 2.4ms,喷油器工作时从喷油嘴 B 处向外喷油的速率如图 2 所示。高压油泵在入口 A 处提供的压力恒为 160 MPa,高压油管内的初始压力为 100 MPa。如果要将高压油管内的压力尽可能稳定在 100 MPa 左右,如何设置单向阀每次开启的时长?如果要将高压油管内的压力从 100 MPa 增加到 150 MPa,且分别经过约 2 s、5 s 和10 s 的调整过程后稳定在 150 MPa,单向阀开启的时长应如何调整?

在这里插入图片描述
  问题2. 在实际工作过程中,高压油管A处的燃油来自高压油泵的柱塞腔出口,喷油由喷油嘴的针阀控制。高压油泵柱塞的压油过程如图3所示,凸轮驱动柱塞上下运动,凸轮边缘曲线与角度的关系见附件1。柱塞向上运动时压缩柱塞腔内的燃油,当柱塞腔内的压力大于高压油管内的压力时,柱塞腔与高压油管连接的单向阀开启,燃油进入高压油管内。柱塞腔内直径为5mm,柱塞运动到上止点位置时,柱塞腔残余容积为20mm3。柱塞运动到下止点时,低压燃油会充满柱塞腔(包括残余容积),低压燃油的压力为0.5 MPa。喷油器喷嘴结构如图4所示,针阀直径为2.5mm、密封座是半角为9°的圆锥,最下端喷孔的直径为1.4mm。针阀升程为0时,针阀关闭;针阀升程大于0时,针阀开启,燃油向喷孔流动,通过喷孔喷出。在一个喷油周期内针阀升程与时间的关系由附件2给出。在问题1中给出的喷油器工作次数、高压油管尺寸和初始压力下,确定凸轮的角速度,使得高压油管内的压力尽量稳定在100 MPa左右。

在这里插入图片描述
  问题3. 在问题2的基础上,再增加一个喷油嘴,每个喷嘴喷油规律相同,喷油和供油策略应如何调整?为了更有效地控制高压油管的压力,现计划在D处安装一个单向减压阀(图5)。单向减压阀出口为直径为1.4mm的圆,打开后高压油管内的燃油可以在压力下回流到外部低压油路中,从而使得高压油管内燃油的压力减小。请给出高压油泵和减压阀的控制方案。
在这里插入图片描述

  注1. 燃油的压力变化量与密度变化量成正比,比例系数为𝐸/
𝜌,其中𝜌为燃油的密度,当压力为100 MPa时,燃油的密度为0.850 mg/mm3。𝐸为弹性模量,其与压力的关系见附件3。
  注2. 进出高压油管的流量为𝑄 = 𝐶𝐴 √ ̄2Δ𝑃/𝜌,其中𝑄为单位时间流过小孔的燃油量(mm3/ms),𝐶 = 0.85为流量系数,𝐴为小孔的面积(mm2),Δ𝑃为小孔两边的压力差(MPa),𝜌为高压侧燃油的密度(mg/mm3)。

整体求解过程概述(摘要)

  高压油管是燃油发动机供油系统中连接喷油泵与喷油器的重要零部件,其内部压力的变化会影响发动机的工作效率。对于给定参数规格的高压油管,本文通过建立数学模型,研究了不同进油、喷油方式下油管内压力变化情况。
  对于问题一,首先根据题目给定的压力变化量与密度变化量的对应关系,通过数值积分的方式,得到了一定精度下,不同燃油密度对应的燃油压力。建立进出油过程中油管内部压力变化的微分方程,即高压油管内部压力变化的微分模型,在此基础上研究了油管系统随时间的波动情况和稳态性质。将单向阀开启时间作为决策变量,以稳态阶段油管燃油压力与期望压力偏差的平方和为目标函数,建立基于油管压力变化微分模型的优化模型,并将微分模型改写成差分形式,通过编程遍历求解得到最优单向阀开启时长为 0.288ms。通过对模型稳态的研究,将期望压力设定为 150MPa,结合上述微分模型,通过数值模拟求解得出,调整时间为 2s 的策略为 0 到 2s 内单向阀每次开启时长为 0.913ms,随后开启时长变为0.752ms; 调整时间为 5s 的策略为 0 到 5s 内单向阀每次开启时长为 0.755ms,随后开启时长变为 0.752ms; 调整时间为 10s 的策略为 0 到 4.1s 内单向阀每次开启时长为 0.288ms,随后开启时长变为 0.752ms。
  对于问题二,针对重新定义的高压油泵供油方式和喷油嘴的出油方式,首先研究柱塞腔内压力变化与凸轮转动的关系,建立柱塞腔内压力变化的微分模型。接着分析针阀运动,确定喷油嘴有效面积与针阀运动的关系。最后,建立油管系统压力变化的微分模型,并将其转化为差分形式,以凸轮转动角速度作为决策变量建立优化模型。通过编程遍历求解得出凸轮转动角速度的最优值为27.5rad/s。
  对于问题三,将两个喷油嘴工作时间的间隔和凸轮转动角速度共同作为决策变量,重新定义出油量,建立了两个喷油嘴的高压油管系统二元最优化模型。通过数值模拟的方法得到凸轮角速度最优值为 55rad/s,喷油嘴工作时间间隔为50ms。进一步考虑安装减压阀后的情况,分别研究泄压阀式和电磁阀式的减压阀。对于含泄压阀的油管系统,将泄压阈值作为新的决策变量,改进上一小问的模型,通过数值模拟求解得到一个最优解为压力阈值取 100MPa,凸轮角速度为440 rad/s。对于含电磁阀的油管系统,将电磁阀开启时长和关闭时长作为决策变量建立多元优化模型,通过数值模拟求解得到一个最优解为每 50ms 泄压阀工作 2ms,且距离上一次喷油嘴出油间隔为 25.225ms,此时凸轮角速度为 110 rad/s。随后,对两种减压阀的减压效果做出评价。最后,给出了模型的优缺点和改进方法。

模型假设:

  1 高压油管是刚体,不考虑其形变;
  2 高压油管的体积是理想圆柱体体积;
  3 不考虑高压油管内壁对油的粘滞力;
  4 不考虑液体压力波动和压力传播的时间,腔内液压处处相等;
  5 整个系统温度恒定;
  6 不考虑供油入口和喷油口的阀门开关的延迟时间。

问题分析:

  问题的研究对象是高压油管,研究内容为其中燃油的压力变化情况。该问题描述了该系统在不同的进油和出油方式下的压力变化特点,并在不同的进油和出油方式下提出了不同的要求。

问题一分析

  第一小问:问题定义了恒定的出油方式,同时其定义的进油方式只和系统压力与单向阀每次开启时长相关。其次提出了“将高压油管内的压力尽可能稳定在100MPa左右”的要求。这首先要求我们对“尽可能稳定在100MPa附近”做出描述,其次由问题描述易知,系统唯一的可改变变量为单向阀开启时长,这就要求我们将其作为决策变量,研究上述描述的最优化问题。
  第二小问:问题要求我们在不同的时间内将系统压力从100MPa调整到150MPa并使其稳定。这首先要求我们先将前一小问中期望的压力设定为150MPa,研究如何设定单向阀开启时间使其稳定,然后另外确定一个单向阀开启时间使得在规定时间内,系统压力能够从100MPa上升到150MPa。

问题二分析

  该问题重新定义了进油出油方式,此时进油方式将与凸轮的角速度有关,这要求我们在问题一的基础上重新描述进出油方式,并将决策变量设定为凸轮的角速度。同时由于引进了柱塞腔与凸轮的概念,这要求我们将其作为一个与高压油管相关联的子系统,并对其做出描述。

问题三分析

  第一小问:该问题在问题二的基础上,给系统新加了一个喷油嘴,由此出油方式将会发生改变,由于新加的喷油嘴的喷油时间是否与原来的时间重合未得到描述,所以这需要我们将这一问题作为一个决策变量。
  第二小问:在前一小问的基础上,又定义了一个泄压阀。由于问题未对其工作方式进行准确的描述,所以需要我们对泄压阀工作方式进行定义,并且将其作为一个决策因素。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:(代码和文档not free)

The actual procedure is shown in the screenshot

1. clear;
2. %% 程序初始化
3. drou=0.00001; %密度变化步长
4. rou1(1)=0.85; %已知初始密度(100-200)
5. rou2(1)=0.85; %(0-100)
6. p1(1)=100; %已知初始压强(100-200)
7. p2(1)=100; %(0-100)
8. n=1; %计数器
9. %% 算法主体
10. while(p1(end)>=0)
11. n=n+1;
12. rou1(n)=rou1(n-1)-drou;
13. i=floor((p1(n-1))/50);
14. if i==0
15. E=1538.4;
16. elseif i==1
17. E=fun1(p1(n-1));
18. else
19. E=fun2(p1(n-1));
20. end
21. dp=E/((rou1(n-1)+rou1(n))/2)*drou;
22. p1(n)=p1(n-1)-dp;
23. end
24. n=1;
25. while(p2(end)<=500)
26. n=n+1;
27. rou2(n)=rou2(n-1)+drou;
28. i=floor((p2(n-1)-100)/50)+3;
29. if i==5
30. E=3393.4;
31. elseif i==3
32. E=fun3(p2(n-1));
33. else
34. E=fun4(p2(n-1));
35. end
36. dp=E/((rou2(n-1)+rou2(n))/2)*drou;
37. p2(n)=p2(n-1)+dp;
38. end
39. %% 数据拼接
40. for i=1:size(p1,2)
41. Result(1,i)=p1(size(p1,2)+1-i);
42. Result(2,i)=rou1(size(p1,2)+1-i);
43. end
44. p2(:,1)=[];
45. rou2(:,1)=[];
46. Result=[Result [p2;rou2]];
47. if Result(1,1) < 0 %去除首尾无效数据
48. Result(:,1)=[];
49. end
50. if Result(1,end)>200
51. Result(:,end)=[];
52. end
53. clear dp drou E i n p1 p2 rou1 rou2;
54. %% 分段多项拟合的函数
55. function [e]=fun1(p) %0-49.5
56. e=0.00004*p3+0.0106*p^2+4.872*p+1538.4;
57. end
58. function [e]=fun2(p) %50-99.5
59. e=0.00006*p^3+0.0062*p^2+5.1165*p+1533.7;
60. end
61.
61. function [e]=fun3(p) %100-149.5
62. e=0.0000005*p4-0.0001*p3+0.0308*p^2+3.5249*p+1573.3;
63. 
64. end
65.
65. function [e]=fun4(p) %150-200
66. e=0.000001*p^4-0.0007*p^3+0.159*p^2-9.9328*p+2104.3;
67. end
68. clear;
69. tic;
70. %% 数据载入
71. load P_rou.mat %P 与 Rou 的对应关系
72. P_ref=P_rou(1,:);
73. Rou_ref=P_rou(2,:);
74. dtt=0.00001; %对应关系里的时间精度
75. %% 数据初始化
76. %可调参数
77. T=0.288; %单向阀开启时间
78. P(1)=100; %初始压强
79. rou=0.85; %初始密度(调节压强的时候请同时条件密度)
80. dt=0.001; %时间步长(精度)
81. Tall=30000; %总模拟时间
82. t0=0; %喷油开始时刻
83. %其他参数
84. V=12500*pi; %油管体积
85. m=rou*V; %初始质量
86. P_I=160; %入口处的压强
87. rou_I=0.87143; %160MPa 时的密度
88. Pe=100; %期望压强
89. C=0.85; %流量系数
90. A=pi*0.7*0.7; %小孔面积
91. Itimes=1; %进油次数
92. Etimes=1; %出油次数
93. I_prev=0; %前一时刻的进油量
94. E_prev=0; %前一时刻的出油量
95. %进油第一个周期的时长
96. Tin_start=0; %进油开始时刻
97. Tin_end=T; %进油结束时刻
98. %出油第一个周期的时长
99. Tout_start=t0; %第一次喷油开始的时刻
100. Tout_1=Tout_start+0.2; %出油速率第一段
101. Tout_2=Tout_1+2; %出油速率第二段
102. Tout_end=Tout_2+0.2; %出油速率第三段,完成一个周期内的出
油工作
103. %% 主程序
104. for i=2:1:Tall/dt %0—Tallms
105. %时间步进
106. t=(i-1)*dt;
107. %计算 t 时刻的燃油质量 m(t)
108. %判断是否同时有进油和出油
109. if t>Tin_start && t<=Tin_end && t>Tout_start && t<=T
out_end
110. %同时有进油和出油
111. I_now=C*A*sqrt(2*(P_I-P(i-1))/rou_I);%当前进油流
量
112. I=(I_now+I_prev)/2;
113. I_prev=I_now;
114. %计算出油流量速率
115. if t<Tout_1
116. E_now=100*(t-t0-100*(Etimes-1));
117. E=(E_now+E_prev)/2;
118. E_prev=E_now;
119. elseif t<Tout_2
120. E_now=20;
121. E=(E_now+E_prev)/2;
122. E_prev=E_now;
123. else
124. E_now=240-100*(t-t0-100*(Etimes-1));
125. E=(E_now+E_prev)/2;
126. E_prev=E_now;
127. end
128. elseif t>Tin_start && t<=Tin_end %只有进
油
129. I_now=C*A*sqrt(2*(P_I-P(i-1))/rou_I); %当前进油
流量
130. I=(I_now+I_prev)/2;
131. I_prev=I_now;
132. E_now=0;
133. E=(E_now+E_prev)/2;
134. E_prev=E_now;
135. %出油是否进入下一个周期
136. if abs(t-(Tout_start+100))<0.001
137. Etimes=Etimes+1; %新一次出油周期即将开始
138. Tout_start=t;
139. Tout_1=Tout_start+0.2; %出油速率第一段
140. Tout_2=Tout_1+2; %出油速率第二段
141. Tout_end=Tout_2+0.2; %出油速率第三段,完成一个周期内的出油工作
142. end
143. elseif t>Tout_start && t<=Tout_end %只有出油
144. I_now=0;
145. I=(I_now+I_prev)/2;
146. I_prev=I_now;
147. if t<Tout_1
148. E_now=100*(t-t0-100*(Etimes-1));
149. elseif t<Tout_2
150. E_now=20;
151. else
152. E_now=240-100*(t-t0-100*(Etimes-1));
153. end
154. E=(E_now+E_prev)/2;
155. E_prev=E_now;
156. %进油是否进入下一个周期
157. if abs(t-(Tin_end+10))<0.001
158. Itimes=Itimes+1; %新一次进油周期即
将开始
159. Tin_start=t;
160. Tin_end=t+T; %进油结束时刻
161. end
162. else %没有进油和出油
163. I_now=0;
164. I=(I_now+I_prev)/2;
165. I_prev=I_now;
166. E_now=0;
167. E=(E_now+E_prev)/2;
168. E_prev=E_now;
169. if abs(t-(Tin_end+10))<0.001
170. Itimes=Itimes+1; %新一次进油周期即将开始
171. Tin_start=t;
172. Tin_end=t+T; %进油结束时刻
173. end
174. if abs(t-(Tout_start+100))<0.001
175. Etimes=Etimes+1; %新一次出油周期即将开始
176. Tout_start=t;
177. Tout_1=Tout_start+0.2; %出油速率第一段
178. Tout_2=Tout_1+2; %出油速率第二段
179. Tout_end=Tout_2+0.2; %出油速率第三段,完成一个周期内的出油工作
180. end
181. end
182. m=m+dt*(rou_I*I-rou*E);
183. rou=m/V;
%计算 t 时刻的密度
184. P(i)=P_ref(int16(floor(rou/dtt)-Rou_ref(1)/dtt+1)); %计算 t 时刻的压强
185. end
186. clear A C dt dtt E E_now E_prev Etimes i I I_now I_pr
ev Itimes k m P_I P_ref P_rou Pe qw rou rou_I Rou_ref t T
t0 Tall Tin_end Tin_start Tout_1 Tout_2 Tout_end Tout_st
art V W Z
187. %% 图形显示
188. plot(P);
189. toc
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值