Calculating the air venting flow rate needed during CIP of a tank

AI Thread Summary
The discussion focuses on calculating the air venting flow rate required during the cleaning-in-place (CIP) process of a tank, specifically due to temperature changes when hot water is rinsed with cool water. Three methods using the CoolProps module in Python yielded significantly different results for the venting flow rate, with Method 1 producing a negative value, indicating a potential error in calculations. The discrepancies are attributed to differences in how the time value is calculated across the methods, particularly in the use of specific heat capacities and enthalpy parameters. Additionally, it was noted that the cold rinse water heats the air, causing it to contract, which necessitates proper venting to accommodate the displaced volume. Clarifications were provided on the correct parameters to use for enthalpy and specific heat in the calculations.
Remusco
Messages
30
Reaction score
3
I have an application where I must calculate the venting flowrate of air required due to temperature change when hot tank is rinsed with cool water. The tank has spray nozzles inside so it can be cleaned in place. For the properties of the air in the tank I used the CoolProps module in Python.

I used three different methods to calculate the venting flowrate, as shown below:

METHOD 1:
Python:
from CoolProp.HumidAirProp import HAPropsSI
import numpy as np
import matplotlib.pyplot as plt


tank_height=(251/12)/3.281[/ICODE]
tank_diam=(104/12)/3.281[/ICODE]
tank_volume=tank_height*np.pi*0.25*tank_diam**2[/ICODE]

#tank air state before cooling
initial_air_pressure=100594
initial_air_temp=335.928
initial_air_specific_vol=HAPropsSI('Vha','T',initial_air_temp,'P',initial_air_pressure,'R',1)

#tank air state after cooling
final_air_pressure=100594
final_air_temp=285.928
final_air_specific_vol=HAPropsSI('Vha','T',final_air_temp,'P',final_air_pressure,'R',1)

#calculating the volume displaced by the cooling
air_mass=tank_volume/initial_air_specific_vol
volume_displaced=air_mass*(final_air_specific_vol-initial_air_specific_vol)

#heat lost by the water = heat gained by the air
vdot_CIP=.0053
rho_CIP=998
C_p_water=4184
mdot_CIP=rho_CIP*vdot_CIP
deltaT=final_air_temp-initial_air_temp
Qdot=mdot_CIP*C_p_water*deltaT

#time to cool the air
C_v_air=HAPropsSI('C','T',initial_air_temp,'P',final_air_pressure,'R',1)
time=air_mass*C_v_air/(mdot_CIP*C_p_water)
print(time)

#venting flowrate
vdot_air=volume_displaced/time
print(vdot_air)

METHOD 2:
Python:
from CoolProp.HumidAirProp import HAPropsSI
import numpy as np
import matplotlib.pyplot as plt

tank_height=(251/12)/3.281
tank_diam=(104/12)/3.281
tank_volume=tank_height*np.pi*0.25*tank_diam**2

#tank air state before cooling
initial_air_pressure=100594
initial_air_temp=335.928
initial_air_specific_vol=HAPropsSI('Vha','T',initial_air_temp,'P',initial_air_pressure,'R',1)

#tank air state after cooling
final_air_pressure=100594
final_air_temp=285.928
final_air_specific_vol=HAPropsSI('Vha','T',final_air_temp,'P',final_air_pressure,'R',1)

#calculating the volume displaced by the cooling
air_mass=tank_volume/initial_air_specific_vol
volume_displaced=air_mass*(final_air_specific_vol-initial_air_specific_vol)

#heat lost by the water = heat gained by the air
vdot_CIP=.0053
rho_CIP=998
C_p_water=4184
mdot_CIP=rho_CIP*vdot_CIP
deltaT=final_air_temp-initial_air_temp
Qdot=mdot_CIP*C_p_water*deltaT

#time to cool the air
initial_air_enthalpy=HAPropsSI('H','T',initial_air_temp,'P',initial_air_pressure,'R',1)
final_air_enthalpy=HAPropsSI('H','T',final_air_temp,'P',final_air_pressure,'R',1)
time=air_mass*(final_air_enthalpy-initial_air_enthalpy)/Qdot
print(time)

#venting flowrate
vdot_air=volume_displaced/time
print(vdot_air)

METHOD 3:
Python:
from CoolProp.HumidAirProp import HAPropsSI
import numpy as np
import matplotlib.pyplot as plt

tank_height=(251/12)/3.281
tank_diam=(104/12)/3.281
tank_volume=tank_height*np.pi*0.25*tank_diam**2

#tank air state before cooling
initial_air_pressure=100594
initial_air_temp=335.928
initial_air_specific_vol=HAPropsSI('Vha','T',initial_air_temp,'P',initial_air_pressure,'R',1)

#tank air state after cooling
final_air_pressure=100594
final_air_temp=285.928
final_air_specific_vol=HAPropsSI('Vha','T',final_air_temp,'P',final_air_pressure,'R',1)

#calculating the volume displaced by the cooling
air_mass=tank_volume/initial_air_specific_vol
volume_displaced=air_mass*(final_air_specific_vol-initial_air_specific_vol)

#heat lost by the water = heat gained by the air
vdot_CIP=.0053
rho_CIP=998
C_p_water=4184
mdot_CIP=rho_CIP*vdot_CIP
deltaT=final_air_temp-initial_air_temp
Qdot=mdot_CIP*C_p_water*deltaT

#time to cool the air
initial_air_enthalpy=HAPropsSI('U','T',initial_air_temp,'P',initial_air_pressure,'R',1)
final_air_enthalpy=HAPropsSI('U','T',final_air_temp,'P',final_air_pressure,'R',1)
time=air_mass*(final_air_enthalpy-initial_air_enthalpy)/Qdot
print(time)

#venting flowrate
vdot_air=volume_displaced/time
print(vdot_air)

My result for the vdot_air on each method is as follows:

METHOD 1:
-3.6722 kg/sec

METHOD 2:
-0.4986 kg/sec

METHOD 3:
-0.5431 kg/sec

I'm not sure why I am getting such different values for each. I know the difference lies in how I am calculating my time value; however, I would think all the methods would provide similar results.
 
Last edited by a moderator:
Engineering news on Phys.org
The calculated "tank_volume" is not shown in METHOD 1:.

METHOD 3: seems to use "tank_volume" as calculated in METHOD 2:

These may or may not be part of the problem.

Have Fun!
Tom
 
Tom.G said:
The calculated "tank_volume" is not shown in METHOD 1:.

METHOD 3: seems to use "tank_volume" as calculated in METHOD 2:

These may or may not be part of the problem.

Have Fun!
Tom
The tank volume is the same for all three.
 
Method 1:
Remusco said:
C_v_air=HAPropsSI('C','T',initial_air_temp,'P',final_air_pressure,'R',1)
This will give C_p_air. Use CV instead of C for C_v_air. (Reference)

Method 2:
Remusco said:
initial_air_enthalpy=HAPropsSI('H','T',initial_air_temp,'P',initial_air_pressure,'R',1)
final_air_enthalpy=HAPropsSI('H','T',final_air_temp,'P',final_air_pressure,'R',1)
You are using the correct parameter H to get the enthalpy here.

Method 3:

Remusco said:
initial_air_enthalpy=HAPropsSI('U','T',initial_air_temp,'P',initial_air_pressure,'R',1)
final_air_enthalpy=HAPropsSI('U','T',final_air_temp,'P',final_air_pressure,'R',1)
U is not listed in the parameter's list but I can only assume it means internal energy and not enthalpy.

You seem to want to evaluate heat lost by the water = heat gained by the air. What motivates you to use either of these methods for this purpose?
 
How was the temperature differential considered in method #1?

Specific-Heat.jpg
 
jack action said:
Method 1:

This will give C_p_air. Use CV instead of C for C_v_air. (Reference)

Method 2:

You are using the correct parameter H to get the enthalpy here.

Method 3:

U is not listed in the parameter's list but I can only assume it means internal energy and not enthalpy.

You seem to want to evaluate heat lost by the water = heat gained by the air. What motivates you to use either of these methods for this purpose?
The cold rinse water will heat the cold air and cause it to contract. The vent needs to be able to suck in that displaced volume.
 
Posted June 2024 - 15 years after starting this class. I have learned a whole lot. To get to the short course on making your stock car, late model, hobby stock E-mod handle, look at the index below. Read all posts on Roll Center, Jacking effect and Why does car drive straight to the wall when I gas it? Also read You really have two race cars. This will cover 90% of problems you have. Simply put, the car pushes going in and is loose coming out. You do not have enuff downforce on the right...
I'm trying to decide what size and type of galvanized steel I need for 2 cantilever extensions. The cantilever is 5 ft. The space between the two cantilever arms is a 17 ft Gap the center 7 ft of the 17 ft Gap we'll need to Bear approximately 17,000 lb spread evenly from the front of the cantilever to the back of the cantilever over 5 ft. I will put support beams across these cantilever arms to support the load evenly
Thread 'What's the most likely cause for this carbon seal crack?'
We have a molded carbon graphite seal that is used in an inline axial piston, variable displacement hydraulic pump. One of our customers reported that, when using the “A” parts in the past, they only needed to replace them due to normal wear. However, after switching to our parts, the replacement cycle seems to be much shorter due to “broken” or “cracked” failures. This issue was identified after hydraulic fluid leakage was observed. According to their records, the same problem has occurred...
Back
Top