2021-07-28

该博客探讨了一段模拟油管中压力变化和流量控制的代码。通过设定不同的时间和压力参数,计算了单向阀开启时的流量,并模拟了喷油过程中的进油和出油速率。关键变量包括压强、密度、时间步长、模拟时间等,使用了numpy和pandas库进行计算和数据管理。
摘要由CSDN通过智能技术生成

油管问题

import numpy as np
import pandas as pd
#初始值
T = 0.288   #单向阀开启时间
P[1] = 100  #初始压强
rou = 0.85  #初始密度
dt = 0.001  #时间步长
Tall = 30000  #总模拟时间
t0 = 0      #喷油开始时刻
V = 12500 * pi  #油管体积
m = rou * V  #初始质量
P_I = 160   #入口处的压强
rou_I = 0.87143  #160MPa时的密度
Pe = 100    #期望压强
C = 0.85    #流量系数
A = pi * 0.7 * 0.7  #小孔面积
Itimes = 1  #进油次数
Etimes = 1  #出油次数
I_prev = 0  #前一时刻的进油量
E_prev = 0  #前一时刻的出油量

Tin_start = 0  #进油开始时刻
Tin_end = T  #进油结束时刻

Tout_start = t0  #第一次喷油开始时刻
Tout_1 = tout_start + 0.2  #出油速率第一段
Tout_2 = Tout_1+2  #出油速率第二段
Tout_end = Tout_2 + 0.2  #出油速率第三段,完成一个周期的出油
t0 = np.arange(0,97.6,0.001)
for i in range(1,n1+1,1):
    ou1[i] = [0 + (i-1) * (T+10) , T + (i-1) * (T+10)]
for j in range(1,n2+1,1):
    ou2[j] = [t0 + 100 * (j-1),2.4 + t0 + 100 * (j-1)]

for i in range(1,n1+1,1):
    for t in range(ou1[i]):
        Q1[t] = C * A * sqrt(2 * dP / rou_I)
        I[t] = Q1[t]
for j in range(1,n2+1,1):
    for t in range(ou2[j]):
        if t1 in range(0,0.2,0.001):
            Q2[t] = 100 * t1
        if t1 in range(0.2,2.2,0.001):
            Q2[t] = 20
        if t1 in range(2.2,2.4,0.001):
            Q2[t] =240 - 100 * t1
        E[t] = Q2[t]
    t1 = t - to + 100 * (j-1)
m[0] = rou[0] * V
m[t+0.001]-m[t] = (rou_I * I[t] - rou[t] * E[t])
dm / dt = rou_I * I - rou[t] * V
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值