一只本科生 の 小站|

夏课

园龄:2年3个月粉丝:2关注:0

2022-11-23 17:41阅读: 478评论: 0推荐: 1

工程流体力学一维流动损失问题(编程作业)


注:本文仅供交流学习使用!

题目详情


往车间容器送水的输水管道是由两段新的无缝不锈钢管串联而成,已知
d1 = 20 cm ,
L1 = 30 m ,
d2 = 40 cm ,
L2 = 60 m ,
管 1 为锐边进口,管 2 上的阀门的损失系数 ξ = 3.5 .
已知上游压力水塔具有的总水头是 12 m ,试求通过管道的体积流量。

计算分析


已知条件

管道 1 入口处    ξ1=0.5
两管道交界处    ξ2=(1d12d22)2=0.5625
阀门处       ξ3=3.5
管道 2 出口处    ξ4=1
20 ℃ 水的粘度    ν=1.007×106 m2/s
绝对粗糙度     ε=0.046 mm

计算公式

H=hf+hj=(λld+ξ)v22g=(λ1l1d1+ξ1+ξ2)v122g+(λ2l2d2+ξ3+ξ4)v222g
λ1/2=2logε3.71d+2.51Reλ1/2 λ=[2.51Re2Relogε3.71d]2 Re=vdv π4d12v1=π4d22v2

计算流程

试取 λ1 、λ2 并代入 H 中得到 v1 、v2 ,由 v1 、v2 计算出对应的 λ1 、λ2 ,并以此 λ1 、λ2 作为改进值,重复上述计算。当连续两次计算得到对应 λ 的差值小于 0.0001 ,可认为沿程损失系数符合要求。此时得到的 v1 、v2 正是符合要求的流速。
通过管道的体积流量 qv=π4d22v2

程序框图


源码


import numpy as np
import math as mt
def sunshi_yancheng(sd, zj): # 定义函数求沿程损失系数
"""求沿程能量损失系数ss"""
re = sd * zj / n
c1 = (2.51-re)
c2 = m/(3.71*zj)
c3 = np.log10(c2)
ss = (c1/(2*re*c3))**2 # 沿程损失系数
return ss # 将值存储在函数中
d1 = 0.2 # 管道1直径
d2 = 0.4 # 管道2直径
l1 = 30 # 管道1长度
l2 = 60 # 管道2长度
h = 12 # 损失水头
g = 9.8 # 重力加速度
a1 = 0.5 # 入口损失系数
a2 = (1-(d1**2)/d2**2)**2 # 管道1、2交界处损失系数
a3 = 3.5 # 阀门损失系数
a4 = 1 # 出口损失系数
n = 0.000001007 # 20摄氏度水的运动粘度
m = 0.000046 # 低碳钢管绝对粗糙度
ss1 = float(input("试取管道1沿程损失系数:"))
ss2 = float(input("试取管道2沿程损失系数:"))
while True:
x = 16*(ss1*l1/d1+a1+a2)+ss2*l2/d2+a3+a4
v = (2*g*h/x)**0.5 # 管道2内流速
v1 = v*(d2**2)/(d1**2) # 管道1内流速
ss11 = sunshi_yancheng(v1, d1)
ss22 = sunshi_yancheng(v, d2) # 初始数据计算出的沿程损失系数
pd1 = abs(ss11-ss1)
pd2 = abs(ss22-ss2)
if pd1 < 0.0001 and pd2 < 0.0001: # 误差判定
break
else:
ss1 = ss11
ss2 = ss22 # 将得到的沿程损失系数作为改进值,代入重复计算
pi = mt.pi
qv = pi*(d2**2)*v/4 # 体积流量
answer = '体积流量是'+str(qv)+'立方米每秒'
print("管道1沿程损失系数为"+str(ss1))
print("管道2沿程损失系数为"+str(ss2))
print(answer)

点击运行后手动输入 λ1、λ2 (输入任意数值即可,最后算出来的结果都在误差范围内)

本文作者:夏课

本文链接:https://www.cnblogs.com/xiakela/p/16916850.html

版权声明:原创文章,采用 CC BY-NC-ND 协议 进行许可

资源扩散:欢迎扩散💗转载请注明原文链接

联系博主:放一个 邮箱💌 在这

posted @   夏课  阅读(478)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开