Итак, я пытаюсь написать код Python для расчета падения давления воздуха в трубе. Это реальное промышленное применение, поэтому оно должно быть точным. Мне нужно что-то простое и понятное. Самое сложное заключается в том, что плотность воздуха меняется по мере продвижения по трубе.
Это то, что у меня есть и кажется работает, но мне нужно что-то более простое и эффективное. :
import numpy as np
# STRAIGHT PIPING LOSS:
# ---------------------------------------------------------------------------------------------------------------------------------------------
T=294 #TEMPERATURE OF AIR IN TANK TO BE RELIEVED, LOWER IS MORE CONSERVATIVE
R=287 #SPECIFIC GAS CONSTANT OF AIR
Vdot_NFPA=0.4441 #VOLUME FLOW RATE REQUIRED BY NFPA30 ANNEX B
pipe_diam=0.154051 #INTERNAL DIAMETER OF PIPE
area=0.25*np.pi*pipe_diam**2 #CROSS SECTIONAL AREA OF PIPE
dyn_visc=2.08025e-5 #DYNAMIC VISCOSITY OF AIR
epsilon=0.000046 #PIPE ROUGHNESS IN METERS
P_atm=100594 #ATMOSPHERIC PRESSURE
P=100000 #FIRST "GUESS" FOR PRESSURE TO INITIALIZE SOLVER
testpoints=np.linspace(100000,130000,50000)
for k in range(len(testpoints)):
rho=P/R/T #DENSITY AT Kth NODE
if k==0:
mdot=rho*Vdot_NFPA #USE DENSITY AT THE FIRST NODE TO COMPUTE MASS FLOW RATE (MASS FLOW RATE IS CONSTANT)
node_spacing=0.1 #ESTABLISH NODE SPACING IN METERS
pipe_nodes=np.arange(0,8.0,node_spacing) #ESTABISH ARRAY OF EVENLY SPACED NODES
loss_array=np.zeros(len(pipe_nodes)-1) #INITIALIZE ARRAY OF PRESSURE LOSSES
pressure_array=np.zeros(len(pipe_nodes)-1) #INITIALIZE ARRAY OF ABSOLUTE PRESSURES
for j in range(len(loss_array)):
f=(-1.8*np.log10((epsilon/(pipe_diam*3.7))**1.11+(6.9/(pipe_diam*(P/R/T)*(mdot/rho/area)/dyn_visc))))**(-2) #E HAALAND FRICTION FACTOR
loss_array[j]=(f*node_spacing/pipe_diam)*(rho/2)*(mdot/rho/area)**2 #CALCULATE LOSS AT EACH NODE
pressure_array[j]=P-loss_array[j] #TRANSFORM LOSS INTO ABSOLUTE PRESSURE
P=pressure_array[j] #UPDATE THE ABSOLUTE PRESSURE
rho=P/R/T #ASSIGN A NEW DENSITY BASED ON THE NEW PRESSURE
if pressure_array[-1]
Подробнее здесь: https://stackoverflow.com/questions/791 ... ir-in-pipe
Мне нужно написать код Python для расчета падения давления воздуха в трубе [закрыто] ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Решение дифференциального уравнения для перепада давления сжимаемой жидкости в трубе
Anonymous » » в форуме Python - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Доступ к трубе хоста Docker внутри контейнера Windows с пользователем не администратора
Anonymous » » в форуме C# - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Времена при подключении к названной трубе при открытии формы Windows в .NET 5.0
Anonymous » » в форуме C# - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-