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.
 
Thread 'What type of toilet do I have?'
I was enrolled in an online plumbing course at Stratford University. My plumbing textbook lists four types of residential toilets: 1# upflush toilets 2# pressure assisted toilets 3# gravity-fed, rim jet toilets and 4# gravity-fed, siphon-jet toilets. I know my toilet is not an upflush toilet because my toilet is not below the sewage line, and my toilet does not have a grinder and a pump next to it to propel waste upwards. I am about 99% sure that my toilet is not a pressure assisted...
After over 25 years of engineering, designing and analyzing bolted joints, I just learned this little fact. According to ASME B1.2, Gages and Gaging for Unified Inch Screw Threads: "The no-go gage should not pass over more than three complete turns when inserted into the internal thread of the product. " 3 turns seems like way to much. I have some really critical nuts that are of standard geometry (5/8"-11 UNC 3B) and have about 4.5 threads when you account for the chamfers on either...
Thread 'Physics of Stretch: What pressure does a band apply on a cylinder?'
Scenario 1 (figure 1) A continuous loop of elastic material is stretched around two metal bars. The top bar is attached to a load cell that reads force. The lower bar can be moved downwards to stretch the elastic material. The lower bar is moved downwards until the two bars are 1190mm apart, stretching the elastic material. The bars are 5mm thick, so the total internal loop length is 1200mm (1190mm + 5mm + 5mm). At this level of stretch, the load cell reads 45N tensile force. Key numbers...
Back
Top